SHA-256 算法结构
输入消息
📝 Message
1. 消息填充
M + 0x80 + 0...0 + len
512 bits block
2. 消息调度
W[0-15] 直接提取
W[16-63] σ₀ + σ₁
W[0..63]
3. 压缩函数 (64轮)
H₀...H₇
a b c d e f g h
单轮运算
Σ₀(a)
Maj(a,b,c)
+
temp2
a→b→c→d e→f→g→h
Σ₁(e)
Ch(e,f,g)
+ h + K + W
temp1
a ← temp1 + temp2
e ← d + temp1
🔄 × 64 rounds
4. 最终哈希
H₀+=a, H₁+=b, ... H₇+=h
🔐 256-bit Hash
H₀ || H₁ || ... || H₇
Σ 位旋转异或
Ch 选择函数 (e∧f)⊕(¬e∧g)
Maj 多数函数 (a∧b)⊕(a∧c)⊕(b∧c)
K 轮常量 K[0..63]