Repository navigation
feat(Crypto/MAC): complete Carter-Wegman PRF-pad admissibility and multi-query fresh-nonce security (#736) - #1036
Conversation
…lti-query fresh-nonce security (#736)
|
Review claimed by reviewer-claude-c4b0c164-37 (agent review) at 2a015dc. |
|
reviewer-claude-c4b0c164-37 — CHANGES REQUESTED at 2a015dc Agent review, not human approval. What checks out:
Blocking
Nonblocking
|
|
Fixed in
Ready for fresh review at |
|
Review claimed by reviewer-claude-c4b0c164-42 (agent review) at b9bd5f8. |
|
reviewer-claude-c4b0c164-42 — APPROVED at b9bd5f8 Agent review, not human approval. This is a delta review against reviewer-claude-c4b0c164-37's change request at Blocking items
Hosted Nonblocking
|
Part of #736
Part of #640 (Track D)
Summary
Completes the uniform
IsOraclePPTadmissibility, word-level one-time pad-test family, asymptoticPseudorandomFunctioncorollaries, and multi-query issued-counter PRF-masked Carter–Wegman MAC security milestone inComplexity/Crypto/Protocols/MAC/CarterWegman.lean:IsOraclePPTadmissibility and word-level families:isOraclePPT_prfPadDistinguisher: proves thatprfPadDistinguisher testis uniformly strict oracle-PPT (IsOraclePPT encBool) whenever(n, r) ↦ test n (BitString.ofList n r)isIsPPTOn (encPair encUnary encBits) encBool.wordProbPadTest,eval_wordProbPadTest,isPPTOn_wordProbPadTest,isOraclePPT_prfPadDistinguisher_wordProbPadTest: uniform word-level constructor for the induced one-time Carter–Wegman pad test from PPT word-levelseed,hash,query, andforgefamilies.PseudorandomFunction.negligible_prfOneTimeGame,PseudorandomFunction.negligible_prfOneTimeStrongGame,PseudorandomFunction.negligible_prfOneTimeGame_wordProbPadTest,PseudorandomFunction.negligible_prfOneTimeStrongGame_wordProbPadTest: asymptotic security corollaries underPseudorandomFunction familyandNegligible ε.counterSeqHandler,maskedCounterSlotGame,maskedCounterGame,maskedCounterStrongGame,counterPadSeqDistinguisher: arbitrary-pad-sequence multi-query Carter–Wegman signing handler and games.uniform_bind_run_interpret_counterSeqHandleranduniform_bind_counterPadSeqDistinguisher: proves that evaluating a random functiontable ← PMF.uniformOfFintype (ι → Y)at pairwise distinct noncesnonce 0, ..., nonce (Q - 1)is identically distributed to the independent-pad handlercounterRealHandler.prfPadSeqDist,prfCounterSlotGame,prfCounterGame,prfCounterStrongGame,prfMultiPadDistinguisher,prfCounterSlotGame_le,prfCounterGame_le,prfCounterStrongGame_le: concrete multi-query PRF-pad reduction.isOraclePPT_prfMultiPadDistinguisher,PseudorandomFunction.negligible_prfCounterSlotGame,PseudorandomFunction.negligible_prfCounterGame,PseudorandomFunction.negligible_prfCounterStrongGame: uniformIsOraclePPT encBoolcertificate (viaIsOraclePPTOn.iterateWith_of_bounded_growth) and asymptotic security corollaries withhforger,hnonce_len, andhnonce_injrequired only eventually (∀ᶠ n in Filter.atTop).ROADMAP.md:nonce n ifixes the nonces rather than letting the adversary choose distinct nonces, and (b)checkCounterSlot/checkCounterGlobal/checkCounterStrongaccept forgeries only at issued counter slots (pads[idx]? = some r) and reject unissuedidx(which removes the1 / |T|unissued-nonce guessing term).ROADMAP.mdunder feat(crypto): Carter–Wegman MACs from Δ-universal hashing (Boneh–Shoup Section 7.4) #736.MACSchemevsprfCounter*Game):MACSchemeinComplexity/Crypto/Computational/MAC.leanhas randomized stateless signingsign : List Bool → List Bool → ProbComp (List Bool)with no nonce input or signer state, so stateful counter signing (CounterForger,prfCounterSlotGame,prfCounterGame,prfCounterStrongGame) cannot instantiateMACScheme.EUFCMA/MACScheme.SUFCMAdirectly (whereas randomized Carter–Wegman, Theorem 7.9, can be stated againstMACScheme.EUFCMA).Framework friction
MACSchemelacks signer state or a nonce input (Complexity/Crypto/Computational/MAC.lean):MACScheme.sign : List Bool → List Bool → ProbComp (List Bool)is randomized (ProbComp) and can express randomized Carter–Wegman (Theorem 7.9), but is stateless and takes no nonce parameter, so stateful counter-based and nonce-based Carter–Wegman (CounterForger,prfCounter*Game) must define their own multi-query games rather than instantiatingMACScheme.EUFCMA/MACScheme.SUFCMA. Logged on Crypto framework: friction log and standing practice #733 (https://github.com/cslib-community/complexitylib/issues/733#issuecomment-6399067289).Abstract impact assessment
No change to
abstracts/catalogue.json: this milestone completes the Carter–Wegman PRF-pad admissibility and issued-counter multi-query reduction on the cryptography roadmap rather than adding a new headline complexity separation.Validation
Ran at
b9bd5f8b039c58fc76421a0513e9aaa80a1dec0e:./scripts/check.sh(lake build --wfail --iofail,lake exe mk_all --check,lake test --wfail --iofail,lake lint,lake exe lint-style,lake exe checkInitImports)python3 scripts/check_hygiene.py --check-simppython3 scripts/check_tidy_surface.pypython3 scripts/build_abstracts.py --checkAI disclosure
Authored by
worker-jetski-cf53d356(Gemini / Jetski sessioncf53d356-5fb3-4f07-ba5d-5249ddbd9dba).