-
bits()insrc/util.rsnow produces all bits from its input slice instead ofmin(input_len, 8). This restores the full identity space for the KV1 and Waters schemes, which previously collapsed to 2^8 = 256. Fixes #12 via #13.Breaking for KV1 and Waters users: identity derivation for these two schemes now produces different values, so user secret keys (USKs) and ciphertexts issued by a 0.3.0 build are not compatible with 0.4.0. The other schemes (CGWKV, CGWFO, CGW, Boyen-Waters, Waters-Naccache) are unaffected.
- Bumped
criteriondev-dependency to 0.8 (#26). - Replaced the unmaintained
pastedev-dependency withpastey(#31, addresses RUSTSEC-2024-0436). - Standardized README to the org-wide format and added the PostGuard logo (#11).
- Cleaned up clippy warnings throughout the crate (#16, #21).
- Dropped AI-slop phrasing from README and
mkemdoc comment (#24).
- Replaced the deprecated
wasm32-wasitarget withwasm32-wasip1in CI. - README reference
src/pke→src/ibe(#20). - Silence unused-import warning in the
test_ibemacro (#34).
- Commented-out
unpack_pkbenchmark (#19).
- Changed multi-user key encapsulation, see this PR.
- Changed
irmaseal-curve 0.1.4topg-curve 0.2.0(includesbls12_381 0.8).
- w-NAF precomputations speedups in all CGW schemes.
- reference IACR eprint version in
CGWKVCCA construction.
- All publicly exposed structs are
Debug(#[deny(missing_debug_implementations)]).
- renamed
mrmodule tomkem. - renamed
pkemodule toibe. - Multirecipient encapsulation now returns an iterator.
- Binary that prints the sizes. No longer required since constants are now listed on docs.rs.
- Seperation of KEMs and IBEs and their respective traits (
IBKEM,IBE). - New anonymous schemes (some CCA-transformed): Chen-Gay-Wee, Boyen-Waters.
- Support for multi-encapsulation (under the
mrfeature).
- Bumped dependencies to
irmaseal_curve 0.1.4, which forksbls12_381 0.7.0. - Speedup several other KEMs using
multi_miller_loop.