Expand description
Functions for proving and verifying the v3 iriscode circuit.
Structsยง
- V3Circuit
AndAux Data - A circuit computing the V3 iriscode from an iris image and a mask. The computation when the input is an iris image is essentially the same as the when the input is a mask, the only difference being the values of some parameters which are passed as inputs to the circuit, called auxiliary MLEs. This struct holds a Circuit which has already been initialized with input parameters which are common between the cases of an iris image and a mask, and separatelly contains entries for the auxiliary MLEs encoding the parameters specific to the iris image computation and the mask computation.
- V3Proof
- V3Prover
- A serializable struct containing the 4 Hyrax proofs needed for the
V3 iris/mask circuit.
To allow for incremental proving, this struct can be initialized empty
and then proofs can be added as the become available.
Serialization is possible at any stage, even if a proof is missing.
Once all proofs are generated, the struct can be finalized into
a
V3Proofwhich can be then passed to the verifier.
Enumsยง
Functionsยง
- prove_
with_ image_ precommit - Prove a single instance of the iriscode circuit using the Hyrax proof system and the provided image precommit. This is a helper function for proving the v3 masked iriscode is correct.
- verify_
v3_ ๐iriscode_ proof_ and_ hash - 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: