soft-hash analysis §9.2: pin Phase 1 reference impl landing under #000035
#000035 Phase 1 (φ_PRG reference implementation) landed 2026-05-10: HMAC-SHA-512 counter-mode KDF at arborist/substrate/anchor_prg.py, 20 tests, 10 KAT vectors, PHI_PRG_VERSION export. §9.2 of the soft-hash analysis already recorded the design decision ("use HMAC-SHA-512(seed, digest ‖ counter)") but did not yet point at the landed reference. This commit closes that gap by linking §9.2 to the impl/tests/KAT artifacts and updating §11 status block to reflect the new state — decision pinned + Phase 1 landed, awaiting v7 plastic-training spec for the §9.10 amendment landing (Phase 2, exogenous gate). Doc-only update; no schema, no governance hash, no code change.
This commit is contained in:
parent
018a2a163b
commit
0b038f1e36
1 changed files with 26 additions and 4 deletions
|
|
@ -394,6 +394,25 @@ The reduction in §4 leaves three loose threads:
|
||||||
dim_h floats. Keeps the dependency surface (already on SHA-256)
|
dim_h floats. Keeps the dependency surface (already on SHA-256)
|
||||||
tight.
|
tight.
|
||||||
|
|
||||||
|
**Phase 1 landed 2026-05-10** under #000035: reference
|
||||||
|
implementation at `arborist/substrate/anchor_prg.py`
|
||||||
|
(HMAC-SHA-512 counter-mode KDF, pure stdlib — `hashlib` +
|
||||||
|
`hmac`, no third-party crypto dep). 20 tests in
|
||||||
|
`tests/test_anchor_prg.py` covering determinism, range
|
||||||
|
invariants, chi² uniformity, dim_h boundary (1, 16384),
|
||||||
|
seed-bit-flip and hash-bit-flip avalanche, input validation,
|
||||||
|
module-export shape, and KAT regression. 10 pinned KAT
|
||||||
|
vectors at `bench/fixtures/phi-prg/known-answer-tests.jsonl`
|
||||||
|
covering block-boundary cases (dim_h=16 = one HMAC block;
|
||||||
|
dim_h=17 = two blocks with truncation), one-bit-flip
|
||||||
|
variants, and a 4096-element counter-rollover stress sample.
|
||||||
|
Module exports `PHI_PRG_VERSION = "phi-prg-v1-hmac-sha512"`
|
||||||
|
so future algorithm rotation is detectable at the call site
|
||||||
|
without string-comparing module paths. Spec amendment text
|
||||||
|
drafted at #000035 §3.4; Phase 2 lands it into a v7
|
||||||
|
plastic-training spec when one gains an active deployment
|
||||||
|
target.
|
||||||
|
|
||||||
3. **T3 per-window budget formal bound.** ~~§6 lists "bounded by
|
3. **T3 per-window budget formal bound.** ~~§6 lists "bounded by
|
||||||
per-window budget" without giving the bound.~~ **Closed
|
per-window budget" without giving the bound.~~ **Closed
|
||||||
2026-05-10**: the explicit closed-form bound now lives at
|
2026-05-10**: the explicit closed-form bound now lives at
|
||||||
|
|
@ -424,10 +443,13 @@ The reduction in §4 leaves three loose threads:
|
||||||
|
|
||||||
**Open questions:** §9.1 (Hessian alignment under `φ_linear`,
|
**Open questions:** §9.1 (Hessian alignment under `φ_linear`,
|
||||||
parks on v7 deployment per #000034 Phase 1b),
|
parks on v7 deployment per #000034 Phase 1b),
|
||||||
§9.2 (PRG cryptographic strength for `φ_PRG`, awaits v7 §9.10
|
§9.2 (PRG cryptographic strength for `φ_PRG`: decision pinned +
|
||||||
spec amendment per #000035 Phase 2). §9.3 closed 2026-05-10
|
Phase 1 reference implementation landed 2026-05-10 per #000035 —
|
||||||
via the T3 per-window bound at
|
HMAC-SHA-512 with 32-byte committed seed, KAT-pinned; awaits v7
|
||||||
``docs/soft-hash-channel-t3-bound.md`` (under #000036).
|
§9.10 spec amendment when v7 plastic-training spec gains an
|
||||||
|
active deployment target). §9.3 closed 2026-05-10 via the T3
|
||||||
|
per-window bound at ``docs/soft-hash-channel-t3-bound.md``
|
||||||
|
(under #000036).
|
||||||
|
|
||||||
**Closed:** §4 reduction shows T1/T2 are bounded by SHA-256 partial-
|
**Closed:** §4 reduction shows T1/T2 are bounded by SHA-256 partial-
|
||||||
preimage hardness under any `φ` independent of parameter geometry.
|
preimage hardness under any `φ` independent of parameter geometry.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue