SPB Git

spb/wp34_uqo

Public
1.0 KB · 17 lines markdown
1# SHA-256 — notes (paper §7)23Step inverse (given K_t, W_t and the new state (a', a, b, c, e', e, f, g)):4T₂ = Σ₀(a) ⊞ Maj(a,b,c); T₁ = a' ⊟ T₂; d = e' ⊟ T₁; h = T₁ ⊟ Σ₁(e) ⊟ Ch(e,f,g) ⊟ K_t ⊟ W_t.5(`src/wp34/sha256.py::step_inverse`, tested; Lean theorem in `formal/`.)67Schedule inversion: W_{t−16} = W_t ⊟ σ₁(W_{t−2}) ⊟ W_{t−7} ⊟ σ₀(W_{t−15}).89Consequence: for any target state S and any message block M, the IV H with Steps₆₄(H, M) = S is computable10(pseudo-preimage of the compression function without feed-forward is free); the Davies–Meyer feed-forward11H ⊞ Steps₆₄(H, M) is what blocks this.1213XOR-linearised local collision: replace ⊞ by ⊕ in the step and linearise Ch, Maj (Gilbert–Handschuh 2003); a14difference δ in W_i propagates to a_{i+1} and e_{i+1} and is cancelled by corrections in W_{i+1..i+8}; the exact15pattern and the probability with the real step function are measured in `experiments/reduced_round_sha256/` and16the linear statement is machine-checked in `formal/`.17
Files · main
Menu

Theme