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

双鱼算法

维基百科,自由的百科全书
跳转至: 导航搜索
双鱼算法
Twofishalgo.svg

The round function (Feistel function) of Blowfish
概述
设计者 布鲁斯·施奈尔
首次发布 1998
衍生自 Blowfish, SAFER, Square
密码细节
密钥长度 128, 192, 256位
块长度 128位
结构 Feistel network
重复回数 16

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

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

概要[编辑]

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

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

参考资料[编辑]