From 4767a719f7bdf5c2663dd4fb33552e0aeb9fab6a Mon Sep 17 00:00:00 2001 From: Georgio Nicolas Date: Mon, 26 Jan 2026 14:38:25 +0100 Subject: [PATCH] impl hashing of different key types --- common/nym-lp/src/peer.rs | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/common/nym-lp/src/peer.rs b/common/nym-lp/src/peer.rs index 3c60aa2c98..94d1f9f392 100644 --- a/common/nym-lp/src/peer.rs +++ b/common/nym-lp/src/peer.rs @@ -80,17 +80,28 @@ impl LpLocalPeer { /// Convert this `LpLocalPeer` into a valid `LpRemotePeer` that can be used within tests #[doc(hidden)] pub fn as_remote(&self) -> LpRemotePeer { - let expected_kem_key_digests = match &self.kem_psq { - None => HashMap::new(), - Some(kem_keys) => { - let hashes = - nym_kkt::key_utils::produce_key_digests(kem_keys.public_key().as_bytes()); + let mut expected_kem_key_digests = HashMap::new(); + + if let Some(x25519_key) = &self.kem_psq { + expected_kem_key_digests.insert( + KEM::X25519, + nym_kkt::key_utils::produce_key_digests(x25519_key.public_key().as_bytes()), + ); + } + if let Some(mlkem_key) = &self.mlkem { + expected_kem_key_digests.insert( + KEM::MlKem768, + nym_kkt::key_utils::produce_key_digests(&mlkem_key.1.encode()), + ); + } + + if let Some(mceliece_key) = &self.mceliece { + expected_kem_key_digests.insert( + KEM::McEliece, + nym_kkt::key_utils::produce_key_digests(&mceliece_key.1.encode()), + ); + } - let mut digests = HashMap::new(); - digests.insert(KEM::X25519, hashes); - digests - } - }; LpRemotePeer { ed25519_public: *self.ed25519.public_key(), x25519_public: *self.x25519.public_key(),