nizk: fix test

This commit is contained in:
Gijs Van Laer 2019-07-04 10:56:34 -04:00
parent e4c1129a20
commit bc2138c3cd
3 changed files with 7 additions and 7 deletions

View File

@ -140,7 +140,7 @@ impl<E: Engine> ParamsUL<E> {
for i in 0..self.l as usize {
let mut dx = E::Fr::from_str(&decx[i].to_string()).unwrap();
let proof = self.kp.prove_response(proofStates[i].clone(), c, &mut vec!{dx});
let proof = self.kp.prove_response(&proofStates[i].clone(), c, &mut vec!{dx});
sigProofs.push(proof);
}

View File

@ -364,7 +364,7 @@ impl<E: Engine> BlindKeyPair<E> {
/// prove knowledge of a signature: response phase
/// returns a proof that can be send to the verifier together with the challenge and the blind signature
pub fn prove_response(&self, ps: ProofState<E>, challenge: E::Fr, message: &mut Vec<E::Fr>) -> SignatureProof<E> {
pub fn prove_response(&self, ps: &ProofState<E>, challenge: E::Fr, message: &mut Vec<E::Fr>) -> SignatureProof<E> {
let mut zsig = ps.t.clone();
for i in 0..zsig.len() {
let mut message1 = message[i];
@ -488,7 +488,7 @@ mod tests {
let sig = keypair.sign(&mut rng, &message1);
let proof_state = keypair.prove_commitment(rng, &mpk, &sig);
let challenge = Fr::rand(&mut rng);
let proof = keypair.prove_response(proof_state.clone(), challenge, &mut message1);
let proof = keypair.prove_response(&proof_state.clone(), challenge, &mut message1);
assert_eq!(keypair.public.verify_proof(&mpk, proof_state.blindSig, proof, challenge), true);
}

View File

@ -9,6 +9,7 @@ use util::hash_g2_to_fr;
#[derive(Clone)]
struct Proof<E: Engine> {
sig: Signature<E>,
sigProof: SignatureProof<E>,
T: E::G1,
z: Vec<E::Fr>
@ -20,16 +21,16 @@ fn prove<R: Rng, E: Engine>(rng: &mut R, com1: &Commitment<E>, com2: &Commitment
let proofState = kp.prove_commitment(rng, &mpk, &paymentToken);
let mut challenge = E::Fr::one();
challenge.double();
let sigProof = kp.prove_response(proofState, challenge, &mut vec! {hash_g2_to_fr::<E>(&com1.c)});
let sigProof = kp.prove_response(&proofState, challenge, &mut vec! {hash_g2_to_fr::<E>(&com1.c)});
Proof {sigProof, T: E::G1::rand(rng), z: vec!{}}
Proof {sig: proofState.blindSig, sigProof, T: E::G1::rand(rng), z: vec!{}}
}
fn verify<E: Engine>(proof: Proof<E>, epsilon: E::Fr, com1: &Commitment<E>, com2: &Commitment<E>,
paymentToken: &Signature<E>, wpk: E::Fr, mpk: &PublicParams<E>, pk: &BlindPublicKey<E>) -> bool {
let mut challenge = E::Fr::one();
challenge.double();
pk.verify_proof(&mpk, paymentToken.clone(), proof.sigProof, challenge)
pk.verify_proof(&mpk, proof.sig, proof.sigProof, challenge)
}
#[cfg(test)]
@ -38,7 +39,6 @@ mod tests {
use pairing::bls12_381::{Bls12, G1, G2, Fq12, Fr};
#[test]
#[ignore]
fn nizk_proof_works() {
let rng = &mut rand::thread_rng();
let pkc = Fr::rand(rng);