sub-MTU XMSS formal proof of classical security in ROM - #10
Conversation
Retrospective adversarial reviewDisclosure: this review was prepared with assistance from an OpenAI Codex agent. The agent was explicitly asked not to trust or merely restate the earlier audit, but to justify and illustrate every issue, try to falsify each finding, search for omissions, distinguish fixed, retracted, pre-existing, and newly introduced issues, and explain Lean and VCVio mechanisms for a reader who knows leanVM and XMSS better than Lean. The review compared the earlier and final PR heads, built the Lean project, inspected the elaborated theorem and axiom footprint, traced the pinned VCVio query-bound and logging definitions, checked the paper and implementation against the formal game, ran targeted Rust and recursive-aggregation tests, and reproduced the malformed-signature panic. The findings below were rechecked against the merged tree at The central result holds up. The public proposition remained unchanged through the final proof refactor, all 143 local proof modules are reachable from the root, and the root theorem depends only on The qualifications below concern the public claim surface and the boundary between the proved ideal scheme and leanVM's deployed system. I have separated small documentation changes from larger refinement and composition results that can reasonably be follow-up work. 1. What the checked 127-bit theorem means, and where the usual Winternitz loss went
hash queries. The proof establishes the sharper intermediate inequality before This also puts the informal 127.3-bit estimate in context. Dividing the sharp bound by the total budget gives a coefficient in front of The formal proof appears to avoid the standard Winternitz chain-position loss in a principled ROM-specific way. A standard-model proof guesses the relevant epoch, chain, and chain position, then pays a This does not contradict the standard-model analysis because the ROM supplies the global independence and programming structure used by the coupling. Please expose the sharp theorem and add a human-readable proof sketch explaining the global table, causal reveal monitor, absence of the chain-position hybrid, additive 42 probes, and final two-lane union. If a conventional attacker-resource claim is wanted, it should cancel the fixed key-generation cost and show other honest work explicitly rather than calling the total-game 2. The ideal full key is not yet refined to the seeded restricted Rust key
Those are reasonable implementation choices, but they are not identical distributions. Relating them requires a PRF hybrid with explicit computational resources, plus a separate sparse-tree and activation-range refinement. This is especially important because the Lean adversary is otherwise arbitrary subject to an oracle-query bound, while a keyed-BLAKE2s PRF claim requires a computational resource model. Please qualify the seed and restricted-key remarks, for example:
The full hybrid can be tracked as follow-up work. 3.
|
Lean4 proof (using VCVio) of 127 bits classical security (strong unforgeability), in the ROM, for the sub-MTU XMSS instance we use.