Sigma protocols for linear relations #
Fix a prime q. Boneh and Shoup's Schnorr, Okamoto, Chaum–Pedersen and generic linear
protocols ([BS23], Sections 19.1 and 19.5.1–19.5.4) are one protocol, for the
preimage of a ZMod q-linear map. Groups are written additively: a group of prime order q
is a ZMod q-module, and the book's g ^ α is α • g. A multiplicative group of exponent q
can be used through Additive with AddCommGroup.zmodModule.
In linear ψ u ι, a statement y determines a linear map ψ y : M →ₗ[ZMod q] N and a target
u y : N; a witness is a preimage x with ψ y x = u y. The prover commits to ψ y r for a
uniform r : M and answers the challenge c with r + c • x. Challenges come from any type C
with an injection ι : C ↪ ZMod q, which covers a subset of ZMod q as well as bit strings
read as numbers below q.
Completeness and special honest-verifier zero knowledge hold for every modulus. Special
soundness, which divides by a difference of distinct challenges, uses that q is prime. The
instances need no hypothesis that the group is cyclic or that the given elements generate it.
Main definitions #
SigmaProtocol.linear: the protocol for preimages of statement-dependent linear maps.SigmaProtocol.linearExtract,SigmaProtocol.linearSimulate: its extractor and simulator.SigmaProtocol.schnorr: knowledge ofαwithα • g = u(Example 19.1).SigmaProtocol.okamoto: knowledge of(α, β)withα • g + β • h = u(Section 19.5.1).SigmaProtocol.chaumPedersen:(u, v, w)is a Diffie–Hellman triple (Section 19.5.2).SigmaProtocol.linearSystem: a solution of∑ j, α j • g i j = u ifor alli(Section 19.5.3).
Main results #
SigmaProtocol.linear_complete,SigmaProtocol.linear_specialSoundness,SigmaProtocol.linear_specialHVZK: Theorem 19.12 for groups of prime orderq.- The same three properties for each instance, with the instance's own relation (Theorems 19.9–19.11 and Examples 19.2–19.3).
References #
The Sigma protocol for a preimage of the linear map ψ y at u y
([BS23], Figures 19.8 and 19.9). The prover commits to ψ y r for a uniform r and
answers the challenge c with r + ι c • x; the verifier checks ψ y z = t + ι c • u y.
Instances For
The extractor divides the difference of the responses by the difference of the challenges.
Instances For
The simulator samples a uniform response and solves the verification equation for the commitment.
Instances For
A conversation is accepting exactly when it satisfies the verification equation
ψ y z = t + ι c • u y.
An honest transcript is (ψ y r, r + ι c • x) for a uniform r.
Honest conversations are accepting ([BS23], Theorem 19.12).
linearExtract is a witness extractor when q is prime ([BS23], Theorem 19.12).
linearSimulate is a perfect simulator at every challenge ([BS23],
Theorem 19.12).
Schnorr #
Schnorr's Sigma protocol for knowledge of α with α • g = u
([BS23], Example 19.1).
Instances For
Schnorr's verification equation z • g = t + c • u ([BS23], Example 19.1).
Example 19.2 of [BS23].
Example 19.3 of [BS23].
Okamoto #
Okamoto's Sigma protocol for knowledge of a representation (α, β) of u, meaning
α • g + β • h = u ([BS23], Section 19.5.1).
Instances For
Okamoto's verification equation z₁ • g + z₂ • h = t + c • u
([BS23], Section 19.5.1).
Theorem 19.9 of [BS23]: completeness.
Theorem 19.9 of [BS23]: special soundness.
Theorem 19.9 of [BS23]: special honest-verifier zero knowledge.
Chaum–Pedersen #
The Chaum–Pedersen protocol for Diffie–Hellman triples: a witness for (u, v, w) is β
with β • g = v and β • u = w ([BS23], Section 19.5.2).
Instances For
The Chaum–Pedersen verification equations z • g = t₁ + c • v and z • u = t₂ + c • w
([BS23], Section 19.5.2).
Theorem 19.10 of [BS23]: completeness.
Theorem 19.10 of [BS23]: special soundness.
Theorem 19.10 of [BS23]: special honest-verifier zero knowledge.
Systems of linear equations #
The generic linear protocol for m equations ∑ j, α j • g i j = u i in n unknowns, with
the statement (g, u) ([BS23], Section 19.5.3 and Figure 19.8).
Instances For
The generic linear protocol checks each equation ∑ j, z j • g i j = t i + c • u i
([BS23], Figure 19.8).
Theorem 19.11 of [BS23]: completeness.
Theorem 19.11 of [BS23]: special soundness.
Theorem 19.11 of [BS23]: special honest-verifier zero knowledge.