Releases: smuellerDD/leancrypto
v0.7.0
-
enhancement: add XDRBG256 - the SHAKE256-based DRNG discussed for SP800-90A
inclusion (almost idential to cSHAKE/KMAC DRNG specified with leancrypto) -
enhancement: add SymKMAC AEAD algorithm - it uses 100 bytes less context than
SymHMAC (it is less than 1024 bytes now), uses accelerated Keccak for KDF and
authentication but is otherwise identical to SymHMAC -
Kyber: switch responder and initiator definitions
-
enhancement: add ESDM seed source to seed lc_seeded_rng
-
editorial: reformat code using clang-format and provided configuration file
-
Dilithium: Update implementation to match FIPS 204 (draft from Aug 24, 2023)
-
Kyber: Update implementation to match FIPS 203 (draft from Aug 24, 2023)
-
enhancement: Dilithium and Kyber security strengths are selectable via Meson options
-
Kyber KEM: Update shared secret KDF (as the KDF is now removed from FIPS 203,
it can be adjusted to be more performant and consistent with SP800-108) -
Kyber KEX: Updated shared secret KDF to use SP800-108 compliant KMAC KDF
-
enhancement: Add input parameter validatino to Kyber as specified in FIPS 203
-
enhancement: consolidate all testing requiring an RNG to use selftest_rng
Full Changelog: v0.6.0...v0.7.0
v0.6.0
-
enhancement: Linux - add memfd_secret(2) support for secure memory allocation
-
fix: documentation of lc_kyber_keypair
-
enhancement: remove the rng_ctx parameter in all Kyber APIs except the key generation - internally lc_seeded_rng is used instead
-
enhancement: use -Wmissing-prototypes and fix reported issues
-
enhancement: provde standalone CBC, CTR, KW implementation
-
enhancement: provide AESNI implementation
-
enhancement: provide AES ARM CE implementation
-
enhancement: provide AES RISC-V 64 assembler implementation
-
enhancement: provide Linux kernel configuration option to enable startup health tests
-
fix: apply fixes such that all self tests and regression tests pass when compiled for Linux kernel
-
fix: properly zeroize memory when using the workspace memory
v0.5.3
-
convert to safe min/max implementations
-
enhancement: allow kernel modules to be compiled directly from installed user space headers
-
enhancement: make ARMv8 code compile on macOS
- use O3 compiler optimization instead of Os - O3 is significantly faster especially for Kyber C implementation, yet both options work fine
v0.5.2
enhancement: add ARMv7 Neon assembler support for Keccak
enhancement: add but disable ARMv8 Neon assembler support for Keccak (it is slower than optimized C)
enhancement: add sign/update/final Dilithium APIs
enhancement: add RISC-V assembler support for Keccak (yet disabled)
enhancement: add ARMv8 assembler implementation of Kyber
enhancement: add counter KDF RNG interface
enhancement: add ARMv8 assembler and ARMv8 CE Keccak support
Full Changelog: v0.5.1...v0.5.2