| 19 | } |
| 20 | |
| 21 | pub fn bbs_plus_sig_setup_given_messages<R: RngCore>( |
| 22 | rng: &mut R, |
| 23 | messages: &[Fr], |
| 24 | ) -> ( |
| 25 | SignatureParamsG1<Bls12_381>, |
| 26 | KeypairG2<Bls12_381>, |
| 27 | SignatureG1<Bls12_381>, |
| 28 | ) { |
| 29 | let params = SignatureParamsG1::<Bls12_381>::generate_using_rng(rng, messages.len() as u32); |
| 30 | let keypair = KeypairG2::<Bls12_381>::generate_using_rng(rng, ¶ms); |
| 31 | let sig = SignatureG1::<Bls12_381>::new(rng, messages, &keypair.secret_key, ¶ms).unwrap(); |
| 32 | sig.verify(messages, keypair.public_key.clone(), params.clone()) |
| 33 | .unwrap(); |
| 34 | (params, keypair, sig) |
| 35 | } |
| 36 | |
| 37 | pub fn bbs_sig_setup<R: RngCore>( |
| 38 | rng: &mut R, |