- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 流密码
流密码的基本概念
线性反馈移位寄存器
线性移位寄存器的一元多项式表示
m序列的伪随机性
m序列密码的破译
非线性序列
流密码的基本概念
同步流密码
同步流密码体制模型
序列密码对密钥流的要求
密钥流产生器
通常的构建方法:
线性移位寄存器(LFSR) + 非线性组合函数
非线性组合函数F的选择非常重要,直接关系到流密码的安全性程度。——课题:布尔函数研究
线性反馈移位寄存器
状态转变和输出表:
即输出序列为101110111011…,周期为4。
线性移位寄存器的一元多项式表示
? ? ?
m序列的伪随机性
m 序列密码的破译
例:设敌手得到密文串101101011110010和相应的明文串011001111111001,因此可计算出相应的密钥流为110100100001011。进一步假定敌手还知道密钥流是使用5级线性反馈移位寄存器产生的,那么敌手可分别用密文串中的前10个比特和明文串中的前10个比特建立如下方程
即
而
从而得到
所以
密钥流的递推关系为
非线性序列
Geffe序列生成器由3个LFSR组成,其中LFSR2作为控制生成器使用。
Geffe序列生成器
Geffe序列的周期实现了极大化,且0与1之间的分布大体上是平衡的。
J-K触发器
利用J-K触发器的非线性序列生成器:
在上图中,令驱动序列{ak}和{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,就可以推断出ak和bk中的一个。而一旦知道足够多的这类信息,就可通过密码分析的方法得到序列{ak}和{bk}。
为了克服上述缺点,Pless提出了由多个J-K触发器序列驱动的多路复合序列方案,称为Pless生成器。
Pless生成器由8个LFSR、4个J-K触发器和1个循环计数器构成,由循环计数器进行选通控制,如图2.16所示。假定在时刻t输出第t(mod 4)个单元,则输出序列为
a0b1c2d3a4b5d6
Pless生成器
钟控序列最基本的模型是用一个LFSR控制另外一
个LFSR的移位时钟脉冲。
下图为最简单的钟控序列生成器。
钟控序列生成器
假设LFSR1和LFSR2分别输出序列{ak}和{bk},其
周期分别为p1和p2。
当LFSR1输出1时,移位时钟脉冲通过与门使
LFSR2进行一次移位,从而生成下一位。
当LFSR1输出0时,移位时钟脉冲无法通过与门影
响LFSR2。因此LFSR2重复输出前一位。
假设钟控序列{ck}的周期为p,可得如下关系:
其中
又设{ak}和{bk}的极小特征多项式分别为GF(2)上的m和n次本原多项式f1(x)和f2(x),且m|n。
因此,p1=2m-1, p2=2n-1。又知w1=2m-1, 因此
gcd(w1,p2)=1,所以p=p1p2=(2m-1)(2n-1)。
此外,也可推导出{ck}的线性复杂度为n(2m-1),
极小特征多项式为
作业
习题七 1,3,4,5
文档评论(0)