论文部分内容阅读
在现代密码学中,哈希函数扮演着非常重要的角色。它不仅在安全通信中起着重要的作用,而且是许多密码算法和协议的基本结构模块。密码学哈希函数又被称为单向散列函数,它可以将任意长度的消息散列为固定长度的哈希值。哈希值也被称为消息摘要、数字指纹、密码校验和、信息完整性检验码、操作检验码等。哈希函数能够赋予每个消息唯一的“指纹”。例如,哈希值“607364dea1d44b43e9898437b6d7e223”可以看作是使用MD5算法给论文题目“Research on designand analysis of cryptographic hash functions”生成的“指纹”。如果对字符串进行稍加改动,即使只是一个字母,对应的哈希值也会千差万别。如字符串“research on design and analysis of cryptographic hashfunctions”的哈希值为“5cea4844e982080b258cf144853603ec”。由于近年来对哈希函数的一系列成功攻击,美国国家标准与技术研究所(NIST)已正式面向全世界征集新的安全哈希函数标准。哈希函数的研究目前已成为密码学一个最重要、最活跃、最富有挑战性的研究领域。本文的研究工作正是在这一背景下展开的。本文的主要工作可分为两类,一类是研究专门哈希函数的设计与安全性分析,另一类是对目标碰撞稳固(TCR)哈希函数的分析研究。所取得的研究成果如下:1、针对MD4,给出了7条新的碰撞模差分路径。可行的差分路线是模差分攻击的关键步骤。由于实际使用的哈希函数都是基于MD4设计的,因此对MD4的深入分析对更好地分析这些哈希函数是非常必要的。此外,给定任意消息差分,给出了用计算机搜索MD4碰撞(含有指定消息差分)的算法思想,指出了进一步研究的方向。2、对NIST哈希标准征集的候选算法NaSHA进行了攻击分析,发现在NaSHA-384和NaSHA-512中的拟群运算参数只依赖于部分状态字;并且从消息字到状态字的扩散效果不是非常好,不同的比特之间没有相互影响。利用这些发现,给出了一个针对NaSHA-384和NaSHA-512的碰撞攻击,攻击复杂度为2128,远小于生日攻击复杂度。该攻击是目前对此哈希函数最有效的攻击。3、提出了一个新的迭代结构,CMD迭代结构。在深入分析MD迭代结构及其它迭代结构的设计合理性和攻击方法后,对EMD结构和MDP结构进行了分析,指出它们并不能提供比MD结构更高的安全性。之后,提出了一个CMD迭代结构,并证明了该结构能够保持压缩函数的抗碰撞性。利用已知对MD迭代结构的攻击方法,对CMD迭代结构进行了分析,结果表明CMD结构能够抵抗这些攻击。4、设计了一个快速抗碰撞的压缩函数Crazy。Crazy的设计目标是它的结构需要能够抵抗所有已知攻击以及当使用MD迭代结构时,它的性能应该优于SHA-256。Crazy的主要特点是:(1)使用步函数来帮助消息扩展;(2)初始值被用来辅助消息扩展;(3)消息扩展字在两步之后影响所有的寄存器;(4)消息扩展字不直接作用在任意一个寄存器上。利用已知的攻击分析手段,差分分析、线性近似、弱常量等对Crazy进行了分析。除了实际的攻击分析手段,还利用统计测试方法对Crazy进行了统计测试。通过分析,可以认为Crazy能够抵抗目前已知的对压缩函数的攻击。此外使用MD迭代结构,Crazy的软件性能比SHA-256快50%。5、对随机构造(?)(M)=Hc(r|Hc(M(?)r))进行了深入地安全性归约分析。给出了当底层压缩函数满足何种性质时,该构造是TCR或者eTCR的,并和RMX算法进行了对比分析。结论是,对于TCR性质,(?)和RMX是等价的;而当它们都是eTCR时,万:具有比RMX更高的安全性。此外,对随机哈希在签名中的应用进行了仔细分析。解决了当签名者不被消息提供者信任的签名问题。通过改变随机数的选取方式以及增加消息提供者的验证过程对使用随机哈希的签名算法进行了改进。改进后的随机哈希签名算法可以不需要假定签名者是诚实的,并且安全性不依赖于底层哈希函数的离线碰撞稳固性。6、利用改进的随机哈希签名算法和百万富翁问题给出了两个捐赠监督方案,设计监督方案的动机来自汶川地震后凸显出的捐款问题。由于捐款的渠道和使用不能做到公开透明,人们在捐赠的同时也在担心捐赠财物是否都能用于赈灾救灾。因此设计透明的捐赠程序来有效消除疑虑,使得捐赠可信可控非常必要的。方案可用于构造实际的网上捐赠监督平台,通过让全体捐赠人作为监管第三方,来监督慈善机构。同时方案还可防止某些心存不轨的捐赠人对慈善机构进行诽谤和恶意诬陷。