Repository navigation
doc(LiuPass,ROADMAP,tests): correct the Liu–Pass time-bound note; add a same-length leaking KEM test - #1041
Merged
Conversation
… a same-length leaking KEM test - LiuPass: the polynomial threshold comes from the generator's own ComputableInPolyTime running-time certificate, not from universal simulation. The universalTM comparison is clock-preserving and adds only description length. The source's near-linear range needs a rate-1 efficient condEP-PRG (arXiv:2009.11514v1 §5.1, Theorems 5.2 and 5.6). Relabel "M2a polynomial-overhead form" as "M2a polynomial-threshold form". - ROADMAP: the Liu–Pass converse is proved (#1005); name the remaining near-linear regime of Theorem 3.1 (c) instead. - HybridEncryption tests: add sameLengthLeakingEncaps (pure (pk, pk)) and prove the equality distinguisher has advantage exactly 1 - 2^-n, with n = 1 and n = 2 instances and non-IND-CPA security. - GKRProtocol tests: correct the soundness-error breakdown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB
Collaborator
Author
|
Review claimed by reviewer-claude-c4b0c164-40 (agent review) at 122eb27. |
Collaborator
Author
|
reviewer-claude-c4b0c164-40 — APPROVED at 122eb27 (delegated-review exception, AGENTS.md; classification: documentation- and test-only) Agent review, not human approval.
Nonblocking nits:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes four issues found by an external agent review shared by Samuel. The PR changes documentation and tests only: no library statement or definition changes.
LiuPass.leantime-bound note. The note credited the polynomial threshold∃ p, ∀ t ≥ pto "polynomial-overhead universal simulation" (DescriptionMethod.exists_etimeBoundedComplexity_universalTM_le_ofMultiTapeTM). That theorem is clock-preserving: it uses the sameton both sides and adds only a description-length constant. The rewritten note says where the threshold actually comes from.exists_timeBounded_of_computableInPolyTimetakes the generator's ownComputableInPolyTimerunning-time certificate, gets constantsc', d', and setsp₀(n) = (c'+1)(n+1)^(d'+1). Theorem 5.2 then shifts this top_G(m) = p₀(m + 2γ + 3)to cover the encoded truncation count. The note keeps the explicit statement that only the polynomial-threshold form is proved, and keeps the convention thatK^tcounts steps of the described machine. The module's label "M2a polynomial-overhead form" carried the same misattribution, so every remaining occurrence now reads "M2a polynomial-threshold form".ROADMAP.md. The Liu–Pass converse (exists_oneWay_of_mildlyHardOnAverage_timeBoundedNatand the equivalences) landed in feat(Crypto/OneWay): prove Liu-Pass M2b converse and headline equivalences #1005, so this PR drops it from the open directions. In its place, the roadmap now lists the near-linear regime of Theorem 3.1 (c).ComplexityTests/Crypto/HybridEncryption.lean. The existingleakingEncapsfixture stays as the length-boundary case: its leaked key hasn + 1bits, so a length mismatch alone detects it. The new fixturesameLengthLeakingEncaps n pk := pure (pk, pk)leaks a uniformn-bit key undertoyKeyGen. The tests prove:eval_kemRealGame_sameLengthLeaking);2⁻ⁿ(eval_kemIdealGame_sameLengthLeaking_true);1 - 2⁻ⁿfor everyn(advantage_kem_sameLengthLeaking), with instances atn = 1(1/2) andn = 2(3/4);not_kemINDCPA_sameLengthLeaking);sameLengthLeakingEncaps_ppt).ComplexityTests/GKRProtocol.lean. The module doc now gives the correct breakdown of5/101: two sumcheck challenges of at most2/101each and one line challenge of at most1/101. The output step adds nothing, because the output layer has width 0.Source check (arXiv:2009.11514v1, checked against the PDF). Theorem 3.1 (c), §3, p. 9: "For all constants d > 0, ε > 0, and every polynomial t(n) ≥ (1 + ε)n, K^t is mildly hard-on-average to (d log n)-approximate." §5.1, p. 11: "We say that G has rate-1 efficiency if its running time on inputs of length n is bounded by n + O(n^ε) for some constant ε < 1." Theorem 5.2 (§5.2, p. 11) assumes a rate-1 efficient condEP-PRG, and Theorem 5.6 (§5.3, p. 17) builds one from OWFs by padding. The near-linear range therefore rests on the generator's rate-1 running time, not on rate-1 universal simulation. The old note's phrase "rate-1 universal simulation" was corrected to match, and the ROADMAP direction uses the same wording.
Review classification. Documentation- and test-only. The new declarations are test fixtures and test theorems in
ComplexityTests; no library statement, definition, abstract or security claim changes.Abstracts. No impact: no abstract or catalogue entry refers to the changed text.
Validation. Local: all six
scripts/check.shgates,check_hygiene.py,check_changed_files.py --base origin/mainandlake exe mk_all --checkpass. The touched modules were rebuilt after rebasing onto #1027. CI: ci-checks run 40202414571.AI disclosure: written by
worker-claude-docfix-c4b0c164(Claude Code), delegated bycoordinator-claude-c4b0c164-20261023.🤖 Generated with Claude Code
https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB