Additional ed25519 cleanups (#259)
* Adjust ed25519 internals (speed & size) * Additional ed25519 cleanups
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
6
|
||||
|
||||
3.2.2
|
||||
3.2.3
|
||||
3.2.4
|
||||
|
||||
4.0.2
|
||||
4.1.2
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user