From 223eb41fd068a842164a1dd41d3711d928a226ae Mon Sep 17 00:00:00 2001 From: Andrew Poelstra Date: Tue, 6 Nov 2018 22:04:02 +0000 Subject: [PATCH] remove context object from ECDH --- src/ecdh.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/ecdh.rs b/src/ecdh.rs index 9da25a3..aec2dbc 100644 --- a/src/ecdh.rs +++ b/src/ecdh.rs @@ -18,7 +18,6 @@ use std::{ops, ptr}; -use super::Secp256k1; use key::{SecretKey, PublicKey}; use ffi; @@ -29,11 +28,11 @@ pub struct SharedSecret(ffi::SharedSecret); impl SharedSecret { /// Creates a new shared secret from a pubkey and secret key #[inline] - pub fn new(secp: &Secp256k1, point: &PublicKey, scalar: &SecretKey) -> SharedSecret { + pub fn new(point: &PublicKey, scalar: &SecretKey) -> SharedSecret { unsafe { let mut ss = ffi::SharedSecret::blank(); let res = ffi::secp256k1_ecdh( - secp.ctx, + ffi::secp256k1_context_no_precomp, &mut ss, point.as_ptr(), scalar.as_ptr(), @@ -109,9 +108,9 @@ mod tests { let (sk1, pk1) = s.generate_keypair(&mut thread_rng()); let (sk2, pk2) = s.generate_keypair(&mut thread_rng()); - let sec1 = SharedSecret::new(&s, &pk1, &sk2); - let sec2 = SharedSecret::new(&s, &pk2, &sk1); - let sec_odd = SharedSecret::new(&s, &pk1, &sk1); + let sec1 = SharedSecret::new(&pk1, &sk2); + let sec2 = SharedSecret::new(&pk2, &sk1); + let sec_odd = SharedSecret::new(&pk1, &sk1); assert_eq!(sec1, sec2); assert!(sec_odd != sec2); } @@ -132,7 +131,7 @@ mod benches { let s = Secp256k1::new(); bh.iter( || { - let res = SharedSecret::new(&s, &pk, &sk); + let res = SharedSecret::new(&pk, &sk); black_box(res); }); }