Pedersen Commitment
Protocol Description
Setup
Let be a (multiplicative) cyclic group of prime order for which the Discrete Logarithm problem is intractable. The key generation procedure publishes randomly chosen generators , which serve as both the commitment key and verification key.
Commit
To commit to a number , committer picks a random and sends .
Open
To open a commitment , committer sends . Verifier checks that .
Properties of the commitment:
perfect hiding
computational binding
Additive Homomorphism
One important property of Pedersen commitments is that they are additively homomorphic. This means that the verifier can take two commitments and , to values (with known to the committer but not to the verifier), and the verifier on its own can derive a commitment to , such that the prover is able to open to . This is done by simply letting . As for “opening information” provided by the prover, if and , then , so the opening information for is simply . In summary, Pedersen commitments over a multiplicative group are additively homomorphic, with addition of messages corresponds to group-multiplication of commitments.
Perfect HVZK Proof of Knowledge of Opening
It is possible to the prover to prove that it knows how to open a commitment to some value, without actually opening the commitment.
Protocol
Let be a (multiplicative) cyclic group of prime order over which the Discrete Logarithm relation is hard, with randomly chosen generators and .
Input is . Prover knows and , Verifier only knows .
Prover picks and sends to verifier .
Verifier sends challenge chosen at random from .
Prover sends and
Verifier checks that
Properties of the protocol:
perfect completeness
special soundness
perfect HVZK
Establishing A Product Relationship Between Committed Values
Suppose the committer sends commitments that is claimed to be a commitments to values . Pedersen commitments are not multiplicatively homomorphic but it is possible to the prover to prove to the verifier that indeed commits to , without actually opening up and thereby revealing .
Protocol
Let be a (multiplicative) cyclic group of prime order over which the Discrete Logarithm relation is hard.
Input is for such that .
Prover knows and for all , verifier only knows .
Prover picks and sends to verifier three values:
Verifier sends challenge chosen at random from .
Prover sends:
Verifier checks that the following three equalities hold:
Properties of the protocol:
perfect completeness
special soundness
perfect HVZK
Last updated