Skip to content
This repository has been archived by the owner on Mar 11, 2024. It is now read-only.

Commit

Permalink
rename keypair_from_secret to expand_keypair; fix warning
Browse files Browse the repository at this point in the history
Signed-off-by: Andrew Whitehead <cywolf@gmail.com>
  • Loading branch information
andrewwhitehead committed Apr 29, 2020
1 parent b04f69a commit 107d22d
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions libursa/src/signatures/ed25519.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,15 @@ impl Ed25519Sha512 {
Ok(PrivateKey(secret.to_bytes().to_vec()))
}

pub fn keypair_from_secret(seed: &[u8]) -> Result<(PublicKey, PrivateKey), CryptoError> {
if seed.len() < 32 {
return Err(CryptoError::ParseError(format!("Invalid secret provided")));
pub fn expand_keypair(ikm: &[u8]) -> Result<(PublicKey, PrivateKey), CryptoError> {
if ikm.len() < 32 {
return Err(CryptoError::ParseError(format!(
"Invalid key material provided"
)));
}
let mut private = vec![0u8; 64];
private[..32].copy_from_slice(&seed[..32]);
let sk = SK::from_bytes(&seed[..32]).unwrap();
private[..32].copy_from_slice(&ikm[..32]);
let sk = SK::from_bytes(&ikm[..32]).unwrap();
let pk = PK::from(&sk).to_bytes().to_vec();
private[32..].copy_from_slice(pk.as_ref());
Ok((PublicKey(pk), PrivateKey(private)))
Expand Down Expand Up @@ -247,7 +249,6 @@ mod test {
fn ed25519_to_x25519_verify() {
let sk = PrivateKey(hex::decode(PRIVATE_KEY).unwrap());
let pk = PublicKey(hex::decode(PUBLIC_KEY).unwrap());
let scheme = Ed25519Sha512::new();

let x_pk = Ed25519Sha512::ver_key_to_key_exchange(&pk).unwrap();
assert_eq!(hex::encode(&x_pk), PUBLIC_KEY_X25519);
Expand All @@ -263,7 +264,7 @@ mod test {
let test_sk = hex::decode("3030303030303030303030303030303030303030303030305472757374656531e33aaf381fffa6109ad591fdc38717945f8fabf7abf02086ae401c63e9913097").unwrap();
let test_pk = &test_sk[32..];

let (pk, sk) = Ed25519Sha512::keypair_from_secret(seed).unwrap();
let (pk, sk) = Ed25519Sha512::expand_keypair(seed).unwrap();
assert_eq!(pk.0, test_pk);
assert_eq!(sk.0, test_sk);
}
Expand Down

0 comments on commit 107d22d

Please sign in to comment.