论文部分内容阅读
近年来,随着互联网和移动通信技术的飞速发展和广泛应用,关于信息安全的研究日益受到人们的重视,而密码算法作为信息安全中不可或缺的一部分,其安全性的分析引起国内外学者的关注。流密码(序列密码)是对称密码体制的一个重要分支,由于流密码在军事和外交保密通信中有非常重要的价值,对于流密码的分析与设计一直都是国际密码学研究的主流。在2004年,随着eSTREAM计划的提出,流密码的设计越来越多样化,现在流密码的设计已经不再局限于简单的移位寄存器的思想,提出了许多新的设计思路。但是从安全性和应用的角度来看,带记忆的流密码由于具有比较成熟的理论支持,使其得到了广泛的应用。蓝牙加密算法E0是一个典型带记忆的流密码,在蓝牙设备普及的今天,E0算法的应用几乎遍布于我们生活中。通信技术的飞速发展和普及的同时,通信的安全性越来越受到人们的重视。作为无线通信3GPP LTE加密标准的两个算法:SNOW3G和ZUC都是带记忆的流密码。在eSTREAM计划中,胜选算法之一Sosemanuk也是属于带记忆的流密码。还有很多已经成为国际标准的流密码算法都是带记忆的流密码算法,例如SNOW2.0和MUGI。由此可见对于带记忆的流密码的研究在密码学中具有无比重要的意义,它直接影响到实际生活中的通信安全。相关攻击和线性攻击在密码分析学中是非常重要的两种分析方法,几乎所有的对称密码算法在设计时都要考虑这两种分析方法对算法的威胁,因此对于这两种分析方法的深入研究和改进在密码分析和设计中具有非常重大的意义。此外,如何推广和更好应用这两种分析方法来分析更多的密码算法也是值得研究的。 本文主要针对目前流密码中应用比较广的带记忆的流密码进行分析研究,改进目前已有的攻击方法,寻求更好的攻击结果,研究的方法主要利用了目前流密码分析中两个比较传统却又主流的分析方法:相关分析和线性分析。主要研究成果和创新点如下: 1.研究基于带记忆流密码的条件相关攻击,改进并推广已有的条件相关攻击。针对带记忆流密码的特点,提出一种新的条件相关攻击框架,并提出了条件掩码的概念,该模型是对已有攻击模型的推广,它不仅囊括了已有的分析方法,而且能够更加有效的利用算法的结构特点来分析流密码算法,使得条件相关攻击具有更加广泛的应用以及更加灵活的时间、存储以及数据复杂度的折中,这种方法被称为condition masking。研究应用最广泛、最为典型的带记忆流密码E0算法,E0是蓝牙标准中的加密算法,首先给出E0算法的组合生成器的相关特性,给出了计算E0组合生成器所有无条件相关系数的完整递归公式,这个公式很好地解决了Golic在Eurocrypt2002上提出的一个公开问题,然后利用条件掩码给出了对E0新的条件相关分析,这个攻击是已知明文的实时攻击,由于conditionmasking的应用,使得攻击在时间、存储以及数据复杂度上比目前最好的分析结果(CRYPTO2005)都有了很大的改进。 2.研究典型带记忆流密码E0的唯密文分析,结合condition masking的方法,以及明文字母的统计特性,我们首次给出了对于E0流密码算法的唯密文实际分析,在很短的时间上利用个人电脑就可以通过截获的蓝牙数据恢复出会话密钥。 3.研究传统的相关攻击,将传统的二元域上的相关攻击算法推广到扩域上面,并且给出了在线阶段和离线阶段精确的复杂度分析。在此基础上我们继续研究了扩域上的线性逼近,并给出了一大类函数如何搜索扩域上线性逼近的通用算法。此研究很好的解决了快速相关攻击提出者Willi Meier等提出的公开问题。研究国际标准加密算法中带记忆流密码SNOW2.0,利用扩域上的相关攻击,我们给出了SNOW2.0的相关分析,我们的分析结果能够充分利用算法的结构,复杂度比国际上最好的分析结果有了极大的改进。 4.研究了相关分析和线性分析对认证加密算法的攻击,利用相关分析和线性分析攻击了认证加密算法FASER,在极低的复杂度下就可以恢复出FASER流密码的状态,同时也给出了对于FASER流密码的区分攻击。进一步研究了线性分析在认证加密算法TriviA-ck上的应用,首次给出了对于这个算法的线性分析复杂度估计。