Module pok_vc

Source
Expand description

Macros and classes used for creating proofs of knowledge Proof of knowledge of committed values in a vector Pedersen commitment––Commit and Prove scheme.

ProverCommitting will contains vectors of generators and random values. ProverCommitting has a commit method that optionally takes a value as blinding, if not provided, it creates its own. ProverCommitting has a finish method that results in creation of ProverCommitted object after consuming ProverCommitting ProverCommitted marks the end of commitment phase and has the final commitment. ProverCommitted has a method to generate the challenge by hashing all generators and commitment. It is optional to use this method as the challenge may come from a super-protocol or from verifier. It takes a vector of bytes that it includes for hashing for computing the challenge ProverCommitted has a method gen_proof to generate proof. It takes the secrets and the challenge to generate responses. During response generation ProverCommitted is consumed to create Proof object containing the commitments and responses. Proof can then be verified by the verifier.

Modules§

prelude
Convenience importing module

Structs§

ProofG1
A proof of knowledge of a signature and hidden messages
ProverCommittedG1
Receive or generate challenge. Compute response and proof
ProverCommittingG1
Proof of knowledge of messages in a vector commitment. Commit for each message or blinding factor used