mirror of
https://github.com/saymrwulf/fips205-slhdsa-verified.git
synced 2026-09-04 20:03:44 +00:00
audit catch 3: state the per-layer allowed axiom set precisely
'What will be claimed' promised cones of exactly the three kernel axioms — right for ed25519 field/scalar layers, wrong here: the hash oracles permeate every SLH-DSA layer (chain already calls F). The honest contract, now stated: each certificate cone = the three kernel axioms + at most the five named oracles, nothing else; plumbing axioms must be discharged before any certificate ships, audit-enforced. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
f1603bea87
commit
bc8ea78570
1 changed files with 15 additions and 6 deletions
21
README.md
21
README.md
|
|
@ -92,12 +92,21 @@ this repository was created:
|
||||||
## What will be claimed (when the button is green, not before)
|
## What will be claimed (when the button is green, not before)
|
||||||
|
|
||||||
One theorem per layer, each a statement about the **extracted** functions
|
One theorem per layer, each a statement about the **extracted** functions
|
||||||
(H3), compiled by `verification/check.sh` with `#print axioms` reporting
|
(H3), compiled by `verification/check.sh` with a per-certificate
|
||||||
exactly `[propext, Classical.choice, Quot.sound]` (H1): chain semantics,
|
`#print axioms` audit (H1): chain semantics, WOTS+ pk recomputation,
|
||||||
WOTS+ pk recomputation, XMSS path recomputation, hypertree acceptance,
|
XMSS path recomputation, hypertree acceptance, FORS pk recomputation,
|
||||||
FORS pk recomputation, and the apex — `slh_verify_internal` accepts iff
|
and the apex — `slh_verify_internal` accepts iff the recomputed
|
||||||
the recomputed hypertree root equals the pinned public-key root, under
|
hypertree root equals the pinned public-key root.
|
||||||
the stated oracle boundary.
|
|
||||||
|
**The allowed axiom set, stated precisely:** unlike the ed25519 field and
|
||||||
|
scalar layers (whose cones are exactly `[propext, Classical.choice,
|
||||||
|
Quot.sound]`), the hash oracles permeate *every* SLH-DSA layer — `chain`
|
||||||
|
already calls `F`. So each certificate's cone may contain the three
|
||||||
|
kernel axioms **plus at most the five named oracles**
|
||||||
|
(`verify_mono.oracle.{h_msg, f, h, t_l, t_len}`) — and nothing else: the
|
||||||
|
transpiler-plumbing axioms currently in `FunsExternal.lean` must be
|
||||||
|
discharged before any certificate ships, and the audit fails the button
|
||||||
|
if any of them (or anything unlisted) appears in a cone.
|
||||||
|
|
||||||
## Discipline
|
## Discipline
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue