Skip to content

Commit 57ae842

Browse files
authored
ml-kem v0.3.0 (#293)
## 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)
1 parent 2e94fb2 commit 57ae842

3 files changed

Lines changed: 64 additions & 3 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ml-kem/CHANGELOG.md

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,73 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## 0.3.0 (UNRELEASED)
8+
## 0.3.0 (2026-04-28)
9+
### Added
10+
- `Seed` support e.g. `DecapsulationKey::from_seed` ([#133], [#138])
11+
- PKCS#8 support ([#135])
12+
- `KeyInit`, `KeySizeUser`, and `KeyExport` impls for decapsulation keys ([#156], [#228])
13+
- Parameter set modules: `ml_kem_512`, `mk_kem_768`, `mk_kem_1024` ([#162])
14+
- `DecapsulationKey::from_expanded` deprecated compatibility support ([#163])
15+
- `TryKeyInit` and `KeyExport` impls for encapsulation keys ([#188])
16+
- Validations against Wycheproof test vectors ([#213], [#214], [#215], [#217])
17+
- Implement `kem::Kem` trait ([#223])
18+
- Support for `kem::FromSeed` trait ([#255])
19+
920
### Changed
1021
- Edition changed to 2024 and MSRV bumped to 1.85 ([#118])
1122
- Relax MSRV policy and allow MSRV bumps in patch releases
23+
- Upgrade `hybrid-array` dependency to 0.4 ([#129])
24+
- Extract `module-lattice` crate ([#199], [#202], [#204], [#209], [#210], [#211], [#212], [#218],
25+
[#219], [#220])
26+
- Replace `EncodedSizeUser` with `ExpandedKeyEncoding` ([#226])
27+
- Bump `getrandom` to v0.4 ([#245])
28+
- Bump `rand_core` to v0.10 ([#245])
29+
- Migrate from `subtle` to `ctutils` ([#277])
30+
- Bump `sha3` dependency to v0.11 ([#282])
31+
- Bump `kem` dependency to v0.3 ([#283])
32+
- Bump `pkcs8` dependency to v0.11 ([#291])
33+
34+
### Fixed
35+
- Validate encryption/encapsulation keys ([#179])
36+
- Validate expanded decapsulation key hash ([#207])
37+
38+
### Removed
39+
- `Kem` struct and `KemCore` trait - replaced by `kem::Kem` ([#223])
1240

1341
[#118]: https://github.com/RustCrypto/KEMs/pull/118
42+
[#129]: https://github.com/RustCrypto/KEMs/pull/129
43+
[#133]: https://github.com/RustCrypto/KEMs/pull/133
44+
[#135]: https://github.com/RustCrypto/KEMs/pull/135
45+
[#138]: https://github.com/RustCrypto/KEMs/pull/138
46+
[#156]: https://github.com/RustCrypto/KEMs/pull/156
47+
[#162]: https://github.com/RustCrypto/KEMs/pull/162
48+
[#163]: https://github.com/RustCrypto/KEMs/pull/163
49+
[#179]: https://github.com/RustCrypto/KEMs/pull/179
50+
[#188]: https://github.com/RustCrypto/KEMs/pull/188
51+
[#199]: https://github.com/RustCrypto/KEMs/pull/199
52+
[#202]: https://github.com/RustCrypto/KEMs/pull/202
53+
[#204]: https://github.com/RustCrypto/KEMs/pull/204
54+
[#207]: https://github.com/RustCrypto/KEMs/pull/207
55+
[#209]: https://github.com/RustCrypto/KEMs/pull/209
56+
[#210]: https://github.com/RustCrypto/KEMs/pull/210
57+
[#211]: https://github.com/RustCrypto/KEMs/pull/211
58+
[#212]: https://github.com/RustCrypto/KEMs/pull/212
59+
[#213]: https://github.com/RustCrypto/KEMs/pull/213
60+
[#214]: https://github.com/RustCrypto/KEMs/pull/214
61+
[#215]: https://github.com/RustCrypto/KEMs/pull/215
62+
[#217]: https://github.com/RustCrypto/KEMs/pull/217
63+
[#218]: https://github.com/RustCrypto/KEMs/pull/218
64+
[#219]: https://github.com/RustCrypto/KEMs/pull/219
65+
[#220]: https://github.com/RustCrypto/KEMs/pull/220
66+
[#223]: https://github.com/RustCrypto/KEMs/pull/223
67+
[#226]: https://github.com/RustCrypto/KEMs/pull/226
68+
[#228]: https://github.com/RustCrypto/KEMs/pull/228
69+
[#245]: https://github.com/RustCrypto/KEMs/pull/245
70+
[#255]: https://github.com/RustCrypto/KEMs/pull/255
71+
[#277]: https://github.com/RustCrypto/KEMs/pull/277
72+
[#282]: https://github.com/RustCrypto/KEMs/pull/282
73+
[#283]: https://github.com/RustCrypto/KEMs/pull/283
74+
[#291]: https://github.com/RustCrypto/KEMs/pull/291
1475

1576
## 0.2.3 (2026-02-17)
1677
### Fixed

ml-kem/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description = """
44
Pure Rust implementation of the Module-Lattice-Based Key-Encapsulation Mechanism Standard
55
(formerly known as Kyber) as described in FIPS 203
66
"""
7-
version = "0.3.0-rc.2"
7+
version = "0.3.0"
88
edition = "2024"
99
rust-version = "1.85"
1010
license = "Apache-2.0 OR MIT"

0 commit comments

Comments
 (0)