Skip to content

Commit

Permalink
Integrating verified ML-KEM in libcrux-kem
Browse files Browse the repository at this point in the history
  • Loading branch information
jschneider-bensch committed Jun 21, 2024
1 parent e346e99 commit cb11230
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
1 change: 1 addition & 0 deletions libcrux-kem/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ rand = { version = "0.8" }
[features]
tests = [] # Expose functions for testing.
kyber = ["libcrux-ml-kem/kyber"]
pre-verification = ["libcrux-ml-kem/pre-verification"]

[dev-dependencies]
libcrux-kem = { version = "0.0.2-pre.2", path = "./", features = ["tests"] }
Expand Down
10 changes: 5 additions & 5 deletions libcrux-kem/src/kem.rs
Original file line number Diff line number Diff line change
Expand Up @@ -481,7 +481,7 @@ impl PrivateKey {
.map_err(|_| Error::InvalidPrivateKey)
.map(Self::MlKem768),
Algorithm::X25519MlKem768Draft00 => {
let key: [u8; MlKem768PrivateKey::len() + 32] =
let key: [u8; MlKem768PrivateKey::size() + 32] =
bytes.try_into().map_err(|_| Error::InvalidPrivateKey)?;
let (xsk, ksk) = key.split_at(32);
Ok(Self::X25519MlKem768Draft00(
Expand Down Expand Up @@ -787,7 +787,7 @@ impl Ct {
.map_err(|_| Error::InvalidCiphertext)
.map(Self::MlKem768),
Algorithm::X25519MlKem768Draft00 => {
let key: [u8; MlKem768Ciphertext::len() + 32] =
let key: [u8; MlKem768Ciphertext::size() + 32] =
bytes.try_into().map_err(|_| Error::InvalidCiphertext)?;
let (xct, kct) = key.split_at(32);
Ok(Self::X25519MlKem768Draft00(
Expand All @@ -796,9 +796,9 @@ impl Ct {
))
}
Algorithm::XWingKemDraft02 => {
let key: [u8; MlKem768Ciphertext::len() + 32] =
let key: [u8; MlKem768Ciphertext::size() + 32] =
bytes.try_into().map_err(|_| Error::InvalidCiphertext)?;
let (ct_m, ct_x) = key.split_at(MlKem768Ciphertext::len());
let (ct_m, ct_x) = key.split_at(MlKem768Ciphertext::size());
Ok(Self::XWingKemDraft02(
ct_m.try_into().map_err(|_| Error::InvalidCiphertext)?,
ct_x.try_into().map_err(|_| Error::InvalidCiphertext)?,
Expand All @@ -818,7 +818,7 @@ impl Ct {
Algorithm::XWingKyberDraft02 => {
let key: [u8; MlKem768Ciphertext::len() + 32] =
bytes.try_into().map_err(|_| Error::InvalidCiphertext)?;
let (ct_m, ct_x) = key.split_at(MlKem768Ciphertext::len());
let (ct_m, ct_x) = key.split_at(MlKem768Ciphertext::size());
Ok(Self::XWingKyberDraft02(
ct_m.try_into().map_err(|_| Error::InvalidCiphertext)?,
ct_x.try_into().map_err(|_| Error::InvalidCiphertext)?,
Expand Down

0 comments on commit cb11230

Please sign in to comment.