Skip to content

ml-kem: add initial Wycheproof test vectors#213

Merged
tarcieri merged 1 commit intomasterfrom
ml-kem/wycheproof
Jan 29, 2026
Merged

ml-kem: add initial Wycheproof test vectors#213
tarcieri merged 1 commit intomasterfrom
ml-kem/wycheproof

Conversation

@tarcieri
Copy link
Copy Markdown
Member

Uses a similar strategy to ml-dsa (and rsa), cloning the Wycheproof test vectors as a submodule and parsing the JSON files directly.

Adds the following as an initial integration:

  • mlkem_512_keygen_seed_test
  • mlkem_768_keygen_seed_test
  • mlkem_1024_keygen_seed_test

Uses a similar strategy to `ml-dsa` (and `rsa`), cloning the Wycheproof
test vectors as a submodule and parsing the JSON files directly.

Adds the following as an initial integration:
- `mlkem_512_keygen_seed_test`
- `mlkem_768_keygen_seed_test`
- `mlkem_1024_keygen_seed_test`
@tarcieri tarcieri merged commit b2fc552 into master Jan 29, 2026
23 checks passed
@tarcieri tarcieri deleted the ml-kem/wycheproof branch January 29, 2026 17:59
@tarcieri tarcieri mentioned this pull request Jan 29, 2026
@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