河豚(密码)

来自Citizendium
跳转到导航 跳转到搜索
这篇文章可能很快就会被删除。
要反对或讨论提名,请访问CZ:建议删除并按照说明进行操作。

有关月度提名名单,请参阅
类别:删除文章.


这个河豚 分组密码 [1]由设计布鲁斯·施奈尔。它是一个费斯特尔密码64位块和16发子弹。支持的密钥大小为32到576位;建议至少128个。

F函数使用32位圆键对输入进行异或运算,将结果拆分为字节,并通过不同的S-box对每个字节进行运算,以获得四个32位结果。它们与x=((a+b)^c)+d非线性组合铸件,的F函数具有理想的雪崩特性-每个输出位都非线性地依赖于所有输入位和所有密钥位。完全雪崩(所有64个输出位取决于所有64个输入位)在三轮中实现。

河豚s-盒密钥相关,在密码设置时随机生成。它们不像经过仔细优化的铸件S盒,但它们的优点是不为攻击者所知,而且极有可能是非线性的。密钥调度从18个32位条目的圆键数组开始(16个实际圆键加64位变白)以及四个S盒,所有这些都是用从π的扩展得到的明显随机的比特初始化的。将主键异或到圆键数组中;密钥的大小可以是该数组的576位,然后重复运行密码并使用输出更改圆密钥和S盒;这需要521次密码迭代。

对于某些应用程序,这种密钥设置非常昂贵;如果钥匙需要经常更换,河豚可能不是最佳选择。然而,实际的加密和解密速度很快。

这个密码可以免费使用。它有一个主页.

Schneier及其同事后来推出了名为特沃菲什(候选人AES竞赛)和三条鱼(用于Skein散列,一名候选人AHS竞赛). 除了名字之外,这些与河豚几乎没有相似之处。

工具书类

  1. "新型可变长度密钥64位分组密码(Blowfish)的描述",《快速软件加密》,剑桥安全研讨会论文集:191-2041993年12月