vld0 work

This commit is contained in:
John Smith 2023-08-20 10:54:26 -04:00
parent a7860d829e
commit 964741463e

View File

@ -27,8 +27,8 @@ fn secret_to_x25519_sk(secret: &SecretKey) -> VeilidAPIResult<xd::StaticSecret>
.chain_update(secret.bytes) .chain_update(secret.bytes)
.finalize() .finalize()
.into(); .into();
let mut output = [0u8; 32]; let mut output = [0u8; SECRET_KEY_LENGTH];
output.copy_from_slice(&hash[..32]); output.copy_from_slice(&hash[..SECRET_KEY_LENGTH]);
Ok(xd::StaticSecret::from(output)) Ok(xd::StaticSecret::from(output))
} }
@ -134,7 +134,11 @@ impl CryptoSystem for CryptoSystemVLD0 {
let pk_xd = public_to_x25519_pk(&key)?; let pk_xd = public_to_x25519_pk(&key)?;
let sk_xd = secret_to_x25519_sk(&secret)?; let sk_xd = secret_to_x25519_sk(&secret)?;
Ok(SharedSecret::new(sk_xd.diffie_hellman(&pk_xd).to_bytes())) let output = self
.generate_hash(&sk_xd.diffie_hellman(&pk_xd).to_bytes())
.bytes;
Ok(SharedSecret::new(output))
} }
fn generate_keypair(&self) -> KeyPair { fn generate_keypair(&self) -> KeyPair {
vld0_generate_keypair() vld0_generate_keypair()