Lyubashevsky's identification protocol #
Lyubashevsky's lattice-based identification protocol ([Lyu09], [Lyu12]),
with the uniform-box rejection sampling of Dilithium ([DKL+18]), as a Sigma protocol with
aborts. The statement is a pair (A, T) of matrices over ZMod q, of sizes n × m and
n × k; a witness is an integer matrix S with small entries and A S = T. Challenges are bit
strings c ∈ {0,1}^k, read as integer vectors ĉ (lyubashevskyChallenge).
- The prover draws
yuniformly from the box[-γ, γ]^mand commits tow = A y. - On the challenge
cit computesz = y + S ĉ. It answerszwhenzlies in the inner box[-(γ - β), γ - β]^m, and aborts otherwise. - The verifier accepts
zwhenzlies in the inner box andA z = w + T ĉ.
When every entry of S is at most η in absolute value and k η ≤ β ≤ γ:
- Completeness (
lyubashevsky_nonAbortComplete). Every answer the prover gives is accepted, for anySwithA S = T. At every challenge the prover aborts with probability exactly1 - ((2 (γ - β) + 1) / (2 γ + 1)) ^ m, which is at most2 m β / (2 γ + 1). - Special soundness (
lyubashevsky_specialSoundness). Two accepting conversations(w, c, z)and(w, c', z')withc ≠ c'give(z - z', ĉ' - ĉ), a short integer solution for[A | T]with boundmax (2 (γ - β)) 1. As usual for lattice protocols, the extracted witness belongs to this relaxed relation, not to the prover's. - Zero knowledge up to aborts (
lyubashevsky_nonAbortSpecialHVZK). At each challenge, the simulator drawszuniformly from[-γ, γ]^m, aborts unlesszlies in the inner box, and solves forw = A z - T ĉ. It has exactly the law of the honest prover's published transcripts and aborts. The proof is the box rejection-sampling lemma (Cslib.Probability.PMF.boxReject_eq).
All statements are exact laws over PMF. The protocol's samplers are not claimed to be
efficient, and no hardness assumption is used here.
Main definitions #
SigmaProtocol.lyubashevsky: the protocol.SigmaProtocol.lyubashevskyRelation: witnesses with small entries.SigmaProtocol.lyubashevskyExtract,SigmaProtocol.lyubashevskySimulate: its extractor and simulator.
Main results #
SigmaProtocol.lyubashevsky_nonAbortComplete: answers are always accepted.SigmaProtocol.lyubashevsky_acceptedTranscript_none,SigmaProtocol.lyubashevsky_acceptedTranscript_none_le: the exact abort probability and its bound.SigmaProtocol.lyubashevsky_specialSoundness: extraction of a short integer solution.SigmaProtocol.lyubashevsky_nonAbortSpecialHVZK: exact zero knowledge up to aborts.
References #
Lyubashevsky's identification protocol with box rejection sampling, for statements
(A, T) and witnesses S with A S = T. The prover commits to A y for y uniform in
[-γ, γ]^m, and answers the challenge c with y + S ĉ if it lies in [-(γ - β), γ - β]^m,
and aborts otherwise. The verifier checks that the answer z lies in that box and that
A z = w + T ĉ.
Instances For
The extractor returns (z - z', ĉ' - ĉ), a kernel vector of [A | T].
Instances For
The simulator draws z by rejection sampling with no shift, uniformly from [-γ, γ]^m
and kept only inside [-(γ - β), γ - β]^m, and solves the verification equation for the
commitment.
Instances For
The verifier accepts an answer in the inner box that satisfies the linear equation.
The accepted view at a challenge is box rejection sampling shifted by S ĉ, with the
commitment A (z - S ĉ) of the published answer z.
Completeness up to aborts. Every answer of the honest prover is accepted, for any
witness with A S = T, however large its entries.
Abort probability. If the entries of S are at most η and k η ≤ β ≤ γ, then at every
challenge the prover aborts with probability exactly
1 - ((2 (γ - β) + 1) / (2 γ + 1)) ^ m.
Abort bound. Under the same hypotheses, the prover aborts with probability at most
2 m β / (2 γ + 1) at every challenge.
Special soundness. From two accepting conversations with a common commitment and
distinct challenges, lyubashevskyExtract computes a short integer solution for [A | T]
with bound max (2 (γ - β)) 1.
Zero knowledge up to aborts. If k η ≤ β ≤ γ, then for every witness in
lyubashevskyRelation η and every challenge, lyubashevskySimulate has exactly the law of the
prover's published transcripts and aborts.