您好,欢迎访问山东渔翁信息技术股份有限公司官方网站!

渔翁信息官方微信
免费咨询热线:
400-6686-188
当前位置:首页 > 常见问题解答 >

KHUFU与KHAFRE算法

文章出处:渔翁信息作者:渔翁信息人气:发表时间:2018-05-23 10:56【

1990R. Merkle认识到DES快结束其生命期并提出了二个密码系统作为可能的替代品,当时其基本设计原则如下:

1.DES56位钥长太小。考虑到增长密钥的代价是微不足道的(计算机存储器既廉又丰),应该增长密钥。

2DES中广泛使用置换操作,虽适合于硬件实现,但软件实现是很困难的。DES的快速软件实现通过查表法实现置换,查表法可提供与置换同样的“扩散”特性并更为灵活。

3.DESS盒太小每个盒只有644位项。既然存储器更大了,S盒也应加大,而且应同时使用8S盒。虽然这适合于硬件实现,但对软件似乎是个不合理的限制,应该使用更大并且是顺序的(而不是并行的)S盒。

4.DES中的初始和最后置换普遍认为在密码效果上没有意义,应取消。所有DES的快速实现都预计算每轮中的密钥,因此没有理由不把该计算设计成更为复杂。

5.不像DES,S盒的设计应该公开。

Khufu64位的块密码算法,64位明文块首先分成各为32位的左右二半LR,LR,都与同一子钥异或,再经过类似于DES的几轮迭代。每一轮中,L的最低字节用作256S盒的输入,S盒中每一项为32位。S盒中选取的32位项与R异或,接着L循环移位8的倍数位,LR交换,一轮结東。S盒本身也不是静止的,8轮改变一次。最后一轮之后,LR与更多的子钥异或,并且合并在一起形成密文块。

虽然密钥的某些部分在算法开始和结尾处与加密块异或,密钥的主要目的是生成S,这些S盒是保密的且本质上是部分密钥。 Merkle的算法需要512(64字节)钥长,并由一个算法从密钥生成S盒。算法的轮数还未公开, Merkle推测几乎所有应用场合都采用16,2432(他把轮数限制为8的倍数)

由于 Khufu密钥相关且有保密的S,差分分析对它毫无结果。如果蛮力攻击是攻击Khufu的最好方法,它是非常难以攻破的:任何情况下,22的复杂度是不可想象的。

Khafre是由 Merkle提出的二个密码系统中的另一个( Khufu Khafre是以二位埃及法老而取名的), Khafre的设计类似于 Khufu,只是 Khafre是为没有预计算时间的应用场合而设计的。S盒独立于密钥, Khafre采用一组标准的S,并且密钥与加密块异或不仅在首轮之前和末轮之后,而且每8轮之后都执行一次。

Merkle推测 Khafre中钥长为64128,并且 Khafre的加密轮数比 Khufu,再加上Khafre的每轮都比 Khufu更复杂,使得 Khafre要比 Khufu慢。另一方面, Khafre没有预计算,所以加密少量数据要比 Khufu快一些。

1990, Biham Shamir用差分密码分析技术攻击 Khafre,他们以约1500个选择明文攻破16轮的 Khafre,PC机运行了约1个小时。