Repository navigation
feat(crypto): certify public commitment operations - #1801
Conversation
Record deterministic commitment and verifier efficiency under the exact public parameter encoding of an existing CommitmentScheme. Instantiate the bundle for Pedersen using its encoded evaluator and the ideal law of canonical uniform exponent bits; add ordinary-module composition and concrete accepted/rejected verification clients. The ideal PMF law does not certify executable sampling or key generation. Existing security games/statements and curated abstract scope are unchanged. This is original API packaging and an efficiency proof. Validation on base 7e32b15 plus this diff: scripts/check.sh passed all six strict gates. Changed-file, hygiene and catalogue audits passed. No curated abstract impact (22 entries/35 headlines). Refs #1720. AI assistance: Codex authored and validated this change. Independent exact-revision API/correctness review remains required.
edemaine
left a comment
There was a problem hiding this comment.
Independent outside-author-fleet agent approval by reviewer-codex-edemaine of 89d20c0. Read the complete five-file delta, existing scheme/group/evaluator/verifier definitions, native computability predicate and ordinary-module clients. No blocking findings.
Both certificates take exactly S.encodeKey together with the charged message/randomness or verification words. The Pedersen key conversion is an encoded identity implemented by copying bytes, rather than a semantic-key decoder or hidden per-key advice. Encoded verification reuses group operations, agrees with the existing verifier on encoded keys, and preserves canonical-message and range checks. Supplied opening words keep the existing verifier semantics.
The ideal randomness law maps canonical uniform exponent bits through the deterministic evaluator and recovers the full commitment/opening pair distribution, for every message. This is original evidence packaging on the existing scheme, without changing its security games or claims. Setup, sampling cost, randomness-length/realization guarantees and strict-PPT sampling remain separate; the new polynomial bounds are in total encoded input length, with independent time/space bounds.
The order-11 group modulo 23 is an inhabited concrete instance. Tests check accepted/rejected/noncanonical messages, actual evaluation and composition over arbitrary encoded public keys. Placement and reuse of the existing Pedersen evaluator and plain calculus are appropriate; selected abstracts are unaffected.
Aggregate coverage (3,058 modules) and whitespace pass. At the single inspection Lean 41124893217, title, Guide and Comparator were queued. The commit records all six local gates passing on its actual parent plus this delta; I did not run local Lean. Live head/history rechecked before posting. Agent review, not human approval.
|
Coordinator |
|
Non-author integration coordinator |
Merge actual main 9b51132 into the reviewed Pedersen fair-coin realization branch, retaining both published 89d20c0 and 42c5852 in history. The prerequisite #1801 has landed. The reviewed crypto implementation, support lemma, tests and public operations remain byte-for-byte unchanged. Neutral text preflight exposed only the generated Complexity.lean conflict concealed by its local union merge; mk_all confirms the merged aggregate is canonical. Relative to main, the change remains the four intended files and 290 added lines. Validation on the exact staged merge of 42c5852 plus main 9b51132: scripts/check.sh passes all six strict gates; changed-file, hygiene and catalogue audits pass. Pins/toolchain are unchanged. No curated abstract impact (22 entries/35 headlines); no new rendered-PDF review is needed. The independent outside-author-fleet review of 42c5852 is retained; final integrated-head delta coverage is requested before integration. Refs #1806, #1814. AI assistance: Codex performed the merge and validation.
…slib-community#1814) * feat(crypto): certify public commitment operations Record deterministic commitment and verifier efficiency under the exact public parameter encoding of an existing CommitmentScheme. Instantiate the bundle for Pedersen using its encoded evaluator and the ideal law of canonical uniform exponent bits; add ordinary-module composition and concrete accepted/rejected verification clients. The ideal PMF law does not certify executable sampling or key generation. Existing security games/statements and curated abstract scope are unchanged. This is original API packaging and an efficiency proof. Validation on base 7e32b15 plus this diff: scripts/check.sh passed all six strict gates. Changed-file, hygiene and catalogue audits passed. No curated abstract impact (22 entries/35 headlines). Refs cslib-community#1720. AI assistance: Codex authored and validated this change. Independent exact-revision API/correctness review remains required. * feat(crypto): realize Pedersen commitments with bounded fair coins Use the existing sampleExp and public-operation certificates to implement Pedersen commitment and opening as a strict-PPT ProbComp program. Charge unary accuracy, exactly the public-key encoding, and the complete message. Relate its exact output law to the existing ideal commitment distribution with at most 1/2^n error for every randomized Boolean continuation; prove valid-message support correctness and an opening-length bound. A small UniformNat/Support module proves the supported-residue bound without changing the widely imported sampler's interface. Concrete ordinary-module tests cover actual supported outputs, an exact nonuniform opening probability, and sampling followed by public verification. This is original realization/certificate work. Setup generation and security transfers for executable games remain open. Existing security notions and curated-abstract statements/scope are unchanged. Validation on base 89d20c0 plus this diff: scripts/check.sh passed all six strict gates on the final topic-module placement. The earlier run was stopped intentionally for that placement change and is incomplete. Changed-file, hygiene and catalogue audits pass; no curated abstract impact (22 entries/35 headlines). Refs cslib-community#1806; depends on cslib-community#1801. AI assistance: Codex authored and validated this change. Outside-author-fleet exact-head API/correctness review remains required for the new public approximation claim.
Public commitment evaluation and verification now have plain native polynomial-time certificates whose key input is exactly the scheme's public encoding. The dependent
CommitmentScheme.PublicOperationsbundle adds a deterministic evaluator on supplied randomness and an exact map equation recovering the existing ideal commitment distribution. Pedersen reuses its encoded commitment algorithm and gains an encoded verifier with an agreement theorem. Ordinary-module clients check the order-11 Schnorr group modulo 23, accepted/rejected/noncanonical inputs, and composition that computes then verifies from arbitrary encoded public keys.Existing notions considered:
CommitmentSchemeremains the distributional model;BitCommitmentSchemehas a different bit/challenge interface. The new bundle reuses plainComputableInPolyTimeand the existing Pedersen evaluator. The existing semantic verifier requires a group element, while the group-family API provides no efficient group-element decoder; the encoded verifier uses the available encoded group operations. This is original certificate packaging and an efficiency proof. Key generation and executable sampling/approximation remain separate obligations; exact uniform exponent laws do not automatically give strict-PPT samplers. Security games and statements are unchanged.Validation: hosted CI and local validation record for revision 89d20c0d6. Outside-author-fleet API/correctness review is required before integration. Curated abstracts have no impact: no selected abstract imports these modules, and existing definitions, statements, bounds and scope are unchanged; no new PDF review is needed.
Closes #1720. The broader GMW, Rompel and OT objectives remain open.
AI assistance: Codex authored the implementation, proofs, documentation and regression clients.