verify_v3_iriscode_proof_and_hash

Function verify_v3_iriscode_proof_and_hash 

Source
pub(crate) fn verify_v3_iriscode_proof_and_hash(
    proof: &HyraxProof<G1>,
    verifiable_circuit: &HyraxVerifiableCircuit<G1>,
    expected_commitment_hash: &str,
    committer: &PedersenCommitter<G1>,
    proof_config: &ProofConfig,
) -> Result<Vec<G1>>
Expand description

Verify that the iris/mask code in the supplied proof is correct, and return the unpadded iris/mask code, along with the commitment to the image. Checks, in particular:

  • That the [HyraxProof] verifies.
  • That the correct kernel values and thresholds are being used in the supplied proof.
  • That the MLE encoding the iris/mask code has only 0s in the padding region.
  • That the unpadded iris/mask code consists only of 0s and 1s.
  • That the image commitment hash matches the expected hash. This is a helper function for verifying the v3 masked iriscode is correct.