From 448a85b949c7bb8215e890b21d1ac79a1aefeb9a Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Sat, 2 Mar 2024 20:10:17 -0500 Subject: content/posts/2023-09-05-c11-sha3.md: add v0.6 release note, update text to reflect v0.6 --- content/posts/2023-09-05-c11-sha3.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/content/posts/2023-09-05-c11-sha3.md b/content/posts/2023-09-05-c11-sha3.md index 0b0d45a..8e7ed66 100644 --- a/content/posts/2023-09-05-c11-sha3.md +++ b/content/posts/2023-09-05-c11-sha3.md @@ -4,15 +4,16 @@ title: "C11 SHA-3" date: "2023-09-05T02:25:14-04:00" --- This weekend I put together a [C11][] implementation of the following -[SHA-3][] algorithms from [FIPS 202][] and [SP 800-185][800-185]: +[SHA-3][] algorithms from [FIPS 202][], [SP 800-185][800-185], and the +[draft KangarooTwelve and TurboSHAKE specification][turboshake-ietf]: * SHA3-224, SHA3-256, SHA3-384, and SHA3-512 -* HMAC-SHA3-224, HMAC-SHA3-256, HMAC-SHA3-384, and HMAC-SHA3-512 * SHAKE128, SHAKE128-XOF, SHAKE256, and SHAKE256-XOF +* HMAC-SHA3-224, HMAC-SHA3-256, HMAC-SHA3-384, and HMAC-SHA3-512 * cSHAKE128, cSHAKE128-XOF, cSHAKE256, and cSHAKE256-XOF * KMAC128, KMAC128-XOF, KMAC256, and KMAC256-XOF * TupleHash128, TupleHash128-XOF, TupleHash256, and TupleHash256-XOF -* ParallelHash128, ParallelHash128-XOF ParallelHash256, and ParallelHash256-XOF +* ParallelHash128, ParallelHash128-XOF, ParallelHash256, and ParallelHash256-XOF * TurboSHAKE128 and TurboSHAKE256 * KangarooTwelve @@ -20,13 +21,12 @@ This weekend I put together a [C11][] implementation of the following ## Features -* [MIT licensed][mit] +* [MIT-0 licensed][mit] * Standard [C11][] with no external dependencies. * No allocations. * Easy to embed: drop `sha3.h` and `sha3.c` into your application. * Full Doxygen API documentation (available online [here][api-docs]). -* Full test suite based on test vectors from the [NIST CSRC Examples - with Intermediate Values][csrc-examples] page. +* Full test suite based on test vectors from the [NIST Cryptographic Algorithm Validation Program (CAVP)][cavp], the [NIST CSRC Examples with Intermediate Values page][csrc-examples]. and the [Test Vectors section of the draft KangarooTwelve and TurboSHAKE specification][turboshake-ietf-test-vectors]. ## Example @@ -89,6 +89,10 @@ improvements. improvements and additional examples. added [online API documentation][api-docs]. +**Update (2024-03-02):** Released v0.6 with speed improvements, +simplified SHAKE API, and documentation updates. Added [CAVP][] test +vectors. + [C11]: https://en.wikipedia.org/wiki/C11_(C_standard_revision) "ISO/IEC 9899:2011" [SHA-3]: https://en.wikipedia.org/wiki/SHA-3 @@ -107,3 +111,11 @@ documentation][api-docs]. "AVX-512 x86-64 SIMD instructions." [api-docs]: https://pmdn.org/api-docs/sha3/ "online API documentation" +[cavp]: https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/Secure-Hashing + "NIST Cryptographic Algorithm Validation Program (CAVP)" +[turboshake]: https://eprint.iacr.org/2023/342.pdf + "TurboSHAKE" +[turboshake-ietf]: https://www.ietf.org/archive/id/draft-irtf-cfrg-kangarootwelve-10.html + "KangarooTwelve and TurboSHAKE" +[turboshake-ietf-test-vectors]: https://www.ietf.org/archive/id/draft-irtf-cfrg-kangarootwelve-10.html#name-test-vectors + "KangarooTwelve and TurboSHAKE test vectors" -- cgit v1.2.3