Entry № 126
Blowfish
Blowfish 是什么?
BlowfishBruce Schneier 于 1993 年设计的 Feistel 分组密码,分组长度 64 位、密钥长度可变;算法本身安全,但因分组过小已被 AES 取代。
Blowfish 是 Bruce Schneier 于 1993 年设计的对称分组密码,作为 DES 与 IDEA 的快速、免版权替代品。它采用 16 轮 Feistel 结构,分组长度 64 位,密钥长度 32 至 448 位,并使用与密钥相关的大型 S 盒。从密码分析角度看,完整 16 轮的 Blowfish 至今未被破解;但 64 位分组使其在同一密钥下加密大量数据(数 GB)时易受 Sweet32 等生日攻击。因此 NIST 与现代协议推荐使用 AES 等 128 位分组的密码。Blowfish 在历史上具有重要意义,并通过 bcrypt 密码哈希、Twofish 等衍生设计延续生命,但已不再是新加密场景的推荐选择。
● 示例
- 01
早期版本的 OpenSSH 与 OpenVPN 支持 Blowfish 的 CBC 模式。
- 02
bcrypt 密码哈希算法的密钥编排源自 Blowfish。
● 常见问题
Blowfish 是什么?
Bruce Schneier 于 1993 年设计的 Feistel 分组密码,分组长度 64 位、密钥长度可变;算法本身安全,但因分组过小已被 AES 取代。 它属于网络安全的 密码学 分类。
Blowfish 是什么意思?
Bruce Schneier 于 1993 年设计的 Feistel 分组密码,分组长度 64 位、密钥长度可变;算法本身安全,但因分组过小已被 AES 取代。
如何防御 Blowfish?
针对 Blowfish 的防御通常结合技术控制与运营实践,详见上方完整定义。