MCPcopy Create free account
hub / github.com/docknetwork/crypto / _verify

Method _verify

bbs_plus/src/proof.rs:478–506  ·  view source on GitHub ↗
(
        &self,
        revealed_msgs: &BTreeMap<usize, E::ScalarField>,
        challenge: &E::ScalarField,
        pk: impl Into<PreparedPublicKeyG2<E>>,
        params: impl Into<PreparedSignature

Source from the content-addressed store, hash-verified

476 }
477
478 pub fn _verify(
479 &self,
480 revealed_msgs: &BTreeMap<usize, E::ScalarField>,
481 challenge: &E::ScalarField,
482 pk: impl Into<PreparedPublicKeyG2<E>>,
483 params: impl Into<PreparedSignatureParamsG1<E>>,
484 missing_responses: Option<BTreeMap<usize, E::ScalarField>>,
485 ) -> Result<(), BBSPlusError> {
486 let params = params.into();
487 let g1 = params.g1;
488 let g2 = params.g2;
489 let h0 = params.h_0;
490 let h = params.h;
491 self.verify_except_pairings(revealed_msgs, challenge, g1, h0, h, missing_responses)?;
492
493 // Verify the randomized signature
494 if !E::multi_pairing(
495 [
496 E::G1Prepared::from(self.A_prime),
497 E::G1Prepared::from(-(self.A_bar.into_group())),
498 ],
499 [pk.into().0, g2],
500 )
501 .is_zero()
502 {
503 return Err(BBSPlusError::PairingCheckFailed);
504 }
505 Ok(())
506 }
507
508 pub fn _verify_with_randomized_pairing_checker(
509 &self,

Callers 2

verifyMethod · 0.45
verify_partialMethod · 0.45

Calls 2

is_zeroMethod · 0.80

Tested by

no test coverage detected