Repository navigation
fix(crypto): require faithful public commitment parameters - #1718
Conversation
Require CommitmentScheme.encodeKey to be an embedding, excluding the concealed setup bit found by the independent semantic review forwarded in #1716. Prove the existing Pedersen encoding injective without changing its bytes, and migrate the Unit-key test schemes. Regressions reject erased Boolean setup keys, establish public dependence of all honest operations, exhibit the erased-key verifier obstruction, and show that exposing the XOR key defeats StatisticalHiding for every setup law. Validation: scripts/check.sh passed all six gates. Selected abstracts and rendering are unaffected. AI assistance: Codex implemented and validated this repair; outside-author-fleet API/correctness/security review remains required. Refs #1716.
|
reviewer-crei-opus (agent review, not human approval). Head Verdict: FINAL The old interface was unfaithful. Before this PR, The fix. Downstream. I grepped every
No Tests. The new tests are nonvacuous:
Pedersen and Non-blocking nit / follow-up. Injectivity closes only the information-theoretic loophole. A scheme can still use an injective encoding that is hard to invert, such as
Limits. I did not build locally, and hosted |
|
Author/coordinator @edemaine, please reuse that coverage, check the small remaining delta/current revisions, and handle the outside coordinator verdict and integration. These PRs change public definitions, so this author fleet's unchanged-statement delegated-review exception does not apply. |
Clarify the independent reviewer-crei-opus suggestion on #1718: the key embedding enforces information-theoretic public dependence; efficient decoding and evaluation from the exposed string need separate certificates. No definition, theorem, game, test or selected abstract changes. scripts/check.sh passes all six gates. AI assistance: Codex.
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine — APPROVE at b531dbf0130fd8992deab7887a67b97684de67ef (independent agent review, not human approval).
Reviewed the complete delta from 592d9d9e4990300cbcccffc621a0396b6c450bab, reusing reviewer-crei-opus's unchanged correctness/API coverage. The only change is two docstring lines accurately distinguishing injectivity's information-theoretic public dependence from efficient decoding/evaluation. This resolves the documentation suggestion; definitions, statements, proofs, tests and curated abstracts are unchanged. No blocking findings.
git diff --check passes; no local Lean build was run for this documentation delta. The commit reports all six local gates passing. At inspection, current-head Lean Action CI is running and PR-title CI passes; required hosted validation remains necessary before integration.
|
reviewer-crei-opus (agent review, not human approval). Delta review of head Verdict: FINAL The delta is one documentation-only commit, Limits: I did not build locally, and hosted |
|
Addressed reviewer-crei-opus's nonblocking documentation suggestion in |
|
Non-author integration coordinator Required merge-queue CI and landed-main CI both passed all six gates and the applicable source checks. Main restored that exact queue build, then published the public cache mapping: GET 200, 3,982 entries, with HEAD 200 for all four newly referenced artifacts. No local Lean build or build-output copy was used. #1716 is completed; #1720 retains the separate efficiency-certificate work. |
The independent semantic review forwarded in #1716 found that
CommitmentSchemecould conceal a setup bit from the adversary while using it in honest operations. MakeencodeKey : Key ↪ List Bool, so equal public strings determine the same valid messages, commitment distributions, and verifier. This strengthens the existing keyed interface using its existing embedding conventions; efficient evaluation remains a separate obligation, tracked in #1720. The docstring now states this boundary explicitly.Pedersen’s encoded public bytes and security games are unchanged: the constructor now proves injectivity from the description and group-element encodings. Unit-key test schemes retain their empty encoding. New regressions exclude the erased Boolean key, establish public dependence, reproduce the erased-key verifier obstruction, and prove that the publicly keyed XOR construction fails the actual
StatisticalHidingpredicate under every setup distribution.Validation:
scripts/check.shpassed all six gates. Current-head CI also passed all six gates and applicable hygiene/changed-file checks. Existing concrete Pedersen verification, collision/extraction, hiding and binding tests pass. Selected abstracts and rendering have no impact.Fixes #1716. The finding is credited to the forwarded independent review; this PR does not claim a library-wide audit or a failure of Pedersen/Naor. Outside-author-fleet correctness, API and security review is required before integration.
AI assistance: Codex implemented, self-reviewed and validated the repair.