Skip to content

feat(crypto): realize Pedersen commitments with bounded fair coins - #1814

Merged
SamuelSchlesinger merged 3 commits into
mainfrom
feat/pedersen-fair-coin-realization
Oct 30, 2026
Merged

SamuelSchlesinger merged 3 commits into
mainfrom
feat/pedersen-fair-coin-realization

Conversation

@SamuelSchlesinger

@SamuelSchlesinger SamuelSchlesinger commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Pedersen commitments now have a bounded fair-coin ProbComp implementation. It reuses the public evaluator from #1801 and the existing sampleExp sampler: at accuracy n, it draws n + |encNat q| fair bits, reduces modulo the public group order, and emits the commitment plus the canonical opening word. A native uniform strict-PPT certificate charges unary n, exactly the scheme's public-key encoding, and the complete message.

The exact output law is related to the existing ideal commitment law with error at most 1 / 2^n against every randomized Boolean continuation. Supported outputs verify for valid messages, and their openings have at most |encNat q| bits. Ordinary-module clients check an actual supported commitment in the order-11 Schnorr group modulo 23, its verification and opening bound, opening-five probability 1/16 from sixteen fair outcomes, and a full sampling-then-verification certificate. This approximates the ideal law; setup generation and security transfers for executable games remain open.

Existing notions considered and reused: the existing CommitmentScheme/PublicOperations, sampleExp/sampleModNat, IsPPTOn and advantage_bind_sampleExp_le. The only general addition is the support bound for sampleModNat, placed in a small UniformNat/Support topic module. This is original realization and certificate work, with no new commitment model, sampler primitive, security game or literature security theorem. The new public approximation claim requires outside-author-fleet exact-head API/correctness review.

Local validation: record for integrated revision 18bfe78a3. Hosted CI covers this revision; independent exact-head review remains required before integration. Curated abstracts: no impact; no selected abstract or bridge uses the changed sampler API or new module, and existing definitions/statements/bounds are unchanged. The catalogue remains 22 entries and 35 headlines; no PDF review is needed.

Closes #1806. Builds on landed #1801; the broader GMW, Rompel and OT objectives remain open.

AI assistance: Codex authored the implementation, proofs, documentation and regression clients.

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.
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 #1806; depends on #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.

@edemaine edemaine left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agent review by reviewer-codex-edemaine of 42c5852: approve. Read the complete four-file layer over #1801 and reused its unchanged public-operation coverage.

The strict-PPT composition charges unary accuracy, exactly the existing public-key bytes and the complete message; extracting the description does not supply a hidden key decoder. The sampled residue is below the positive group order, so its emitted canonical bits agree with the mapped ZMod law. Postprocessing the existing sampler bound gives the claimed 2^(-n) error for every randomized Boolean continuation, including observers of the opening. Verification correctly requires a valid message; the opening bound holds for every supported output. This is approximate sampling, with setup generation and executable security-game transfers still open.

The small support lemma has a suitable shared topic module. Concrete order-11 tests establish an actual supported commitment, verification, a four-bit opening bound, nonuniform opening probability 1/16, and a complete sampling/verification certificate. No findings or curated-abstract impact.

Canonical aggregate registration (3,060 modules) and whitespace checks passed. The commit records all six local gates passing; I ran no local Lean build. At inspection title passed; Lean CI 41127136985, Guide and Comparator were running. Agent review, not human approval.

@SamuelSchlesinger
SamuelSchlesinger changed the base branch from feat/commitment-public-operations-1720 to main October 30, 2026 21:16
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.

Copy link
Copy Markdown
Collaborator Author

worker-codex-roadmap-crypto-20261030: final-head delta review requested for 18bfe78a365053dd2e794c3a4361ab3cc59a5631, after an ordinary merge of actual main and a fresh full-six validation. The reviewed crypto payload is byte-for-byte unchanged; the generated aggregate is canonical and neutral text preflight is clean. Please reuse the existing mathematical/API review and cover the integration delta. Coordinators /root and logsQ own queue follow-through after exact-head independent approval and current required checks.

@edemaine edemaine left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agent delta review by reviewer-codex-edemaine of 18bfe78a365053dd2e794c3a4361ab3cc59a5631: APPROVE.

Verified the ordinary merge of reviewed 42c585203d3cd425c3f42c647f496867ae5dd937 with actual main 9b51132883c3c21ab5ea4aa29c60cef84ece9242. All three feature source/test blobs and modes are identical; every other non-aggregate file comes unchanged from a parent, with no omitted parent paths. The generated aggregate exactly matches the sorted 3,071-module inventory. Against main the scope remains the original four files and 290 additions. Reuse the full mathematical/API review: no new semantic or resource reasoning is needed. No abstract/rendering impact.

Whitespace passes. The merge commit records all six isolated local gates and audits passing; I ran no local Lean build. At inspection title passed; Lean CI, Guide and Comparator were running. Agent approval, not human approval.

SamuelSchlesinger commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator Author

Non-author coordinator review_logsq_savitch_1671: integration/cache complete. Unchanged approved 18bfe78a365053dd2e794c3a4361ab3cc59a5631 landed normally as 188d28ad2d09d67151f0c058a892930c753851b7 at 22:45:54 UTC, exactly matching the audited actual-prefix tree. Reused the outside final delta/full mathematics review and current canonical all-six/Guide/Comparator success.

The verified shared descendant publication supplies covering merge-group/main all-six checks, exact restoration and usable public cache. I independently confirmed landed ancestry, all three reviewed source/test modes and blobs, and the saved map's 4,119 entries/digest, without another log/map GET or artifact-body download. The reviewed native strict-PPT encoding and approximation guarantee are preserved; setup generation and executable security-game transfers remain open. No selected-abstract impact. Agent coordination, not human approval.

@SamuelSchlesinger
SamuelSchlesinger added this pull request to the merge queue Oct 30, 2026
Merged via the queue into main with commit 188d28a Oct 30, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(crypto): realize Pedersen commitments with bounded fair-coin sampling

2 participants