From 5c50b760a8ae6463ae5350a0ccf28b155bc11967 Mon Sep 17 00:00:00 2001 From: Georgio Nicolas Date: Mon, 26 Jan 2026 15:11:08 +0100 Subject: [PATCH] enable kkt with mceliece (kkt tests pass) --- common/nym-lp/src/peer.rs | 14 ++++++++------ common/nym-lp/src/session.rs | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/common/nym-lp/src/peer.rs b/common/nym-lp/src/peer.rs index 94d1f9f392..ecf9d230ad 100644 --- a/common/nym-lp/src/peer.rs +++ b/common/nym-lp/src/peer.rs @@ -59,12 +59,12 @@ impl LpLocalPeer { pub fn with_mceliece_keypair( mut self, - decapsulation_key: &MlKem768PrivateKey, - encapsulation_key: &MlKem768PublicKey, + decapsulation_key: libcrux_psq::classic_mceliece::SecretKey, + encapsulation_key: libcrux_psq::classic_mceliece::PublicKey, ) -> Self { - self.mlkem = Some(( - Arc::new(DecapsulationKey::MlKem768(decapsulation_key.clone())), - Arc::new(EncapsulationKey::MlKem768(encapsulation_key.clone())), + self.mceliece = Some(( + Arc::new(DecapsulationKey::McEliece(decapsulation_key)), + Arc::new(EncapsulationKey::McEliece(encapsulation_key)), )); self } @@ -190,13 +190,14 @@ pub fn mock_peer() -> LpLocalPeer { #[cfg(test)] pub fn random_peer<'a, R: rand::CryptoRng + rand::RngCore>(rng: &mut R) -> LpLocalPeer { - use nym_kkt::key_utils::generate_keypair_mlkem; + use nym_kkt::key_utils::{generate_keypair_mceliece, generate_keypair_mlkem}; let ed25519 = Arc::new(ed25519::KeyPair::new(rng)); let x25519 = Arc::new(ed25519.to_x25519()); let kem_psq = Some(x25519.clone()); let mlkem_keypair = generate_keypair_mlkem(&mut rand09::rng()); + let mceliece_keypair = generate_keypair_mceliece(&mut rand09::rng()); LpLocalPeer { ed25519, @@ -206,6 +207,7 @@ pub fn random_peer<'a, R: rand::CryptoRng + rand::RngCore>(rng: &mut R) -> LpLoc mceliece: None, } .with_mlkem_keypair(&mlkem_keypair.0, &mlkem_keypair.1) + .with_mceliece_keypair(mceliece_keypair.0, mceliece_keypair.1) } #[cfg(test)] diff --git a/common/nym-lp/src/session.rs b/common/nym-lp/src/session.rs index d841ff0d6f..8caf7e1171 100644 --- a/common/nym-lp/src/session.rs +++ b/common/nym-lp/src/session.rs @@ -615,7 +615,7 @@ impl LpSession { // georgio this needs to be moved one level up (maybe chosen in LPSession) let ciphersuite = match Ciphersuite::resolve_ciphersuite( - KEM::MlKem768, + KEM::McEliece, HashFunction::Blake3, SignatureScheme::Ed25519, None,