From 47135a1a1269a0b84ae377fb3fcf9096e2af0d38 Mon Sep 17 00:00:00 2001 From: "J. Ayo Akinyele" Date: Fri, 14 Jun 2019 03:39:58 -0400 Subject: [PATCH] Refine tests for blind sigs --- src/cl.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/cl.rs b/src/cl.rs index ce9af8b..e08da98 100644 --- a/src/cl.rs +++ b/src/cl.rs @@ -265,6 +265,11 @@ impl BlindKeyPair { BlindKeyPair { secret, public } } + /// extract unblinded public key + pub fn get_public_key(&self, mpk: &PublicParams) -> PublicKey { + PublicKey::from_secret(mpk, &self.secret) + } + /// sign a vector of messages pub fn sign(&self, csprng: &mut R, message: &Vec) -> Signature { self.secret.sign(csprng, message) @@ -359,6 +364,8 @@ mod tests { let mpk = setup(&mut rng); let keypair = BlindKeyPair::::generate(&mut rng, &mpk, l); + let public_key = keypair.get_public_key(&mpk); + let mut message1 : Vec = Vec::new(); let mut message2 : Vec = Vec::new(); @@ -368,6 +375,8 @@ mod tests { } let sig = keypair.sign(&mut rng, &message1); + assert_eq!(public_key.verify(&mpk, &message1, &sig), true); + assert_eq!(public_key.verify(&mpk, &message2, &sig), false); let t = Fr::rand(&mut rng); let blind_sig = keypair.blind(&mut rng, &t,&sig);