论文部分内容阅读
杂凑函数是信息安全中一个非常重要的工具,它对一个任意长度的消息m施加操作,返回一个固定长度的杂凑值h(m),杂凑函数是公开的,对处理过程不用保密。单向杂凑函数的安全性取决于它的单向性,其输出不依赖于输入。杂凑函数是许多密码算法和协议的安全保证,它广泛用于签名、群签名、MAC码、电子钱币、比特承诺、电子选举等。 目前受到人们广泛关注和青睐的是标准杂凑函数,而标准杂凑函数又可分为两大家族:MDx家族(MD4、MD5、HAVAL、RIPE-MD、RIPE-MD-160)和SHA家族(SHA-0、SHA-1、SHA-256,384,512)。这些杂凑算法揭示了杂凑函数主要的设计技术。 目前,标准杂凑函数的分析技术已经取得了很大的进展。Hans Dobbertin于1996年对MD4给出了一个攻击,可以以2-22找到一个碰撞;1997年,Kasselman对MD4给出了一个更为有效的攻击。对于MD5,B.den Boer和A.Basselaersobber找到了MD5的一类伪碰撞——在两组不同的初始值下得到同一明文的相同的杂凑值;在1996年欧密会上,Dobbertin给出了MD5的一个碰撞——在另一初始值下得到两组不同的报文;2004年美密会上,王小云对MD5的攻击引起了国际密码界的轰动,王小云利用比特追踪法寻找碰撞路线、推出碰撞发生的必要条件、修改明文提高碰撞发生的概率可很容易找到一个碰撞。2003年,B.V.Rompay等对3圈杂凑函数HAVAL有一个攻击,其计算复杂度为229。而王小云于2004年利用破译MD5的技术同样找到了概率为2-7的3圈杂凑函数HAVAL-128的碰撞。至于SHA家族,2005年一月,王小云对SHA-1的研究又取得巨大进展,其计算复杂度少于269杂凑运算。 杂凑函数HAVAL是由Y.Zheng等在Auscrypto’92提出的,该体制可以在3、4或5圈压缩任意长度的报文并输出长度为128-比特、160-比特、192-比特或224-