Skip to content

ml-kem: Wycheproof tests that actually exercise decapsulation#217

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

ml-kem: Wycheproof tests that actually exercise decapsulation#217
tarcieri merged 1 commit intomasterfrom
ml-kem/wycheproof-full-decaps-test

Conversation

@tarcieri
Copy link
Copy Markdown
Member

These tests files are simply:

  • mlkem_512_test.json
  • mlkem_768_test.json
  • mlkem_1024_test.json

They include seeds we can use to generate the decapsulation keys, along with their associated encapsulation keys (which we test are correct), as well as a ciphertext and the decrypted shared secret, all of which are now tested.

These tests files are simply:
- `mlkem_512_test.json`
- `mlkem_768_test.json`
- `mlkem_1024_test.json`

They include seeds we can use to generate the decapsulation keys, along
with their associated encapsulation keys (which we test are correct),
as well as a ciphertext and the decrypted shared secret, all of which
are now tested.
@tarcieri tarcieri force-pushed the ml-kem/wycheproof-full-decaps-test branch from bce12b1 to b7ff65d Compare January 29, 2026 20:45
@tarcieri tarcieri merged commit bcfcda7 into master Jan 29, 2026
23 checks passed
@tarcieri tarcieri deleted the ml-kem/wycheproof-full-decaps-test branch January 29, 2026 20:49
@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