第4章(序列密码)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图4-4 GF(2)上的n级线性反馈移位寄存器
输出序列{at}满足 an+t=cnat cn-1at+1 … c1an+t-1 其中t为非负正整数。 线性反馈移位寄存器因其实现简单、速度快、 有较为成熟的理论等优点而成为构造密钥流生 成器的最重要的部件之一。
例4.2 图4-5是一个5级线性反馈移位寄存器, 其初始状态为(a1,a2,a3,a4,a5)=(1,0,0,1,1),可 求出输出序列为 1001101001000010101110110001111100110 … 周期为31。
线性反馈移位寄存器输出序列的性质完全由 其反馈函数决定。n级线性反馈移位寄存器最 多有2n个不同的状态。若其初始状态为0,则 其状态恒为0。若其初始状态非0,则其后继状 态不会为0。因此n级线性反馈移位寄存器的状 态周期小于等于2n-1。其输出序列的周期与状 态周期相等,也小于等于2n-1。只要选择合适 的反馈函数便可使序列的周期达到最大值2n-1 ,周期达到最大值的序列称为m序列。
初始状态由用户确定,当第i个移位时钟脉冲 到来时,每一级存储器ai都将其内容向下一级 ai-1传递,并根据寄存器此时的状态a1,a2,…,an 计算f(a1,a2,…,an),作为下一时刻的an。反馈函 数f(a1,a2,…,an)是n元布尔函数,即n个变元 a1,a2,…,an可以独立地取0和1这两个可能的值, 函数中的运算有逻辑与、逻辑或、逻辑补等运 算,最后的函数值也为0或1。
图4-5 一个5级线性反馈移位寄存器
在线性反馈移位寄存器中总是假定c1,c2,…,cn 中至少有一个不为0,否则f(a1,a2,…,an)≡0,这 样的话,在n个脉冲后状态必然是00…0,且这 个状态必将一直持续下去。若只有一个系数不 为0,设仅有cj不为0,实际上是一种延迟装置。 一般对于n级线性反馈移位寄存器,总是假定 cn=1。
4.4 线性移位寄存器的一元多项式表示
设 n 级线性移位寄存器的输出序列满足递推 关系 an+k=c1an+k-1 c2an+k-2 … cnak (*) 对任何 k 1 成立。这种递推关系可用一个一 元高次多项式 P(x)=1+c1x+…+cn-1xn-1+cnxn 表示,称这个多项式为LFSR的联系多项式或 特征多项式。
4.1 引言
人们试图用序列密码方式仿效”一次一密” 密码. 从而促成了序列密码的研究和发展. 序列 密码是wk.baidu.com界军事, 外交等领域应用的主流密码 体制. 在通常的序列密码中, 加解密用的密钥序 列是伪随机序列, 它的产生容易且有较成熟的 理论工具, 所以序列密码是当前通用的密码系 统. 序列密码的安全性主要依赖于密钥序列, 因而什么样的伪随机序列是安全可靠的密钥序 列, 以及如何实现这种序列就成了序列密码中 研究的一个主要方面.
即输出序列为101110111011…,周期为4。 如果移位寄存器的反馈函数f(a1,a2,…,an)是a1 ,a2,…,an的线性函数,则称之为线性反馈 移位寄存器LFSR(linear feedback shift register )。此时f可写为 f(a1,a2,…,an)=cna1 cn-1a2 … c1an 其中常数ci=0或1 2加法。ci=0或1可 用开关的断开和闭合来实现,如图4-4所示。
常见的两种密钥流产生器
因为确定性算法产生的序列是周期的或准周 期的,为了使序列密码达到要求的安全保密性, 使得密钥经其扩展成的密钥流序列具有如下性 质:极大的周期、良好的统计特性、抗线性分 析、抗统计分析。 我们仅对实用中最感兴趣的二元情形即GF(2) 上的序列密码原理进行介绍,但其理论是可以 在任何有限域GF(q)中进行研究的。
4.2 序列 密码的一般原理
序列密码的基本思想是利用一个短密钥k通 过一个算法来产生一个密钥流k=k0k1…,并使 用如下规则对明文串m=m0m1m2…加密: c=c0c1c2…=Ek0(m0)Ek1(m1)Ek2(m2)…。密钥流由 密钥流发生器A产生: k0k1…=A(k),
二进制序列密码体制模型
设 n 级线性移位寄存器对应于递推关系 (*) , 由于ai∈GF(2) (i=1,2,…,n),所以共有2n组初始 状态,即有2n个递推序列,其中非恒为零的序 列 有 2 n-1 个 , 记 2 n-1 个 非 零 序 列 的 全 体 为 G(p(x))。
例4.1 图4-3 是一个3级反馈移位寄存器,其 初始状态为(a1,a2,a3)=(1,0,1),求出输出序列。
图 4-3 一个3级反馈移位寄存器
一个3级反馈移位寄存器 的状态和输出
状态 (a1,a2,a3)

输出

1 1 1 0 1 1
0 1 1 1 0 1
1 0 1 1 1 0
1 0 1 1 1 0
2.2 线性反馈移位寄存器
移位寄存器是序列密码产生密钥流的一个主 要组成部分。GF(2)上一个n级反馈移位寄存器 由n个二元存储器与一个反馈函数f(a1,a2,…,an) 组成,如图4.2所示。
图4.2 GF(2)上的n级反馈移位寄存器
每一存储器称为移位寄存器的一级,在任一 时刻,这些级的内容构成该反馈移位寄存器的 状态,每一状态对应于GF(2)上的一个n维向量, 共有2n种可能的状态。每一时刻的状态可用n 长序列 a1,a2,…,an 或n维向量 (a1,a2,…,an) 表示,其中ai是第i级存储器的内容。
由此可见, 序列密码的安全性主要依赖于密钥序列 k0k1…=A(k),当k0k1…是离散无记忆的随机序列时, 则该系统就是一次一密密码, 它是不可破的. 但通常 A(k)是一个由k通过确定性算法产生的伪随机序列, 因 而此时, 该系统就不再是完全保密的. 设计序列密码的 关键是设计密钥序列A(k),密钥序列A(k)的设计应考虑 如下几个因素: (1)系统的安全保密性; (2)密钥k易于分配、保管,更换简便; (3)产生密钥序列简单快速。 目前最为流行和实用的密钥流产生器,其驱动部分是 一个或多个线性反馈移位寄存器。
相关文档
最新文档