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
——