--- slug: new versions of sha3 and fips203ipd title: "New Releases of C11 SHA-3 and C11 FIPS 203 IPD" date: "2024-03-04T12:21:09-04:00" --- Two new releases: * [sha3 v0.6][sha3-git] * [fips203ipd v0.3][fips203ipd-git] ### sha3 Embedable, dependency-free, [MIT-0][] licensed, [C11][] implementation of all algorithms from [FIPS 202][], [SP 800-185][800-185], and the [draft KangarooTwelve and TurboSHAKE specification][turboshake-ietf]. [Git Repository][sha3-git], [API Documentation][sha3-api-docs], [Original Announcement][sha3-announce] #### Changes in v0.6 * Improve speed of absorb, squeeze, and scalar Keccak permutation. * Refactor SHAKE128 and SHAKE256 functions. * Add [CAVP][] tests in `tests/cavp-tests`. * Documentation improvements. ### fips203ipd Embedable, dependency-free, [MIT-0][] licensed, [C11][] implementation of the [FIPS 203 initial public draft (IPD)][fips203ipd]. The final version of [FIPS 203][fips203ipd] will become ML-KEM, [NIST's][nist] standarized post-quantum [key encapsulation mechanism (KEM)][kem]. [Git Repository][fips203ipd-git], [API Documentation][fips203ipd-api-docs], [Original Announcement][fips203ipd-announce] #### Changes in v0.3 * Add [AVX512][] polynomial addition, subtraction, and multiplication. * Faster scalar [Barrett reduction][] and scalar polynomial multiplication. * Upgrade to [sha3 v0.6][sha3-git] for faster hash/XOF performance. * Add [NIST draft ML-KEM test vectors][nist-tests] to self tests and as `examples/2-nist-tests/`. * Embed hash/XOF functions, remove `sha3.[hc]`. * Documentation improvements. [sha3-git]: https://github.com/pablotron/sha3 "Embedable, dependency-free, MIT-0 licensed, C11 implementation of FIPS 202 (SHA-3 and SHAKE), SP 800-185 (cSHAKE, KMAC, TupleHash, ParallelHash), TurboSHAKE, and KangarooTwelve." [sha3-api-docs]: https://pmdn.org/api-docs/fips203ipd/ "online API documentation" [sha3-announce]: {{< relref "posts/2023-09-05-c11-sha3.md" >}} "Original release announcement." [fips203ipd-git]: https://github.com/pablotron/fips203ipd "Embedable, dependency-free, MIT-0 licensed, C11 implemention of the FIPS 203 initial public draft (IPD)." [fips203ipd-api-docs]: https://pmdn.org/api-docs/fips203ipd/ "Online API documentation" [fips203ipd-announce]: {{< relref "posts/2023-10-07-c11-fips203ipd.md" >}} "Original release announcement." [mit-0]: https://opensource.org/license/mit-0/ "MIT No Attribution License" [C11]: https://en.wikipedia.org/wiki/C11_(C_standard_revision) "ISO/IEC 9899:2011" [SHA-3]: https://en.wikipedia.org/wiki/SHA-3 "Secure Hash Algorithm 3" [FIPS 202]: https://csrc.nist.gov/pubs/fips/202/final "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions" [800-185]: https://csrc.nist.gov/pubs/sp/800/185/final "SHA-3 Derived Functions: cSHAKE, KMAC, TupleHash, and ParallelHash" [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" [csrc-examples]: https://csrc.nist.gov/projects/cryptographic-standards-and-guidelines/example-values "NIST CSRC: Cryptographic Standards and Guidelines: Examples with Intermediate Values" [cavp]: https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/Secure-Hashing "NIST Cryptographic Algorithm Validation Program (CAVP)" [fips203ipd]: https://csrc.nist.gov/pubs/fips/203/ipd "FIPS 203 (Initial Public Draft): Module-Lattice-Based Key-Encapsulation Mechanism Standard" [kem]: https://en.wikipedia.org/wiki/Key_encapsulation_mechanism "Key encapsulation mechanism." [nist]: https://nist.gov/ "National Institute of Standards and Technology" [avx512]: https://en.wikipedia.org/wiki/AVX-512 "Advanced Vector Extensions (AVX) SIMD instructions." [barrett reduction]: https://en.wikipedia.org/wiki/Barrett_reduction "Barrett modular reduction" [nist-tests]: https://csrc.nist.gov/Projects/post-quantum-cryptography/post-quantum-cryptography-standardization/example-files "NIST: Intermediate Values for draft ML-KEM and draft ML-DSA"