Twofish
Twofish 是 Bruce Schneier 等为 AES 竞赛设计的对称分组密码,使用 128 位分组与 128/192/256 位密钥,是 AES 决赛候选之一。
用途
提供 AES 竞赛中的安全替代方案,采用不同结构(Feistel + 密钥相关 S 盒)增加分析多样性。
机制
基于 Feistel 网络,16 轮,128 位分组。使用四个密钥相关的 S 盒(由密钥决定),结合 MDS 矩阵与伪 Hadamard 变换。密钥扩展较复杂但提供白化(输入/输出密钥异或)。
用例
- AES 竞赛历史研究
- 部分加密库可选算法
- 密码学教学
- 高安全需求替代方案
示例
- 输入
key=256bit, data=16bytes输出16-byte ciphertextAES finalist
常见错误
- Mistaking Twofish for the AES standard
- AES ultimately selected Rijndael
相关词条
AES
AES(高级加密标准)是 NIST 于 2001 年确立的对称分组密码,支持 128/192/256 位密钥,是现代加密的事实标准。 词汇表
Blowfish
Blowfish 是 Bruce Schneier 于 1993 年设计的对称分组密码,使用变长密钥(32-448 位)与 64 位分组,速度快且无专利限制。 词汇表
Serpent
Serpent 是 Ross Anderson 等为 AES 竞赛设计的对称分组密码,使用 128 位分组与 128/192/256 位密钥,以高安全余量著称。 词汇表
Block Cipher
分组密码是对固定长度分组(如 128 位)执行加密/解密的对称密码,需配合工作模式处理任意长度数据。 词汇表