Computes the generator \( g \):

Computes the public key \( h \):

Computes the value \( a \):

Receives the challenge \( e \)

Computes the response \( z \):

Before Peggy can start Schnorr's sigma protocol she needs two prime numbers \( p \) and \( q \):

- \( p \)
- \( q \)

Use the **left** and **right** arrow keys to
navigate.

Peggy receives the two prime numbers \( p \) and \( q \) and the generator \( g_{1} \) of the group \( \mathbb{Z}_{p} \) which is used to compute another generator \( g \) of order \( q \) from the group \( \mathbb{Z}_{p}^{*} \).

She sends the prime number \( p \) and the generator \( g \) to Victor.

Peggy wants to convince Victor about that she is really Peggy, i.e. she know the value of the secret key \( w \) corresponding to the public key \( h \).

She chooses \( w \) and computes \( h \) which she sends to Victor.

Peggy chooses a random integer \( r \) and computes the value \( a \) which she sends to Victor.

Victor chooses randomly a challenge \( e \) which he sends to Peggy.

In response to the challenge Peggy computes the value \( z \) which she sends to Victor.

Victor verifies the received response \( z \) from Peggy by checking that the two values are equals. Only if this is the case is Victor convinced about Peggy's identity, i.e. he know that she is in possession of the secret key \( w \) corresponding to the public key \( h \).

Receive the public values

Receives the public key \( h \)

Receives the value \( a \)

Chooses the random challenge \( e \):

Receives the response \( z \)

Verifies Peggy's identity: