-
-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Question] Compatibility to other library #35
Comments
Instead of using Message from slice in rust, can you try this: let message = Message::from_hashed_data::sha256::Hash("madoka".as_bytes()); |
Thank you for reply. let secp = Secp256k1::new();
let secret_key = SecretKey::from_str("f7ea2341e4b1f1dc438c43725e8bebdb8d3815a47651d2312f431793b66f6994").unwrap();
let message = Message::from_hashed_data::<sha256::Hash>("madoka".as_bytes());
let js_public_key = PublicKey::from_str("04458eb1d8af007f821f7f50405d844171c0c55c389a87a3944ddda5dbe4d51b62d8cb182e2243750458a42894abb2e6f91bff6415523650adf45fadf2e01543c3").unwrap();
let js_sig = Signature::from_str("30450220617dd27ff185e0b8d0904e3ccb4215a4ba2e22d165439365a4a3516b400e8a3a022100e20c366399e11322a1e56b897c339e6d764fca5c9cee9f3fc0370d597c8eb680").expect("compact signatures are 64 bytes; DER signatures are 68-72 bytes");
let rust_public_key = PublicKey::from_secret_key(&secp, &secret_key);
let rust_sig = secp.sign(&message, &secret_key);
println!("{:?}", message);
println!("{:?}", secret_key);
println!("{:?}", js_public_key);
println!("{:?}", js_sig);
println!("-------");
println!("{:?}", rust_public_key);
println!("{:?}", rust_sig); output:
|
Noble-secp is tested through tons of test vectors from different libraries, so my guess is that somewhere you're doing something differently between node.js and Rust. |
Although you seem to have different values, both are legal results
https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki#Low_S_values_in_signatures Line 975 in 57cdd6d
|
Yeah, maybe switch |
Switching to the canonical flag was successful. |
Hi. I'm new at cryptography.
I'm trying to check compatibility to other library ( https://docs.rs/secp256k1/ ).
and
is the same
public_key_rust
output.But
and
is not the same.
What makes this difference? Is this a normal behavior of crypto library?
Sorry for my not good English and Code.
The text was updated successfully, but these errors were encountered: