论文部分内容阅读
随着无线通信业务的蓬勃发展,流密码算法的设计与分析再一次成为各国学者研究的热点。3GPP从1998年就开始为无线通信选择加密标准。ECRYPT在2004年启动eSTREAM项目,最终选出了7个(4个软件、3个硬件)流密码算法,对这些算法进行安全性分析,对于实际生活中的应用有很重要的意义。故障攻击的主要优点是一旦注入的故障满足给定的故障模型,就能以很小的时间和空间代价攻击成功,因此现实环境中密码设备都面临着故障攻击的严重威胁。本文选择了SOSEMANUK算法和ZUC算法作为研究对象,SOSEMANUK是eSTREAM项目选出的4个软件之一,在现实生活中有广泛的应用。ZUC是中科院自主研发的国产流密码算法,已经被3GPP选为下一代无线通信4G的加密标准。完成的主要工作如下:总结流密码和故障攻击研究的现状。改进了SOSEMANUK算法的差分故障攻击方法,首先引入了通过后验概率反推故障类型的机制,提高了故障的利用率,将所需故障数从6144个降低到4608个;其次进一步挖掘了S盒的特性,将攻击的时间复杂度从2^48降低到2^35.16,空间复杂度从2^38.17降低到2^23.46,使攻击在普通计算机上就能进行;同时我们使用阀值机制将区分度不高的S盒加入到不确定列表中,从而增加了攻击的成功率。提出了ZUC的差分故障攻击方法,在单比特故障模型下,获取部分内部状态的时间复杂度为2^62。在研究过程中,首先针对性的对故障模型进行了定义和分类,接着分析了主流故障注入的工具及其原理,然后给出了SOSEMANUK和ZUC算法差分故障攻击的原理和步骤,最后进行了软件模拟下的实验,实验结果表明在获取满足故障模型的故障之后,本文的攻击方法能够完全恢复出SOSEMANUK算法的内部状态和ZUC算法部分内部状态的值。通过研究,针对这些流密码算法的故障攻击方法,可能威胁到实际环境中使用这些算法的密码设备,同时可以对承载这些流密码算法的硬件电路和应用产品进行安全性分析提供指导和参考。