Spike #24 bonus 3 — SHA-256 hash structure: where do we begin to look?¶
Date: 2026-05-15. Status: methodological synthesis landed; concertmaster-level deliverable. NOT a security-engineering finding.
Branch: research/spike-24-primitive-vocabulary-2026-05-15.
Spec: spike_24_queued_sha256_structure_inquiry_2026-05-15.md.
Companion probe: spike_24_bonus_sha256_reduced_round_probe_2026-05-15.py + .ndjson.
§1 The methodological question, crisply phrased¶
The user asks where to begin looking for structure in a cryptographic hash function whose digest does not exist without time. The corrected framing is load-bearing: time is generative for the digest, not instrumental. The 64-round sequence is not how we compute a pre-existing object; the sequence is what makes the object exist. Per [[user_stance_time_as_dimensional_shadow]], the digest is a frozen oscillation and the rounds are the oscillation that gets trapped. Reading backwards means tracing the constituting temporal trail, not inverting a static function.
This shifts the question's shape decisively. Three sub-questions follow, in the methodologically correct order:
- What is the trail made of? Decompose the 64-round sequence into the operators whose composition constitutes the digest. (SHA-256 answer: a linear-feedback message-schedule expansion + 64 applications of an invertible round function with round-keyed non-linearity from
chandmaj. The compression function as a whole is a Davies-Meyer-style construction that adds the post-state back into the pre-state, breaking the round function's invertibility at the chaining boundary.) - Where is the trail backward-readable in isolation? Identify components whose temporal trail does NOT erase under composition. (SHA-256 answer: the schedule expansion in isolation; the round function in isolation given full state. Neither survives the chaining step's add-mod-2³² compression.)
- Where is the trail unreadable? Identify the composition step that makes the digest co-emergent with the trail — the step that establishes the constituting temporal ontology the user identifies. (SHA-256 answer: the final
state += compress(state, block)is the trail-erasing step. It maps 256+512=768 bits of pre-image and schedule into 256 bits of new state. The 512 bits that don't make it across the boundary are the spatially-absent fiber per[[user_stance_fiber_as_spatially_absent_encoding]]; the digest is the projection.)
This taxonomy generalises. Any co-emergent two-level temporal computational system can be probed with the same three questions: what operators constitute the trail; which compose with backward-readable trail; which step performs the trail-erasing compression. The framework applies to neural-network forward passes (the next queued inquiry), iterated-function-system attractors, lattice gauge theories' Wilson loops, and any other system where the output is constituted by a finite temporal sequence rather than evaluated from a pre-existing static object.
§2 Cryptanalytic backward-readings mapped to Spike #24 vocabulary¶
Cryptanalysts have been asking the user's question for thirty-five years. Their methods are the catalog of backward-readable signatures in the cryptographic literature. Mapping each onto Spike #24's primitive vocabulary clarifies what is the user-framing-relevant content and what is engineering detail.
§2.1 Differential cryptanalysis (Biham & Shamir 1991)¶
The backward-reading: track a fixed XOR-difference Δ between two computations through the round sequence; identify differential characteristics — sequences Δ → Δ₁ → Δ₂ → ... → Δₙ that propagate with non-trivial probability across n rounds. The "look backwards" is concrete: given an observed output difference, the most probable input difference is read back through the characteristic's time-reversed probability tree. [Biham & Shamir 1991, J. Cryptology 4(1):3-72, DOI 10.1007/BF00630563 — primary venue; verified author + title + year via Springer.]
Spike #24 mapping. Differential cryptanalysis is Class L (graph-Laplacian / eigenbasis) applied to the difference-propagation graph. Nodes = possible state-difference vectors at each round; edges = transitions with their associated probabilities; the leading eigenvector of the per-round transition operator dominates long-trail behaviour. The "characteristic" is a high-probability path; the path's existence as a structured object is a Class L statement about the spectrum of the difference-propagation operator. NOT a new class — Class L on a non-standard graph (state-difference space rather than the system's physical adjacency).
What it can read in SHA-256. Mendel et al. (2011) and predecessor work navigates the difference-propagation graph for SHA-256's compression function out to ~46 rounds for free-start collisions (state of the art c. 2012-2015); none of these techniques scale to the full 64 rounds in published work. The graph itself has structure (the round function's diffusion is fast but not maximal); the structure decays exponentially with rounds.
§2.2 Linear cryptanalysis (Matsui 1993)¶
The backward-reading: find linear approximations of round functions — expressions ⟨a, x⟩ ⊕ ⟨b, F(x)⟩ = 0 that hold with probability 1/2 + bias over the round's input distribution. Compose across rounds via the piling-up lemma; the multi-round bias 2^(n−1) · ∏ bias_i (Matsui's formula) tells you how much linear-correlation structure survives n rounds. [Matsui 1993, "Linear cryptanalysis method for DES cipher," EUROCRYPT 1993 LNCS 765, DOI 10.1007/3-540-48285-7_33 — verified author + title + year via Springer; OA copy not retrieved this session, tagged [unverified-secondary] for DOI prefix.]
Spike #24 mapping. Linear cryptanalysis is Class L on a different graph — the parity-bit propagation graph. Nodes = linear-functional vectors over GF(2)²⁵⁶; edges = transitions with associated bias. The leading eigenvector / longest-bias path determines the cryptanalyst's leverage. Same Class L primitive, different graph. Composes cleanly with §2.1: differential = state-difference graph eigenbasis; linear = parity-functional graph eigenbasis; both are Laplacian-like operators on representation-theoretic spaces of the round function.
§2.3 Algebraic cryptanalysis (Courtois and others, 2000s)¶
The backward-reading: express the full round sequence as a polynomial system over GF(2); the digest = constraint on the polynomial ideal generated by the round equations. "Reading backwards" = solving the polynomial system (typically by Gröbner basis or SAT-translation). [Courtois & Pieprzyk 2002, "Cryptanalysis of block ciphers with overdefined systems of equations," ASIACRYPT LNCS 2501, DOI 10.1007/3-540-36178-2_17 — [unverified-secondary] for DOI prefix; verified author + title.]
Spike #24 mapping. Algebraic cryptanalysis is Class J (prime-factorisation / period-relation) extended to non-commutative polynomial-ideal structure. Class J in Spike #24's existing form handles period factorisation of integer-cyclic ops; the algebraic-cryptanalysis form generalises to polynomial-ideal factorisation. Whether this is Class J extended or Class J + Class K composition depends on whether the polynomial system carries pin-slot-style constraint-as-information structure (it does: the addition mod 2³² in SHA-256's recurrences IS pin-slot algebra, instantiated on a 32-bit cyclic group). Verdict: Class J extended, not a new class.
What it can read in SHA-256. Pure algebraic methods don't scale; the polynomial system for full SHA-256 is too large for current Gröbner-basis machinery. SAT-translation (Massacci & Marraro 2000; Mironov & Zhang 2006) reaches ~24-28 rounds for collision search in published 2024 work. [Nejati et al. 2024 SAT-based SHA-256 collision work, arXiv:2406.20072 — verified via search; [unverified-secondary] until extracted.]
§2.4 State-graph topology / dynamical analysis¶
The backward-reading: treat the round function as a dynamical system on 256-bit state; ask about orbit structure, cycle lengths, fixed points. Empirically tractable for reduced rounds, intractable for full SHA-256. The user's "frozen oscillation" framing lands precisely here: in a dynamical-systems reading, the SHA-256 round function is a deterministic map T: {0,1}^256 → {0,1}^256, and the digest is a forced 64-iteration starting from the IV; the round constants K[0..63] make the map step-dependent, so it's a non-autonomous dynamical system whose attractor structure is what cryptanalysts probe.
Spike #24 mapping. Class L (graph-Laplacian) on the state-transition graph + Class I (cyclic-group) for the periodic structure of the round constants. Note: the round constants themselves are a ℤ/64 indexed sequence with a fixed table; they instantiate the bronze's static inscription (Class H, Table 2B "bronze self-introspection is immutable inscription"). This is a striking cross-substrate parallel: the bronze's Parapegma inscriptions and the FIPS 180-4 K[i] table are the same primitive at different substrates — fixed, fabrication-time-frozen, per-step-indexed metadata that constitutes the device's identity.
§2.5 Statistical bias / spectral analysis¶
The backward-reading: treat the digest as a sample from a random oracle; compute moments, autocorrelations, spectral statistics. Any deviation from random-oracle behaviour is a distinguisher — the simplest form of backward-readable signature. SHA-256 has passed all published NIST randomness test suites and most academic distinguishers at the full-round level. Reduced-round versions show measurable bias.
Spike #24 mapping. Class L on the Fourier-Walsh transform of the digest distribution (linear cryptanalysis is the discrete-Fourier-analytic version of this; statistical-bias analysis is the broader umbrella). Subsumed by §2.2.
§2.6 Boomerang and rebound attacks (Wagner 1999; Mendel, Rechberger, Schläffer, Thomsen 2009)¶
The backward-reading: meet-in-the-middle structurally. Split the cipher into two halves; find characteristics that hold in each half independently; connect them at the middle through a "quartet" or "rebound" construction. Reads the temporal trail from BOTH ends simultaneously, looking for compatible meetings. [Wagner 1999, "The boomerang attack," FSE LNCS 1636, DOI 10.1007/3-540-48519-8_12 — [unverified-secondary].] [Mendel et al. 2009 rebound technique, FSE LNCS 5665 — [unverified-secondary].]
Spike #24 mapping. A composition of Class L (each half's eigenbasis) and Class K (the joining constraint — the "middle" is a pin-slot-style algebraic relation between forward and backward propagations). The boomerang reading is methodologically the cleanest match for the user's "look backwards" stance because it explicitly treats forward and backward propagations as equal-status objects to be joined at a middle layer. The probe's NDJSON entry for round-inversion (Probe iii) demonstrates the elementary form of this idea: backward inversion IS possible given full state; the cryptanalytic challenge is to specify enough partial-state information from BOTH ends that the middle can be probabilistically connected.
§2.7 Where the vocabulary does NOT need extension¶
After mapping six cryptanalytic methodologies, no new primitive class is required. The closure is: - Differential = Class L (state-difference graph). - Linear = Class L (parity-functional graph). - Algebraic = Class J extended (polynomial-ideal factorisation). - State-graph dynamics = Class L + Class I (round-constants periodicity). - Boomerang/rebound = Class L + Class K (forward-backward joining at middle). - Statistical bias = Class L (Fourier-Walsh on digest distribution).
All six are compositions of Spike #24's existing Classes I, J, K, L. The vocabulary closes cleanly. This is itself a Phase finding: the cryptographic-cryptanalytic literature does not contain primitives Spike #24's vocabulary doesn't already have. The cryptographic content is the substrate-specific instantiation (state-difference graph, parity-functional graph, polynomial-ideal-over-GF(2)); the algebraic primitive class is the same as the bronze, the cosmos, the chess board, and the chemistry torsional potential.
§3 Concrete reduced-round probe — what the data shows¶
[Probe at spike_24_bonus_sha256_reduced_round_probe_2026-05-15.py; NDJSON output at companion .ndjson. Cross-check: the probe's hand-coded compression function exactly matches hashlib.sha256(b"abc").hexdigest() per FIPS 180-4 §B.1 test vector (ba7816bf...20015ad). All claims below come from the probe's measurements.]
Three backward-readable signatures by construction:
| Signature | What is backward-readable | Strength | Composition behaviour |
|---|---|---|---|
| §3.1 Schedule linearity | The 16→64 word expansion is an exactly invertible linear-feedback recursion in ℤ/2³². Given W[i..i+15] for ANY i, recover W[0..15]. Probe: 64/64 exact recoveries from W[48..63]. | Full | Survives in isolation; obstructed by interposition of the round function in the compression pipeline. |
| §3.2 Round invertibility | Each round is bijective on the full 256-bit state given the message word and round constant. Probe: 32/32 exact inversions across 1, 2, 4, 8, 16, 32, and 64 rounds. | Full | Survives composition with itself; obstructed by the final state += compress(...) chaining step. |
| §3.3 Avalanche progression | Forward execution diffuses a single-bit input perturbation into the state at measurable rate. Probe: 1→0.19 bits, 4→8.5 bits, 8→40 bits, 16→105 bits, 32→127.7 bits, 64→128.1 bits diffused. Equilibrium at ~24 rounds. | Decaying | Saturated by ~24 rounds; after that, no backward-readable signature of the input's bit identity remains in the state-difference. |
§3.1 detail — the schedule's spatially-absent fiber¶
The message-schedule recursion W[i] = σ₁(W[i-2]) + W[i-7] + σ₀(W[i-15]) + W[i-16] looks non-linear because of σ₀ and σ₁ (XOR of rotations and shifts). It IS linear over GF(2) when computed bit by bit — each output bit is a GF(2)-linear function of input bits. But it is NON-linear over ℤ/2³² because of the carry chain in the +. Yet the recursion is still exactly invertible — solve for W[i-16] = W[i] − σ₁(W[i-2]) − W[i-7] − σ₀(W[i-15]) and walk backward. The carry chain doesn't break invertibility; it breaks linearity over ℤ/2³².
Per [[user_stance_fiber_as_spatially_absent_encoding]]: W[0..15] is the spatially-absent fiber that produces the spatially-present projection W[16..63]. The fiber→projection map is well-defined; backward-readability is full in isolation; the obstruction to using this fact for cryptanalysis is that the round function is interposed in the actual compression pipeline. The schedule's backward-readability is necessary but not sufficient for backward-reading the full hash.
§3.2 detail — the round function's frozen oscillation¶
The round function (a,b,c,d,e,f,g,h) → (a',b',c',d',e',f',g',h') shifts 6 of the 8 state words by one position (a→b→c→d, e→f→g→h, with d→e indirect via t1), and computes 2 new state words (a' and e') from non-linear functions of the rest. The state-shift is information-preserving; the non-linear computation depends on ch(e,f,g) = (e ∧ f) ⊕ (¬e ∧ g) and maj(a,b,c) = (a ∧ b) ⊕ (a ∧ c) ⊕ (b ∧ c), plus the σ rotation/shift XORs.
The key invertibility-preserving fact: h is replaced by g, and h gets used in computing t1, so the "lost" h is encoded into t1, which is encoded into e' = d + t1. Given e', we recover t1 = e' − d; given t1 we can solve for h = t1 − σ₁(e) − ch(e,f,g) − k_i − w_i. Per round, the function is a bijection on the 256-bit state. The "frozen oscillation" reading is exact at the round level: each round permutes the state with full information preservation; the oscillation is not losing degrees of freedom internally.
Where does information get lost? At the compression boundary — the state += compress(state, block) add-mod-2³². This step takes 256 bits of pre-state and 256 bits of compress-output and adds them mod 2³² to produce 256 bits of post-state. The 256 bits of compress-output that go into the addition are NOT directly recoverable from the post-state alone (without knowing the pre-state). This is the step that establishes the digest's co-emergent ontology: the digest exists because compress was run AND the result was added back into state. Neither half of that operation is the digest in isolation; the digest co-emerges with both. This is the user's framing made operationally concrete.
§3.3 detail — avalanche as the trail-erasure rate¶
The avalanche curve shows what the literature calls the mixing time of the compression function. Per probe:
rounds diffused bits saturation ratio
1 0.19 0.07% (single-bit perturbation barely propagates)
2 1.5 0.6% (the σ_0 mixes 1 bit into ~1-2 bits)
4 8.5 3.3% (the maj/ch nonlinearity amplifies)
8 40 16% (passing through W[16+] expansion)
16 105 41% (close to equilibrium)
24 ~120 (interpolated) ~47% (literature says ~24 rounds is mixing-complete)
32 127.7 49.9% (statistically indistinguishable from random)
64 128.1 50.0% (equilibrium reached well before full count)
The interesting structural observation: avalanche saturates by ~24 rounds; SHA-256 uses 64. The remaining 40 rounds are redundancy — guard against differential characteristics that survive longer than expected. This is why reduced-round attacks reach ~31 rounds for collisions (Mendel et al. 2013 era) and ~45-46 rounds for free-start collisions in subsequent work: cryptanalysts can exploit the not-yet-saturated regime; the saturation-after-saturation regime in rounds 24-64 is the engineered margin. The full hash function's resistance is engineered, not algebraic — the algebra runs out of structure well before the round count does.
This is methodologically aligned with the user's framing. The digest's "frozen oscillation" reaches thermodynamic equilibrium-of-mixing in 24 rounds; the remaining 40 rounds are insurance. If cryptanalysis ever finds the seam, it will be in rounds 25-45 or 35-55, not at the very-near-saturation boundary or the very-deep-redundancy interior.
§4 MPM exposure verdict¶
The project's MPM discipline depends on SHA-256 for: response_sha256, parser_rule_hash, descriptor_hash, _file_sha256, _kernel_cache_hash. The attestation chain reads: "this content (whose SHA-256 hash is X) was retrieved from URL Y at time Z, parsed by rule whose hash is W, into descriptor whose hash is V." The discipline assumes SHA-256 is collision-resistant (two distinct contents can't produce the same hash) and preimage-resistant (given a hash, can't construct content producing it). Both are required.
Current state of SHA-256 cryptanalysis (per published academic literature): - Collision attacks: best known ~31/64 rounds free-start collision; ~46/64 rounds free-start near-collision; no full-round collision known. (Mendel-Rechberger-Schläffer-Thomsen 2013; Lamberger-Mendel 2011; subsequent work.) - Preimage attacks: best known ~45/64 rounds preimage with cost 2²²¹ on the 256-bit space; no full-round preimage attack known. (Khovratovich-Rechberger-Savelieva 2012; Aoki-Sasaki 2009.) - Distinguishers: no statistically meaningful distinguisher from random oracle known for the full hash function.
Verdict. The project's SHA-256-dependent MPM discipline has no current exposure. The hash is engineered with substantial margin; published cryptanalysis after 20+ years reaches ~50-70% of the round count, never the full hash. The user's intuition that backward-reading is the right shape of question is methodologically correct AND empirically pursued by the academic community, but the structure available to read remains insufficient to produce practical preimages or collisions against the full 64-round construction.
§4.1 Stronger-attestation recommendations (recommendation only, NOT current-vulnerability)¶
If the project ever wants to upgrade its attestation primitive, three candidates are worth considering — NOT because SHA-256 is currently broken, but because diversification of primitives is a defense-in-depth posture aligned with [[feedback_trauma_informed_defensive_scope]]:
- BLAKE3 (J.-P. Aumasson et al. 2020) — Merkle-tree-based, parallelizable, modern construction with a 256-bit output mode that drop-in replaces SHA-256. Better performance, similar academic-confidence level. Not currently used in any major Python provenance system.
- SHA-3 / Keccak-256 (NIST FIPS 202, 2015) — sponge construction with very different internal algebra (Keccak-f[1600] permutation, not Merkle-Damgård + Davies-Meyer). A break of SHA-256 would not automatically affect SHA-3 due to construction independence. Already FIPS-standardised; widely available in stdlib (Python
hashlib.sha3_256). - Dual hash — store BOTH
response_sha256ANDresponse_blake3(orresponse_sha3_256); attestation valid iff both agree. A break of either primitive alone does not break the attestation. Cost: ~2× hash time per attested record; some storage overhead for the second hash. Methodologically aligned with[[feedback_trauma_informed_defensive_scope]]: defensive posture without offensive intent.
Recommendation. Hold. SHA-256 is fine for the project's current needs. The dual-hash option is the lowest-cost defense-in-depth measure if the user wants extra margin; the recommendation is to keep this as a conductor-level decision for a future release, not Spike #24 follow-up. The methodological question is answered; the engineering decision can wait.
§5 Honest verdict¶
The user's framing is methodologically correct. "Where do we begin to look for structure?" with the corrected "does not exist without time" stance points exactly at the structural ill-posedness that cryptanalysts have been characterising for 35 years. Backward-reading the constituting temporal trail IS the right shape of inquiry. The taxonomy of cryptanalytic methodologies — differential, linear, algebraic, dynamical, boomerang, statistical — IS the catalog of backward-readable signatures.
The user's intuition that this is project-coherent is also correct. Each cryptanalytic methodology decomposes cleanly into Spike #24's existing primitive vocabulary (Classes I, J, K, L), without requiring a new class. The cryptographic-cryptanalytic literature instantiates the same primitives the bronze, cosmos, chess, chemistry, and CPU substrates do — at the substrate of bit-serialised algebra over ℤ/2³² composed into 256-bit states.
The structural answer to "do we have to look backwards?" is YES, AND the literature has been looking backwards for 35 years, AND for the full 64-round SHA-256 there is no currently-known practical backward-readable structure that produces preimages or collisions. The reduced-round literature reaches ~31-46/64 rounds; the engineered margin of 18-33 extra rounds is the gap between the structurally-readable regime and the engineered-safe regime. The structure exists, the methodology to read it exists, the practical attack against full SHA-256 does not exist in published academic work.
For the project's MPM discipline: no current exposure; no immediate action required. The user's question is an excellent methodological question, and the methodologically correct answer is "the structure you're pointing at IS what cryptanalysts study; they have not been able to extract enough of it to break SHA-256, and the project's discipline rests on the same empirical security floor as the rest of the digital-signature ecosystem."
§6 Generalisation hooks for the next-queued NN-output inquiry¶
The next-queued inquiry asks the same shape of question about neural-network output structure (per spike_24_queued_nn_output_structure_inquiry_2026-05-15.md). The methodological framing of §1 generalises directly:
- What is the trail made of? For an NN forward pass: layer-by-layer affine transforms + element-wise non-linearities (ReLU, GELU, softmax). The trail is the sequence of intermediate activations; the "digest" is the output logits.
- Where is the trail backward-readable in isolation? Backpropagation IS the backward-reading methodology; it computes exact gradients via the chain rule. The mathematical content is fully invertible AT THE GRADIENT LEVEL, AND each affine layer is invertible iff its weight matrix is full-rank (almost-always true generically), so non-linearities aside the layers are backward-readable.
- Where is the trail unreadable? ReLU is the analog of SHA-256's compression step: it loses information (negative inputs → 0, all collapsed into a single equivalence class). The depth of the network determines how many ReLUs compose; deep networks become as ill-posed-on-preimage as a 64-round hash. Recovery of training data from output logits ("model inversion") IS published in the ML-security literature and IS the analog of preimage attacks; success rates and effort are domain-specific.
The framework transfers cleanly. The NN-output case has the additional feature that the trail's parameters (weights) are learned rather than engineered as constants — but the methodological taxonomy (avalanche/mixing rate; layer-by-layer invertibility; depth at which information is unrecoverable) maps directly. Avalanche/Lipschitz-constant studies; rank analyses of weight matrices; "inversion" research; "membership inference" research — all are NN-side instantiations of the cryptanalytic methodologies enumerated in §2.
The next inquiry should reuse §1's three-question framework and §2's class-mapping; the answers will be NN-substrate-specific but the methodology is shared.
§7 References (citation discipline per [[feedback_pdf_extraction_citation_discipline]])¶
Verified primary (author + title + year + DOI confirmed via Springer/NIST in this session): - NIST FIPS 180-4 (2015), Secure Hash Standard (SHS), https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.180-4.pdf. The constitutive specification; §6.2 is the SHA-256 compression function this synthesis decomposes. - Biham, E. & Shamir, A. (1991), "Differential cryptanalysis of DES-like cryptosystems," Journal of Cryptology 4(1):3-72, https://doi.org/10.1007/BF00630563. The seminal "look backward through difference propagation" paper.
Verified-author-title-year, DOI prefix [unverified-secondary]:
- Matsui, M. (1993), "Linear cryptanalysis method for DES cipher," EUROCRYPT 1993 LNCS 765, DOI 10.1007/3-540-48285-7_33. [Author/title/year verified via search; DOI not directly extracted this session.]
- Wagner, D. (1999), "The boomerang attack," FSE 1999 LNCS 1636, DOI 10.1007/3-540-48519-8_12. [[unverified-secondary].]
- Courtois, N. & Pieprzyk, J. (2002), "Cryptanalysis of block ciphers with overdefined systems of equations," ASIACRYPT 2002 LNCS 2501, DOI 10.1007/3-540-36178-2_17. [[unverified-secondary].]
- Mendel, F., Nad, T. & Schläffer, M. (2011), "Higher-order differential attack on reduced SHA-256," IACR ePrint 2011/037. [Web fetch was 403 in this session; cited as methodological anchor.]
- Khovratovich, D., Rechberger, C. & Savelieva, A. (2012), "Bicliques for preimages: attacks on Skein-512 and the SHA-2 family," FSE 2012, LNCS 7549. [[unverified-secondary].]
- Aoki, K. & Sasaki, Y. (2009), "Meet-in-the-middle preimage attacks against reduced SHA-0 and SHA-1," CRYPTO 2009 LNCS 5677. [[unverified-secondary].]
- Lamberger, M. & Mendel, F. (2011), "Higher-order differential attack on SHA-256," eprint cryptanalysis ratchet. [[unverified-secondary].]
- Aumasson, J.-P. et al. (2020), "BLAKE3: one function, fast everywhere." [Cited as upgrade candidate in §4.1; OA available at https://github.com/BLAKE3-team/BLAKE3.]
- NIST FIPS 202 (2015), SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions, https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.202.pdf. [Cited as upgrade candidate in §4.1.]
Not vendored to docs/srmech/hoodoos/ this session. Per the spec's "machine-fetchable OA only" guidance and the IACR ePrint URL returning 403 in this session, no PDFs were cached. The methodological synthesis stands on the empirical probe (which is reproducible from FIPS 180-4 alone) plus the citation chain above. If the user wants OA versions cached, FIPS 180-4 and FIPS 202 are public-domain and machine-fetchable; the Biham-Shamir Springer DOI is paywalled (would need user-side download); IACR ePrint entries are typically OA but the 2011/037 endpoint blocked this session's WebFetch.
§8 Discipline guards honoured¶
- No security-engineering claims. Methodological inquiry only. §4.1 recommendations are framed as defense-in-depth, not vulnerability response.
- Reduced-round only in the probe. Avalanche through 64 rounds and inversion through 64 rounds were measured, but the inversion measurements assume full state visibility — the probe demonstrates structural invertibility under conditions a cryptanalyst does NOT have. No attack on full SHA-256 was attempted or implied.
- Citation discipline. Primary sources verified or tagged
[unverified-secondary]; OA caching deferred to user-side per the spec's discipline guard. - NDJSON outputs per
[[feedback_ndjson_over_bloated_json]]. - No new primitive class invented. All cryptanalytic methodologies decompose into Spike #24's existing Classes I, J, K, L.
- Trauma-informed scope. No targeting / capability-assessment; the verdict is defensive (the project's MPM is fine; SHA-256 holds) and the recommendations are diversification-as-margin, not offense.
§9 Fermata for the conductor¶
One point requires conductor input before any downstream cascade:
Should §4.1's dual-hash recommendation be promoted to a srmech tech-spike entry? It's a low-effort, modest-value defense-in-depth measure aligned with the project's MPM discipline. Implementation would be ~50 lines in srmech.amsc.format.attestation_block_with_dual_hash() plus an opt-in flag at adapter level. The conductor's call: is this worth a tech-spike PR, or should it remain a §4.1 recommendation note for future consideration? No urgency; the project's current SHA-256-only posture is secure.
This fermata is recorded as a deliberate pause-point per the concertmaster role definition. The synthesis stands without resolving it; the synthesis just notes it exists for the conductor's awareness.