Sigma protocols with aborts #
In lattice-based Sigma protocols the prover may refuse to answer a challenge: in Lyubashevsky's
Fiat–Shamir with aborts ([Lyu09], [Lyu12]) it withholds every response
that would leak information about its witness. Such a protocol is an ordinary SigmaProtocol
whose responses are Option Z. The prover answers none to abort, and the verifier is expected
to reject none.
This module studies an erased-abort projection, not the full interactive verifier view.
An identification verifier has already seen the commitment before an abort; retrying does not
erase that observation. A signer can instead keep aborted attempts unpublished and retry with
fresh randomness. Full interactive-view simulation requires a separate theorem.
acceptedTranscript x y c is the honest commitment and response at the challenge c, erased to
none when the prover aborts. A simulator must reproduce the abort probability as well as the
law of the transcripts that are not aborted. Plain SpecialHVZK usually fails for these
protocols, because the commitment of an aborted run depends on the witness.
NonAbortComplete R: every honest transcript in which the prover does not abort is accepting.NonAbortSpecialHVZK R simulate: the simulator outputs accepting transcripts ornone, and for each witness-statement pair and each fixed challenge it has exactly the law of the accepted view.
These are the exact, per-challenge analogues of Complete and SpecialHVZK. Special soundness
needs no change: it only concerns accepting conversations, and SpecialSoundness applies as it
stands.
Main definitions #
SigmaProtocol.acceptedTranscript,SigmaProtocol.acceptedConversation: honest executions with aborted runs erased.SigmaProtocol.NonAbortComplete: completeness up to aborts.SigmaProtocol.NonAbortSpecialHVZK: special honest-verifier zero knowledge up to aborts.
Main results #
SigmaProtocol.NonAbortComplete.accepts_of_mem_support_acceptedConversation: published honest conversations are accepting.SigmaProtocol.NonAbortSpecialHVZK.acceptedConversation_eq: with a uniform challenge, the simulator reproduces the accepted view of an honest conversation, aborts included.
References #
The honest commitment and response at the challenge c, or none if the prover aborts.
Instances For
Completeness up to aborts: for every witness-statement pair in R and every challenge,
every honest transcript in which the prover does not abort is accepting.
Instances For
Special honest-verifier zero knowledge up to aborts, with the explicit simulator simulate.
Given a statement and a challenge, the simulator returns a commitment and a response, or none
for an abort.
- accepts (y : Y) (c : C) (t : T) (z : Z) : some (t, z) ∈ (simulate y c).support → P.Accepts y t c (some z)
Simulated transcripts that are not aborted are accepting, for every statement and challenge.
- acceptedTranscript_eq (x : X) (y : Y) : R x y → ∀ (c : C), simulate y c = P.acceptedTranscript x y c
For a witness-statement pair, simulation at any fixed challenge has the law of the accepted view, aborts included.
Instances For
Completeness up to aborts for a relation implies it for every smaller relation.
A simulator up to aborts for a relation is one for every smaller relation.
An honest execution with aborted runs erased samples the challenge first.
Every published honest conversation is accepting.
Zero knowledge up to aborts. With a uniform challenge, the simulator reproduces the accepted view of an honest conversation: the abort probability, and the law of the published conversations.