Hyrax Primitives

We go over various sigma protocols (interactive proofs with just 3 rounds of interaction) that allow the prover to prove various statements on its committed messages without having to open the commitment. For all of these protocols, let be the message commitment generators, and be the blinding generator. Let be the scalar field of . Assume the prover produces the blinding factor using a cryptographic PRNG.

Proof of Opening

In a Proof of Opening, shows that given a commitment , knows the message and blinding factor used to generate this commitment.

  1. samples uniformly from the scalar field. computes and sends over
  2. A random challenge from .
  3. , and .
  4. checks:

Proof of Equality

In a Proof of Equality, convinces that two commitments and commit to the same value, i.e. . In other words knows that , but only has the blinded commitments, which look uniformly random (since are uniformly randomly distributed in for uniformly random ).

  1. first uniformly samples a random value from . computes and sends to .
  2. A random challenge from .
  3. checks:

Proof of Product

Proof of product shows that a commitment is a commitment to the product of the messages committed to in and In other words, knows that and wants to prove this to without revealing the messages and just using the commitments.

  1. uniformly samples from and computes and sends over
  2. A random challenge from .
  3. checks:

Proof of Dot Product

Given 's commitment to a vector , and a public vector (known to both and ), and 's commitment to the claimed dot product , which is shows that they know a vector and blinding such that is equal to the message committed to in , and is a vector commitment for with blinding factor .

  1. samples a random vector in , . samples and computes and sends

  1. A random challenge from .

4. checks: