Whirlpool
Whirlpool
设计者
Vincent Rijmen, Paulo S.L.M. Barreto
首次发布
2000年
最终版本
Whirlpool-T (2003)
类别
密码学哈希函数
输出长度
512 bit
分组大小
512 bit
结构
Miyaguchi-Preneel (基于分组密码)
内部密码
W (类 AES, 8×8 S-box)
速度
~1.0 GB/s
标准
NESSIE, ISO/IEC 10118-3
安全状态
安全
Whirlpool是由 Vincent Rijmen(AES 共同设计者)和 Paulo S.L.M. Barreto 于 2000 年设计的 512 位密码学哈希函数。Whirlpool 基于一个专用的分组密码 W(结构类似 AES),使用 Miyaguchi-Preneel 压缩模式。Whirlpool 被 NESSIE 项目和 ISO/IEC 10118-3 标准收录。
设计特点
- 内置分组密码 W 使用 8×8 位 S-box,结构与 AES 相似但不相同
- 状态为 8×8 字节矩阵(64 字节 = 512 位),采用 SubBytes、ShiftColumns、MixRows 操作
- 使用 Miyaguchi-Preneel 压缩函数:
H_i = H_{i-1} ⊕ W(H_{i-1} ⊕ M_i) ⊕ M_i - 与 AES 不同,W 密码的 S-box 来源于递归的结构化构造(不是随机选取)
版本
| 版本 | 年份 | 变更 |
|---|---|---|
| Whirlpool (原始) | 2000 | 初始版本 |
| Whirlpool-T | 2001 | 更换了 S-box 生成多项式,改进扩散矩阵 |
| Whirlpool (当前) | 2003 | 进一步优化 S-box 和扩散层,是推荐版本 |
参考文献
- Rijmen, V., Barreto, P.S.L.M. (2000). "The Whirlpool Hashing Function". NESSIE submission.
- ISO/IEC 10118-3:2004. "Information technology — Security techniques — Hash-functions — Part 3: Dedicated hash-functions".