Repository navigation
Migration from 0.4.x
- MSRV is 1.85 (was 1.70).
Phis removed.try_hash_sign,try_hash_sign_with_rngandhash_verifytake a digest and a DER-encoded OID (seepre_hash) instead of the message. A digest of the wrong length for apre_hashOID (SHAKE128: 32 bytes, SHAKE256: 64), a digest over 1024 bytes, or a malformed OID is an error on sign andfalseon verify.- Cargo features use hyphens:
slh-dsa-sha2-128s, notslh_dsa_sha2_128s, for all twelve sets. Module names are unchanged. KeyGen::keygen_with_seedsis renamedkeygen_from_seed. A seed of the wrong length fails to build (0.4 panicked at run time).SerDes::try_from_bytestakes the byte array by value:try_from_bytes(bytes), nottry_from_bytes(&bytes).KGno longer implementsZeroizeorZeroizeOnDrop.
Added
libfips205(cratefips205-ffi): a C library and Python bindings for the four 128-bit sets, including HashSLH-DSA.pre_hash: DER-encoded OIDs of the pre-hash functions, fortry_hash_signandhash_verify.CryptoRng,RngCoreandRngErrorare re-exported fromrand_core0.6.
Changed
Signer::get_public_keyis#[must_use].- Signing time no longer varies with the message digest: every signature makes the same number of hash calls. Signatures are unchanged.
- Key generation and signing zeroize their randomness and secret intermediate values, best effort: copies of keys that are moved or passed by value can remain on the stack.
- Building the crate itself, as distributions do, no longer fails on new compiler warnings or with no parameter-set feature.
Removed
- Deprecated
_test_only_raw_signand_test_only_raw_verify. Test hooks are behind theacvp-internalfeature, which is not for applications.
On crates.io: fips205 0.5.0 and fips205-ffi 0.5.0 · API docs