Peggy

Parameters known by Peggy:

Receives the public values.

Receives the public key \( h \).

Computes the commitment \( c \).

Reveals the commitment by sending the values to Victor.

Step y/x

Before Victor can start the Pedersen commitment scheme, he needs two prime numbers: \( p \) and \( q \).

  • \( p \)
  • \( q \)

Use the Left and Right arrow keys to navigate through the steps.

Victor receives the two prime numbers \( p \) and \( q \), as well as the generator \( g_{1} \) of the group \( \mathbb{Z}_{p} \). He uses these to compute another generator \( g \) of order \( q \) from the group \( \mathbb{Z}_{p}^{*} \).

He then sends the prime number \( p \) and the generator \( g \) to Peggy.

Victor chooses a secret key \( a \) and computes the corresponding public key \( h \), which he sends to Peggy.

Victor generates the keys because the commitment scheme is unconditionally hiding and computationally binding.

Peggy commits to the value \( x \) by first choosing a random integer \( r \), and then computing the commitment \( c \), which she sends to Victor.

Peggy reveals the two values \( x \) and \( r \) to Victor, i.e., she opens the commitment.

Victor then verifies the commitment \( c \) by checking that the two values are equal. Only if this is the case can Victor be sure that the received value \( x \) is the same value that Peggy originally committed to.

Victor

Parameters known by Victor:

Computes the generator \( g \):

Computes the public key \( h \):

Receives the commitment \( c \).

Verifies Peggy's commitment to the value \( x \):