资源描述:
《密码学第7章流密码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章流密码流密码的基本概念线性反馈移位寄存器线性移位寄存器的一元多项式表示m序列的伪随机性m序列密码的破译非线性序列流密码的基本概念同步流密码同步流密码体制模型序列密码对密钥流的要求密钥流产生器通常的构建方法:线性移位寄存器(LFSR)+非线性组合函数非线性组合函数F的选择非常重要,直接关系到流密码的安全性程度。——课题:布尔函数研究线性反馈移位寄存器状态转变和输出表:状态(a3,a2,a1)输出101110111011101110101110即输出序列为101110111011…,周期为4。线性移位寄存器的一元多项式表示???m序列的伪随机性m序列密码的破译
2、例:设敌手得到密文串101101011110010和相应的明文串011001111111001,因此可计算出相应的密钥流为110100100001011。进一步假定敌手还知道密钥流是使用5级线性反馈移位寄存器产生的,那么敌手可分别用密文串中的前10个比特和明文串中的前10个比特建立如下方程即而从而得到所以密钥流的递推关系为非线性序列Geffe序列生成器由3个LFSR组成,其中LFSR2作为控制生成器使用。Geffe序列生成器Geffe序列的周期实现了极大化,且0与1之间的分布大体上是平衡的。J-K触发器利用J-K触发器的非线性序列生成器:在上图中,令驱动序列{a
3、k}和{bk}分别为m级和n级m序列,则有如果令c-1=0,则输出序列的最初3项为可以证明,当m与n互素且a0+b0=1时,序列{ck}的周期为(2m-1)(2n-1)。例:令m=2,n=3,两个驱动m序列分别为{ak}=0,1,1,…和{bk}=1,0,0,1,0,1,1,…试求输出序列及其周期(令c-1=0)。输出序列:0,1,1,0,1,0,0,1,1,1,0,1,0,1,0,0,1,0,0,1,0,…其周期:(22-1)(23-1)=21缺点:由表达式ck=(ak+bk+1)ck-1+ak可得因此,如果知道{ck}中相邻位的值ck-1和ck,就可以推断出
4、ak和bk中的一个。而一旦知道足够多的这类信息,就可通过密码分析的方法得到序列{ak}和{bk}。为了克服上述缺点,Pless提出了由多个J-K触发器序列驱动的多路复合序列方案,称为Pless生成器。Pless生成器由8个LFSR、4个J-K触发器和1个循环计数器构成,由循环计数器进行选通控制,如图2.16所示。假定在时刻t输出第t(mod4)个单元,则输出序列为a0b1c2d3a4b5d6Pless生成器钟控序列最基本的模型是用一个LFSR控制另外一个LFSR的移位时钟脉冲。下图为最简单的钟控序列生成器。钟控序列生成器假设LFSR1和LFSR2分别输出序列{a
5、k}和{bk},其周期分别为p1和p2。当LFSR1输出1时,移位时钟脉冲通过与门使LFSR2进行一次移位,从而生成下一位。当LFSR1输出0时,移位时钟脉冲无法通过与门影响LFSR2。因此LFSR2重复输出前一位。假设钟控序列{ck}的周期为p,可得如下关系:其中又设{ak}和{bk}的极小特征多项式分别为GF(2)上的m和n次本原多项式f1(x)和f2(x),且m
6、n。因此,p1=2m-1,p2=2n-1。又知w1=2m-1,因此gcd(w1,p2)=1,所以p=p1p2=(2m-1)(2n-1)。此外,也可推导出{ck}的线性复杂度为n(2m-1),极小特
7、征多项式为作业习题七1,3,4,5