Skip to content

ml-kem+xwing: add KeyInit and KeySizeUser impls#156

Merged
tarcieri merged 1 commit intomasterfrom
ml-kem+x-wing/key-init-impls
Oct 30, 2025
Merged

ml-kem+xwing: add KeyInit and KeySizeUser impls#156
tarcieri merged 1 commit intomasterfrom
ml-kem+x-wing/key-init-impls

Conversation

@tarcieri
Copy link
Copy Markdown
Member

...to the decapsulator types, which initialize from a seed

...to the decapsulator types, which initialize from a seed
@tarcieri
Copy link
Copy Markdown
Member Author

Note: dhkem is built entirely around ephemeral keys generated by an RNG, so we can't add similar impls there (good thing there's not a supertrait bound)

@tarcieri tarcieri merged commit 9a17f93 into master Oct 30, 2025
39 checks passed
@tarcieri tarcieri deleted the ml-kem+x-wing/key-init-impls branch October 30, 2025 20:38
@tarcieri tarcieri mentioned this pull request Apr 28, 2026
tarcieri added a commit that referenced this pull request Apr 28, 2026
## Added
- `Seed` support e.g. `DecapsulationKey::from_seed` (#133, #138)
- PKCS#8 support (#135)
- `KeyInit`, `KeySizeUser`, and `KeyExport` impls for decapsulation keys
  (#156, #228)
- Parameter set modules: `ml_kem_512`, `mk_kem_768`, `mk_kem_1024`
  (#162)
- `DecapsulationKey::from_expanded` deprecated compatibility support
  (#163)
- `TryKeyInit` and `KeyExport` impls for encapsulation keys (#188)
- Validations against Wycheproof test vectors (#213, #214, #215,
  #217)
- Implement `kem::Kem` trait (#223)
- Support for `kem::FromSeed` trait (#255)

## Changed
- Edition changed to 2024 and MSRV bumped to 1.85 (#118)
- Relax MSRV policy and allow MSRV bumps in patch releases
- Upgrade `hybrid-array` dependency to 0.4 (#129)
- Extract `module-lattice` crate (#199, #202, #204, #209,
  #210, #211, #212, #218, #219, #220)
- Replace `EncodedSizeUser` with `ExpandedKeyEncoding` (#226)
- Bump `getrandom` to v0.4 (#245)
- Bump `rand_core` to v0.10 (#245)
- Migrate from `subtle` to `ctutils` (#277)
- Bump `sha3` dependency to v0.11 (#282)
- Bump `kem` dependency to v0.3 (#283)
- Bump `pkcs8` dependency to v0.11 (#291)

## Fixed
- Validate encryption/encapsulation keys (#179)
- Validate expanded decapsulation key hash (#207)

## Removed
- `Kem` struct and `KemCore` trait - replaced by `kem::Kem` (#223)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant