第4章(序列密码)课件.ppt
《第4章(序列密码)课件.ppt》由会员分享,可在线阅读,更多相关《第4章(序列密码)课件.ppt(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 有关序列密码和移位寄存器4.1 引言4.2 序列密码的一般原理4.3 线性移位寄存器4.4 线性移位寄存器的一元多项式表示4.5 m序列的伪随机性4.6 m序列密码的破译4.7 非线性序列习题4.1 引言引言 人们试图用序列密码方式仿效”一次一密”密码.从而促成了序列密码的研究和发展.序列密码是世界军事,外交等领域应用的主流密码体制.在通常的序列密码中,加解密用的密钥序列是伪随机序列,它的产生容易且有较成熟的理论工具,所以序列密码是当前通用的密码系统.序列密码的安全性主要依赖于密钥序列,因而什么样的伪随机序列是安全可靠的密钥序列,以及如何实现这种序列就成了序列密码中研究的一个主要方面.
2、序列密码的基本思想是利用一个短密钥k通过一个算法来产生一个密钥流k=k0k1,并使用如下规则对明文串m=m0m1m2加密:c=c0c1c2=Ek0(m0)Ek1(m1)Ek2(m2)。密钥流由密钥流发生器A产生:k0k1=A(k),4.2 序列序列 密码的一般原理密码的一般原理 二进制序列密码体制模型由此可见,序列密码的安全性主要依赖于密钥序列k0k1=A(k),当k0k1是离散无记忆的随机序列时,则该系统就是一次一密密码,它是不可破的.但通常A(k)是一个由k通过确定性算法产生的伪随机序列,因而此时,该系统就不再是完全保密的.设计序列密码的关键是设计密钥序列A(k),密钥序列A(k)的设计应
3、考虑如下几个因素:(1)系统的安全保密性;(2)密钥k易于分配、保管,更换简便;(3)产生密钥序列简单快速。目前最为流行和实用的密钥流产生器,其驱动部分是一个或多个线性反馈移位寄存器。常见的两种密钥流产生器因为确定性算法产生的序列是周期的或准周期的,为了使序列密码达到要求的安全保密性,使得密钥经其扩展成的密钥流序列具有如下性质:极大的周期、良好的统计特性、抗线性分析、抗统计分析。我们仅对实用中最感兴趣的二元情形即GF(2)上的序列密码原理进行介绍,但其理论是可以在任何有限域GF(q)中进行研究的。移位寄存器是序列密码产生密钥流的一个主要组成部分。GF(2)上一个n级反馈移位寄存器由n个二元存储
4、器与一个反馈函数f(a1,a2,an)组成,如图4.2所示。2.2 线性反馈移位寄存器线性反馈移位寄存器图4.2 GF(2)上的n级反馈移位寄存器每一存储器称为移位寄存器的一级,在任一时刻,这些级的内容构成该反馈移位寄存器的状态,每一状态对应于GF(2)上的一个n维向量,共有2n种可能的状态。每一时刻的状态可用n长序列a1,a2,an或n维向量(a1,a2,an)表示,其中ai是第i级存储器的内容。初始状态由用户确定,当第i个移位时钟脉冲到来时,每一级存储器ai都将其内容向下一级ai-1传递,并根据寄存器此时的状态a1,a2,an计算f(a1,a2,an),作为下一时刻的an。反馈函数f(a1
5、,a2,an)是n元布尔函数,即n个变元a1,a2,an可以独立地取0和1这两个可能的值,函数中的运算有逻辑与、逻辑或、逻辑补等运算,最后的函数值也为0或1。例4.1 图4-3 是一个3级反馈移位寄存器,其初始状态为(a1,a2,a3)=(1,0,1),求出输出序列。图 4-3 一个3级反馈移位寄存器一个3级反馈移位寄存器的状态和输出状态状态(a1,a2,a3)输出输出1 0 11 1 01 1 10 1 11 0 11 1 0 101110即输出序列为101110111011,周期为4。如果移位寄存器的反馈函数f(a1,a2,an)是a1,a2,an的线性函数,则称之为线性反馈移位寄存器LF
6、SR(linear feedback shift register)。此时f可写为f(a1,a2,an)=cna1cn-1a2c1an其中常数ci=0或1,是模2加法。ci=0或1可用开关的断开和闭合来实现,如图4-4所示。图4-4 GF(2)上的n级线性反馈移位寄存器输出序列at满足an+t=cnatcn-1at+1c1an+t-1其中t为非负正整数。线性反馈移位寄存器因其实现简单、速度快、有较为成熟的理论等优点而成为构造密钥流生成器的最重要的部件之一。例4.2 图4-5是一个5级线性反馈移位寄存器,其初始状态为(a1,a2,a3,a4,a5)=(1,0,0,1,1),可求出输出序列为100
7、1101001000010101110110001111100110周期为31。图4-5 一个5级线性反馈移位寄存器在线性反馈移位寄存器中总是假定c1,c2,cn中至少有一个不为0,否则f(a1,a2,an)0,这样的话,在n个脉冲后状态必然是000,且这个状态必将一直持续下去。若只有一个系数不为0,设仅有cj不为0,实际上是一种延迟装置。一般对于n级线性反馈移位寄存器,总是假定cn=1。线性反馈移位寄存器输出序列的性质完全由其反馈函数决定。n级线性反馈移位寄存器最多有2n个不同的状态。若其初始状态为0,则其状态恒为0。若其初始状态非0,则其后继状态不会为0。因此n级线性反馈移位寄存器的状态周
8、期小于等于2n-1。其输出序列的周期与状态周期相等,也小于等于2n-1。只要选择合适的反馈函数便可使序列的周期达到最大值2n-1,周期达到最大值的序列称为m序列。设n级线性移位寄存器的输出序列满足递推关系an+k=c1an+k-1 c2an+k-2 cnak (*)对任何 成立。这种递推关系可用一个一元高次多项式P(x)=1+c1x+cn-1xn-1cnxn表示,称这个多项式为LFSR的联系多项式或特征多项式。4.4 线性移位寄存器的一元多项式表示设n级线性移位寄存器对应于递推关系(*),由于aiGF(2)(i=1,2,n),所以共有2n组初始状态,即有2n个递推序列,其中非恒为零的序列 有
9、2n-1个,记 2n-1个 非 零 序 列 的 全 体 为G(p(x)。定义定义 给定序列ai,幂级数A(x)=aixi-1称为该序列的生成函数或母函数。定理定理4.1 设p(x)=1+c1x+cn-1xn-1+cnxn是GF(2)上的多项式,G(p(x)中任一序列ai的生成函数A(x)满足:A(x)=(x)/p(x)其中证明:证明:在等式an+1=c1anc2an-1cna1an+2=c1an+1c2ancna2 两边分别乘以xn,xn+1,,再求和,可得A(x)-(a1+a2x+anxn-1)=c1xA(x)-(a1+a2x+an-1xn-2)+c2x2A(x)-(a1+a2x+an-2x
10、n-3)+cnxnA(x)移项整理得(1+c1x+cn-1xn-1+cnxn)A(x)=(a1+a2x+anxn-1)+c1x(a1+a2x+an-1xn-2)+c2x2(a1+a2x+an-2xn-3)+cn-1xn-1a1即p(x)A(x)=(证毕)注意在GF(2)上有a+a=0。引理:定理定理4.2 p(x)|q(x)的充要条件是G(p(x)G(q(x)。证明:证明:若p(x)|q(x),可设q(x)=p(x)r(x),因此A(x)=(x)/p(x)=(x)r(x)/p(x)r(x)=(x)r(x)/q(x)所以若aiG(p(x),则aiG(q(x),即G(p(x)G(q(x)。反之,若
11、G(p(x)G(q(x),则对于多项式(x),存在序列aiG(p(x)以 A(x)=(x)/p(x)为生成函数。特别地,对于多项式(x)=1,存在序列aiG(p(x)以1/p(x)为生成函数。由于G(p(x)G(q(x),序列aiG(q(x),所以存在函数r(x),使得ai的生成函数也等于r(x)/q(x),从而1/p(x)=r(x)/q(x),即q(x)=p(x)r(x),所以p(x)|q(x)。(证毕)上述定理说明可用n级LFSR产生的序列,也可用级数更多的LFSR来产生。定义定义4.2 设p(x)是GF(2)上的多项式,使p(x)|(xp-1)的最小p称为p(x)的周期或阶。定理定理4.
12、3 若序列ai的特征多项式p(x)定义在GF(2)上,p是p(x)的周期,则ai的周期r|p。证明证明:由p(x)周期的定义得p(x)|(xp-1),因此存在q(x),使得xp-1=p(x)q(x),又由p(x)A(x)=(x)可得p(x)q(x)A(x)=(x)q(x),所以(xp-1)A(x)=(x)q(x)。由于q(x)的次数为p-n,(x)的次数不超过n-1,所以(xp-1)A(x)的次数不超过(p-n)+(n-1)=p-1。这就证明了对于任意正整数i都有ai+p=ai。设p=kr+t,0tr,则ai+p=ai+kr+t=ai+t=ai,所以t=0,即r|p。(证毕)n级LFSR输出序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 序列 密码 课件
限制150内