Sigma Protocols and the Fiat-Shamir Transform

Stub. The general theory of Sigma protocols (three-move interactive proofs with special soundness and special honest-verifier zero-knowledge), worked examples beyond Schnorr (Okamoto's protocol for representations, the Chaum-Pedersen protocol for Diffie-Hellman triples, protocols for arbitrary linear relations, for the preimage of a homomorphism, and for RSA), the Fiat-Shamir heuristic turning any Sigma protocol into a signature scheme, combining Sigma protocols via AND/OR proofs, witness independence, and multi-extractability as an alternative "proof of knowledge" notion.

· 2 min read · 260 words

Corresponds to Chapter 19.4–19.12. Abstracts Schnorr’s protocol into the general Sigma protocol template (commit, challenge, respond), with two defining properties: special soundness (two accepting transcripts with the same commitment but different challenges let you extract a witness — this is what makes the protocol a genuine proof of knowledge) and special honest-verifier zero-knowledge — compare the abstract interactive-proof framework in zero-knowledge-proofs, of which Sigma protocols are the concrete, efficient, discrete-log-flavored instance used throughout deployed cryptography. Covers several worked Sigma protocols beyond Schnorr’s (for representations, for Diffie-Hellman triples, for general linear relations, for a homomorphism’s preimage, and for RSA), the Fiat-Shamir heuristic (replace the verifier’s random challenge with a hash — the general version of the Schnorr-signature trick, and the starting point for non-interactive-zero-knowledge-and-snarks), and ways to combine Sigma protocols: AND-proofs and OR-proofs (proving you know a witness for one of several statements, without revealing which), witness independence as the property OR-proofs rely on, and multi-extractability as a stronger, composition-friendly alternative to ordinary special soundness.

Outline (TODO — flesh out each)

  • Sigma protocols — basic definitions
  • Special soundness
  • Special honest-verifier zero knowledge
  • Examples: Okamoto’s protocol, Chaum-Pedersen, linear relations, preimage of a homomorphism, RSA
  • Identification and signatures from Sigma protocols
  • The Fiat-Shamir heuristic for signatures
  • Combining Sigma protocols — AND-proofs and OR-proofs
  • Witness independence and applications
  • Actively secure identification protocols; Okamoto’s identification protocol
  • Multi-extractability — another notion of “proof of knowledge”

← All notes