← Playground

Sigma Protocol

Walk through a 3-move Schnorr proof: commit → challenge → response → verify. The prover convinces the verifier they know secret such that c = gsecret mod p, without revealing it.

0. Setup

Public key c = gsecret mod p

1. Prover commits

Prover picks random k, sends r = gk mod p.

k (private)
r (sent)

2. Verifier challenges

Verifier picks random e in [0, p).

e (sent)

3. Prover responds

Prover sends z = k + e · secret.

z (sent)

4. Verifier checks

Equation: gz mod p == r · ce mod p

LHS = gz mod p
RHS = r · ce mod p