论文部分内容阅读
本文分析了现存的几种著名的流密码算法,给出了攻击的计算复杂度与所需要的已知密钥流长度,结果要优于以前的工作。我们还讨论了流密码设计的准则,并根据这些准则,设计了几种流密码算法,它们可以抵抗目前存在的攻击算法。
论文主要工作包括:
(1)文献[44,128]引入了多输出相关免疫函数的概念(文献[128]称为第Ⅰ类多输出相关免疫函数),它是单输出相关免疫函数概念的直接推广。文献[130]引入了另一类多输出相关函数的概念,称为第Ⅱ类多输出相关免疫函数,它把相关免疫函数的相关免疫性与分量函数的相关免疫性直接建立起了联系,并证明了第Ⅰ类多输出相关免疫函数是第Ⅱ类相关免疫函数的子类。文献[27,129]证明了这两种相关免疫函数的等价性,但方法较为复杂,我们用一种简单的方法证明这两种相关免疫函数的等价性。
(2)我们对几种Bent函数的构造方法和相关免疫函数的构造方法进行了分析,发现它们存在代数免疫阶较低的隐患。
(3)我们把相关免疫阶和非线性度推广到带记忆的组合函数,并给出一些性质,它们可以作为带记忆组合器的设计准则。
(4)证明了Golic关于求和生成器相关性的一个猜想。研究了求和生成器的相关系数总和。
(5)利用分别征服攻击、Chepyzhov的快速相关攻击以及代数攻击等三种算法对改进的求和生成器进行了密码分析,并且分别给出了攻击算法的计算复杂度和所需要的密钥流的长度。
(6)利用一种简单的快速相关攻击对篮牙组合器的安全性进行了分析。对于不同参数和可以获取的密钥流长度,我们给出了实施攻击所需要的计算复杂度。我们还指出Hermelin和Nyberg提出的改进的篮牙生成器的安全性也没有得到明显的改善。
(7)对一类利用多输出逻辑函数相关免疫函数构造的密钥流生成器进行了相关性分析,指出它就是一种有记忆的多输出密钥流生成器,并证明了这种组合器在记忆比特位数小于等于输入的个数的时候,并不能达到构造者期望的相关免疫性,并且分别利用Walsh变换技术和线性序列电路逼近方法找出了这类密钥流生成器的相关性漏洞,从而说明这类生成器在快速相关攻击下是脆弱的。同时我们还证明了在获取一段密钥流之后,攻击者可以找到次数很低的(甚至能达到1)关于初态的代数关系,这样就可以对此密钥流生成器进行代数攻击,攻击算法的计算复杂度为max{llog27;(1+mN)22mN+M}其中l为密钥的长度,M为记忆比特数,N为输入的LFSR的个数,m为可选择的参数。
(8)我们构造了两类钟控带记忆的组合器:
1、两个输入的情况,一个输入的LFSR控制另一个LFSR的时钟;
2、多个输入的情况,输入的LFSR级联钟控;
这样我们不是利用另外的伪随机序列,而是利用组合器内部的符号来钟控LSFR序列,从而无需增加电路规模。我们给出了这两种生成器输出序列的周期和线性复杂度,并且对它们的安全性进行了分析,说明了它们可以抵抗目前所有的攻击算法。
(9)提出了一种新的钟控密钥流生成器,它由三个移位寄存器组成:两个被钟控的线性反馈移位寄存器A和B,一个提供钟控信息的非线性反馈移位寄存器C。设A、B和C的长度分别为l1、l2和l3.移位寄存器A和B的钟控信息由从移位寄存器C选取的两个比特串提供,移位的次数分别是两个比特串的汉明重量。作者研究了该生成器的周期、线性复杂度和k错线性复杂度。分析了这种密钥流生成器的安全性,指出它可以抵抗目前所有的攻击算法。