Twofish

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类似的计算方法，但是考虑到主要面向于网络应用，提高了更大密钥算法的速度。

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

参考资料

费斯妥密码
免费密码