Skip to content

ml-kem: define parameter set modules#162

Merged
tarcieri merged 2 commits intomasterfrom
ml-kem/parameter-set-modules
Nov 2, 2025
Merged

ml-kem: define parameter set modules#162
tarcieri merged 2 commits intomasterfrom
ml-kem/parameter-set-modules

Conversation

@tarcieri
Copy link
Copy Markdown
Member

@tarcieri tarcieri commented Oct 31, 2025

Defines the following modules:

  • ml_kem_512
  • ml_kem_768
  • ml_kem_1024

Each contains the ParameterSet definition for the given security level (re-exported at the toplevel) along with type aliases for DecapsulationKey and EncapsulationKey.

The documentation has been updated to use such a type alias for DecapsulationKey as originally proposed in #161

Defines the following modules:

- `ml_kem_512`
- `ml_kem_768`
- `ml_kem_1024`

Each contains the `ParameterSet` definition for the given security level
(re-exported at the toplevel) along with type aliases for
[`DecapsulationKey`] and [`EncapsulationKey`].

The documentation has been updated to use such a type alias for
`DecapsulationKey` as originally proposed in #161
@tarcieri tarcieri merged commit eb189d7 into master Nov 2, 2025
23 checks passed
@tarcieri tarcieri deleted the ml-kem/parameter-set-modules branch November 2, 2025 20:07
@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