All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- (libcrux-hmac-drbg) #1558: fix panic in reseeding wrappers fill_bytes method
- (libcrux-platform) #1591: Avoid data races in x86 feature detection
- (libcrux-platform) #1591: Handle feature detection on Intel SGX and CPUs without cpuid
- (libcrux-platform) #1592: Check xgetbv output for AVX2 availability
- (libcrux-psq) #1594: Introduce
SessionError::ReachedMaxMessageserror variant for transport channel exhaustion; clamprecent_keys_upper_bound(0)to1so it can no longer silently disable the responder's rate-limit cache - (libcrux-kem) #1595: Reject invalid/short seed lengths in
PublicKey::encapsulate_derandwithout panicking; ReturnSs::MlKem512variant instead ofSs::MlKem768variant when decapsulatingCt::MlKem512ciphertext
- (libcrux-macros) #1550: Update syn dependency to 3.0
- (libcrux-secrets) #1551 Update crabgrind to 0.3.1
- (libcrux-hmac-drbg) #1558: rename
GenerateError::RequestInvalidto `GenerateError::OutputTooLarge - (hpke-rs-rust-crypto) #1602 Update the RustCrypto dependencies:
p256,k256andp384to0.14,x25519-dalekto3,chacha20poly1305to0.11,aes-gcmto0.11, and the (experimental)x-wingandml-kemto their0.1/0.3releases.
- (hpke-rs) #1539: Support for the
post-quantum and PQ/T-hybrid algorithms of
draft-ietf-hpke-pq,
in the libcrux provider only, behind the new
draft-ietf-hpke-pqfeature. - (libcrux-p256) #1586: Expose constants used in
Ecdh*trait implementations - (libcrux-nist-kdf) #1608: SP 800-108 feedback mode KDF and SP 800-56Cr2 two-step KDF
- (libcrux-sha3) #1493: Provide instantiable
libcrux-traitsincremental hashing API - (libcrux-secrets) #1460: Fix incorrect cmp in aarch64 select/swap implementation
- (libcrux-sha3) #1456: Fix out of bounds indexing in avx2 SHAKE-256 implementation
- (libcrux-sha3) #1389: Fix partial Block output of incremental XOF API
- (libcrux-aes) #1474: Enforce limits on plaintext and AAD lengths for AES-GCM, according to RFC 5116.
- (libcrux-aes) #1528: Use constant time comparison for AES-GCM and AES-CCM tag check
- #1534: Update dependencies:
libcrux-blake2,libcrux-sha3,libcrux-sha2,libcrux-curve25519,libcrux-aes,libcrux-chacha20poly1305,libcrux-ml-dsa,libcrux-ml-kem,libcrux-rsa,libcrux-ed25519,libcrux-digest,libcrux-hmac,libcrux-p256,libcrux-aead,libcrux-hkdf,libcrux-ecdsa,libcrux-ecdh,libcrux-kem,libcrux-psq,hpke-rs - #1505: Update dependency:
hpke-rs - (libcrux-traits, libcrux-sha3, libcrux-sha2, libcrux-blake2) #1493:
finishmethods on digest traits consume the hasher - (libcrux-secrets) #1446: Remove const qualifier of secret types constructors
- (libcrux-secrets) #1462: More robust casts instead of transmutes when checking secret independence
- (libcrux-sha3) 1454:
debug_assertthat genericLENmatches algorithm inhashfunction - (libcrux-secrets) #1484: seal scalar trait and synchronize De-/Classify trait impls for public/secret types
- (libcrux-secrets) #1499: Replace
IntOpsandEncodeOpstraits with inherent methods onSecret(https://github.com/Arul-Sujith)
- #1474: Add support for AES-CCM from
libcrux-aes, rename featureaes_gcmtoaes_aead - #1382: Add support for HMAC-DRBG
- (libcrux-secrets) #1446: Integrate valgrind requests when cfg
valgrind_ct_testis set - (libcrux-ml-dsa) #1457: Add dependency on libcrux-secrets for optional valgrind integration
- (libcrux-kmac) #1292: Add support for KMAC (https://github.com/kraemv)
- (libcrux-sha3) #1292: Add support for incremental CShake (https://github.com/kraemv)
- (libcrux-hmac) #1382: Add an incremental API
- (libcrux-ml-dsa) #1398: Fix incorrect AVX2 use_hint implementation
- (libcrux-ml-dsa) #1395: Fully reduce iNTT inputs on AVX2
- (libcrux-chacha20poly1305) #1386: Fix potential panic in
libcrux_chacha20poly1305::encrypt(reported by @fg0x0)
- (libcrux-hmac) #1391: Remove support for HMAC-SHA1
- #1434: Update dependencies:
libcrux-hacl-rs,libcrux-poly1305,libcrux-curve25519 - #1433: Update dependencies:
libcrux-traits,libcrux-ed25519,libcrux-ml-kem,libcrux-kem,libcrux-aesgcm,libcrux-blake2,libcrux-chacha20poly1305,libcrux-p256,libcrux-curve25519,libcrux-sha3,libcrux-sha2,libcrux-hmac,libcrux-hkdf,libcrux-rsa,libcrux-ecdsa,libcrux-ecdh,libcrux-digest,libcrux-psq,libcrux-ml-dsa,libcrux-aead - #1412: Update dependencies:
libcrux-aead,libcrux-aesgcm,libcrux-chacha20poly1305,libcrux-ecdsa,libcrux-hkdf,libcrux-hmac,libcrux-kem,libcrux-ml-dsa,libcrux-psq,libcrux-ecdh,libcrux-hpke-rs - (libcrux-ecdh) #1385: Update RNG trait bounds on key generation functions from rand v0.9
Rngtrait to rand v0.10Rngtrait - (libcrux-ecdsa) #1385: Dropped
Rngbounds onrandfeature - (libcrux-aesgcm) #1385: Remove empty cargo feature
rand