aboutsummaryrefslogtreecommitdiff
path: root/content/posts
diff options
context:
space:
mode:
Diffstat (limited to 'content/posts')
-rw-r--r--content/posts/2024-03-04-new-releases-of-c11-sha3-and-c11-fips203ipd.md91
1 files changed, 91 insertions, 0 deletions
diff --git a/content/posts/2024-03-04-new-releases-of-c11-sha3-and-c11-fips203ipd.md b/content/posts/2024-03-04-new-releases-of-c11-sha3-and-c11-fips203ipd.md
new file mode 100644
index 0000000..f9472b8
--- /dev/null
+++ b/content/posts/2024-03-04-new-releases-of-c11-sha3-and-c11-fips203ipd.md
@@ -0,0 +1,91 @@
+---
+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"