Additional ed25519 cleanups (#259)

* Adjust ed25519 internals (speed & size)

* Additional ed25519 cleanups
This commit is contained in:
Jaco
2021-12-29 19:19:41 +02:00
committed by GitHub
parent 9f0fff863f
commit 516cf8347c
3 changed files with 22 additions and 15 deletions
+2
View File
@@ -1,6 +1,8 @@
6
3.2.2
3.2.3
3.2.4
4.0.2
4.1.2
+10 -15
View File
@@ -18,18 +18,6 @@ fn new_from_parts(pubkey: &[u8], seckey: &[u8]) -> Keypair {
}
}
/// Keypair helper function.
fn new_from_seed(seed: &[u8]) -> Keypair {
match &SecretKey::from_bytes(seed) {
Ok(s) => {
let pubkey: PublicKey = s.into();
new_from_parts(pubkey.as_bytes(), seed)
},
_ => panic!("Invalid seed provided.")
}
}
/// Generate a key pair.
///
/// * seed: UIntArray with 32 element
@@ -38,9 +26,16 @@ fn new_from_seed(seed: &[u8]) -> Keypair {
/// followed by the public key (32) bytes.
#[wasm_bindgen]
pub fn ext_ed_from_seed(seed: &[u8]) -> Vec<u8> {
new_from_seed(seed)
.to_bytes()
.to_vec()
match &SecretKey::from_bytes(seed) {
Ok(s) => {
let pubkey: PublicKey = s.into();
new_from_parts(pubkey.as_bytes(), seed)
.to_bytes()
.to_vec()
},
_ => panic!("Invalid seed provided.")
}
}
/// Sign a message
+10
View File
@@ -258,6 +258,16 @@ pub mod tests {
assert!(is_valid);
}
#[test]
fn can_verify_known_wrapped_message_fail() {
let message = b"message to sign";
let public = hex!("f84d048da2ddae2d9d8fd6763f469566e8817a26114f39408de15547f6d47805");
let signature = hex!("48ce2c90e08651adfc8ecef84e916f6d1bb51ebebd16150ee12df247841a5437951ea0f9d632ca165e6ab391532e75e701be6a1caa88c8a6bcca3511f55b4183");
let is_valid = ext_sr_verify(&signature, message, &public);
assert!(!is_valid);
}
#[test]
fn soft_derives_pair() {
let cc = hex!("0c666f6f00000000000000000000000000000000000000000000000000000000"); // foo