Skip to content

Commit 8e96cb7

Browse files
committed
Add secp256r1_recover_pubkey benchmark
1 parent 7cb25d1 commit 8e96cb7

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

packages/crypto/benches/main.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use sha2::Sha256;
1212

1313
use cosmwasm_crypto::{
1414
ed25519_batch_verify, ed25519_verify, secp256k1_recover_pubkey, secp256k1_verify,
15-
secp256r1_verify,
15+
secp256r1_recover_pubkey, secp256r1_verify,
1616
};
1717
use std::cmp::min;
1818

@@ -122,6 +122,20 @@ fn bench_crypto(c: &mut Criterion) {
122122
});
123123
});
124124

125+
group.bench_function("secp256r1_recover_pubkey", |b| {
126+
let message_hash =
127+
hex!("aea3e069e03c0ff4d6b3fa2235e0053bbedc4c7e40efbc686d4dfb5efba4cfed");
128+
let expected =
129+
hex!("04105d22d9c626520faca13e7ced382dcbe93498315f00cc0ac39c4821d0d737376c47f3cbbfa97dfcebe16270b8c7d5d3a5900b888c42520d751e8faf3b401ef4");
130+
let r_s = hex!("542c40a18140a6266d6f0286e24e9a7bad7650e72ef0e2131e629c076d9626634f7f65305e24a6bbb5cff714ba8f5a2cee5bdc89ba8d75dcbf21966ce38eb66f");
131+
let recovery_param: u8 = 1;
132+
133+
b.iter(|| {
134+
let pubkey = secp256r1_recover_pubkey(&message_hash, &r_s, recovery_param).unwrap();
135+
assert_eq!(pubkey, expected);
136+
});
137+
});
138+
125139
group.bench_function("ed25519_verify", |b| {
126140
let message = hex::decode(COSMOS_ED25519_MSG_HEX).unwrap();
127141
let signature = hex::decode(COSMOS_ED25519_SIGNATURE_HEX).unwrap();

0 commit comments

Comments
 (0)