本页使用了标题或全文手工转换

Twofish

维基百科,自由的百科全书
跳到导航 跳到搜索
Twofish
Twofishalgo.svg
Twofish算法
概述
设计者 布魯斯·施奈爾
首次发布 1998年,​20年前​(1998
衍生自 BlowfishSAFER英语SAFERSquare英语Square (cipher)
相关算法 Threefish英语Threefish
认证 AES决赛算法
密码细节
密钥长度 128、192、256位
分组长度 128位
结构 Feistel network
重复回数 16
最佳公开破解

Truncated differential cryptanalysis英语Truncated differential cryptanalysis requiring roughly 251 chosen plaintexts.[1]

Impossible differential attack英语Impossible differential attack that breaks 6 rounds out of 16 of the 256-bit key version using 2256 steps.[2]

Twofish(双鱼)是布鲁斯·施奈尔带领的项目组于1998年研发的分组密码算法。美国国家标准技术研究所(NIST)公开招募的高级加密标准(AES)决赛算法之一,但最终并未当选高级加密标准。Twofish的标志性特点是它采用了和密钥相关的替换盒(S盒)。密钥输入位的一半被用于“真正的”加密流程进行编排并作为Feistel的轮密钥使用,而另一半用于修改算法所使用的S盒。Twofish的密钥编排非常复杂。

软件实现的128位Twofish在大多数平台上的运行速度不及最终胜出AES评选的128位Rijndael算法,不过,256位的Twofish运行速度却较AES-256稍快。

概要[编辑]

Twofish有128、192、256位三种密钥长度可供选择,块大小为128位,可以看作是布鲁斯·施奈尔1993年开发的Blowfish算法的延伸版本。技术上使用与Blowfish类似的计算方法,但是考虑到主要面向于网络应用,提高了更大密钥算法的速度。[3]

与Blowfish算法一样,Twofish无须授权即可使用。

参考资料[编辑]

  1. ^ Shiho Moriai; Yiqun Lisa Yin. Cryptanalysis of Twofish (II) (PDF). 2000 [2013-01-14]. 
  2. ^ Niels Ferguson. Impossible differentials in Twofish (PDF). 1999-10-05 [2013-01-14]. 
  3. ^ Bruce Schneier. Twofish. 1998.