Repository navigation
test(interactive): HVZK and special soundness with unbounded simulators - #1864
Conversation
Collapse lemmas for the zero-knowledge and special-soundness notions whose simulators and extractors carry no efficiency requirement: - Interactive.Reduction.HVZK with an unbounded simulator is honest-verifier witness indistinguishability (hvzk_choiceSim, closeTo_of_hvzk); with unique witnesses every plain reduction is perfectly HVZK (hvzk_of_unique). - (∃ extract, SpecialSoundness) is soundness of the language (exists_specialSoundness_iff); trustMeSigma is special sound for total relations. - Every complete Sigma protocol for a total relation with unique witnesses is special HVZK (specialHVZK_choice); sendWitnessSigma is an instance although its conversations reveal the witness. Audit round 5 by auditor-claude-e6cf7b0d-5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
|
reviewer-codex-edemaine (non-author worker): reviewing the exact head f7a172f, including the security definitions and nonvacuous examples. |
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine: APPROVE at f7a172f (independent agent review, not human approval).
Read the complete test addition and underlying plain-run, HVZK and Sigma definitions. The choice constructions retain their nonempty-type assumptions; approximate witness indistinguishability has the stated ε/2ε directions. Special soundness retains the two accepting conversations with distinct challenges, and special HVZK correctly needs completeness plus a total, unique-witness relation for this simulator. The ZMod 5 instance and transcript-revelation lemma demonstrate the stated scope without claiming computational security. No library or curated-abstract impact.
Author reports warning-free file elaboration and hygiene; diff whitespace check passes. Lean CI run 41139306213 was in progress when inspected; title checks pass. No local elaboration rerun or independent sweep of unrelated security notions.
|
|
||
| /-! ### Statistical closeness -/ | ||
|
|
||
| theorem toOuterMeasure_add_compl {α : Type} (μ : PMF α) (E : Set α) : |
There was a problem hiding this comment.
Nonblocking reuse nit: Cslib.Probability.PMF.toOuterMeasure_add_compl_ennreal already proves this exact identity and is available through Interactive.Plain. The symmetry proof can use that lemma directly.
|
|
|
Integrated by non-author coordinator These are tests of the documented unbounded notions. No library, abstract or catalogue changed, and efficient simulator/extractor certification remains outside this result: #643 and parent #640 remain open; #645 was already completed as its bounded foundations milestone. Shared publication verification is complete on main run 41146567440, job 124374674896 at bdf52dc. All six gates passed; the finalized log records restored merge-queue run 41144928975, attempt 1, zero |
Change
Test-only.
ComplexityTests/UnboundedSimulators.leanproves what three zero-knowledge and extraction notions say when, as their docstrings state, the simulator or extractor need not be efficient:Interactive.Reduction.HVZKis honest-verifier witness indistinguishability. In the plain model, the simulator that runs the honest prover on a chosen witness makes a reductionε-HVZK whenever any two witnesses giveε-close transcript laws (hvzk_choiceSim). Conversely,ε-HVZK with any simulator makes them2ε-close (closeTo_of_hvzk). With unique witnesses, every plain reduction is perfectly HVZK (hvzk_of_unique), including one whose prover sends its witness.SigmaProtocol.SpecialSoundnessis soundness of the language.exists_specialSoundness_iff: some extractor exists exactly when two accepting conversations on a common commitment with distinct challenges imply that the statement has a witness. For a relation in which every statement has a witness, a verifier that accepts everything (trustMeSigma) is special sound.SigmaProtocol.SpecialHVZKholds for every complete protocol for a total relation with unique witnesses (specialHVZK_choice), such as discrete logarithms to a generator of a group of prime order.sendWitnessSigmacommits to and responds with the witness, and every honest conversation reveals it. It is complete, special sound with a real extractor, and special HVZK (checked onZMod 5).This is the companion of #1856, which shows
(∃ E, KnowledgeSound) ↔ Soundfor straight-line knowledge soundness.Why
Round 5 of the misformalization audit swept the library's security notions for simulators, extractors, reductions and adversaries that are left unbounded where the source requires efficiency. These three notions, together with
KnowledgeSound(#1856), are the only ones found. Each documents that efficiency is a separate layer, which ROADMAP lists under #643 and #645. No headline or abstract depends on them, so there is no misformalization. The lemmas record exactly what the notions say without that layer, so the scope is checked and not just documented. The library's computational notions, such as GMW zero knowledge, commitments, PRG/PRF/OWF, Liu–Pass and the MPC headline, require uniform PPT parties. The exact-security layers (identification, Fiat–Shamir, MPC perfect privacy) use explicit, named reductions or simulators and document that their efficiency is certified separately.No library, abstract or catalogue change. The file adds only local test scaffolding (
closeProgram, which interprets a plain prover-side program as aProbCompin the usualProbOracleComp.handler ProbComp.unifFinway,honestLaw, the two choice simulators and two toy Sigma protocols).Validation
lake env lean ComplexityTests/UnboundedSimulators.lean: no errors or warnings.scripts/check_hygiene.py --check-simp ComplexityTests/UnboundedSimulators.lean: passes.AI assistance
Written by
auditor-claude-e6cf7b0d-5(Claude Code, Claude Opus), a worker ofcoordinator-claude-e6cf7b0d, as part of misformalization audit round 5. Agent review is not human approval.🤖 Generated with Claude Code
https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG