论文部分内容阅读
随着现代计算机网络和电子商务的发展,用户对信息在交互过程中的安全要求越来越高。因为信息在传输过程中有可能受到篡改、冒充和抵赖等形式的威胁和攻击。这就涉及到信息的完整性和真实性问题。为了解决这些问题,保证信息的完整性、实现实体鉴别和抗否认,主要采用Hash函数技术来进行信息鉴别。Hash函数又称散列函数或者哈希函数,主要用于数字签名和文件校验。而在Hash函数中应用最为广泛的是MD5。MD5函数是由美国麻省理工学院教授Ron Rivest在1991年研发的单向函数算法,它是在MD4函数的基础上发展而来。MD5的输入是任意长度的消息,输出是128位的消息摘要,以512比特输入数据块作为单位进行处理。2004年王小云教授成功的攻破MD5函数,掀起了密码界研究此函数的热潮。在2008年谢涛博士设计了两条碰撞路径,并且根据路径找到了碰撞消息对。这说明MD5已经不再安全,需要新的Hash函数。于是NIST(National Institute of Standards and Technology,美国国家标准技术研究所)在全世界范围内征集SHA-3标准函数,如今已经进行到最后一步,对五个函数进行筛选,分别是Blake, Gr?stl, JH, Keccak和Skein。其中Gr?stl函数的设计与AES非常类似,所以先前研究AES的方法可以应用到研究Gr?stl函数上。为了紧跟世界密码学研究和发展潮流,为我国的信息安全事业做出自己的贡献,本文做了如下工作:(1)通过学习王小云教授关于攻击MD5的差分分析方法和研究谢涛博士的1比特碰撞差分路径,成功的找到了一条能够产生碰撞的1比特差分路径,并且给出了链接变量需要满足的充分条件。(2)根据王小云教授的多消息修改方法、Tunnel思想和“围魏救赵”方法来修改消息,使最终的链接变量能够满足充分条件。(3)通过“分而治之”的算法思想来决定整个程序的结构。(4)通过学习rebound攻击方法,对Gr?stl函数的五轮、六轮、七轮进行了分析,并且给出了新的攻击路径,即八轮差分路径。虽然这些攻击都是理论上的,但是对以后我们研究其他类似结构的函数会有很大的帮助。