Sigma Protocols & Schnorr Identification
Implement a Sigma protocol and trace how the Schnorr proof works.
Sigma Protocol Structure
A Sigma protocol has 3 messages: (1) Commit: prover sends a commitment to a random value. (2) Challenge: verifier sends a random challenge. (3) Response: prover sends a response computed from the challenge and the secret. Verifier accepts or rejects.
Schnorr Identification
Prover knows secret x (private key); public key = g^x mod p (or point X = x*G on an elliptic curve). Goal: prove knowledge of x without revealing it. This is a discrete-log proof of knowledge.
All lessons in this course
- ZKP Intuition: The Ali Baba Cave
- Sigma Protocols & Schnorr Identification
- zk-SNARKs: Succinct Non-Interactive Arguments
- ZKP Applications: ZK Rollups & Privacy Coins