序列密码体制续解析精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021/1/8
14
4.5 常用的序列密码算法
• 基于LFSR的序列密码非常适合于硬件实现,但是不特别适合软 件实现。这导致出现了一些关于序列密码被计划用于快速软件实 现的新建议,因为这些建议大部分具有专利,因此这里不讨论它 们的技术细节。
bk ak1ak2 ak3 ak2 ak1ak2 ak3ak2 ak3
—
ຫໍສະໝຸດ Baidu因为
a(2) k
1
a(2) k
2021/1/8
5
设LFSRi的特征多项式分别为ni次本原多项式,且ni两两互素, 3
则Geffe序列的周期为 2ni 1 ,线性复杂度为 n1 n3 n2 n3 。 i 1
a0 b1 c2 d3 a4 b5 d6
2021/1/8
10
4.钟控发生器
钟控发生器是由控制序列(由一个或多个移位寄存器来控制生成) 的当前值决定被采样的序列寄存器移动次数(即由控制序列的当前值 确定采样序列寄存器的时钟脉冲数目)。
控制序列和被采样序列可以是源于同一个LFSR(称为自控),也 可以源于不同的LFSR(称为他控),还可以相互控制(称为互控) 。钟控发生器示意图如下图所示。
J-K触发器真值表
J
K
Ck
0
0
0
1
0
1
0
1
1
1
2021/1/8
7
• 利用J-K触发器的非线性序列生成器见下图: LFSR1 {ak } J {ck } LFSR2 {bk } K
在上图中,令驱动序列{ak}和{bk}分别为m级和n级m序列,则
有 ck ak bk ck1 ak ak bk 1 ck1 ak
为了使密钥流生成器输出的二元序列尽可能复杂,应保证其周 期尽可能大、线性复杂度和不可预测性尽可能高,因此常使用多个 LFSR来构造二元序列,称每个LFSR的输出序列为驱动序列,显然 密钥流生成器输出序列的周期不大于各驱动序列周期的乘积,因此 ,提高输出序列的线性复杂度应从极大化其周期开始。
2021/1/8
2021/1/8
11
当控制序列当前值为1时,被采样序列生成器被时钟驱动k次后 输出;当控制序列当前值为0时,被采样序列生成器被时钟驱动d次 后输出。
另外,停走式发生器也是一种钟控模型,它由2个LFSR组成。 其中,LFSR-1控制LFSR-2的时钟输入。
当且仅当LFSR-1的时间t-1的输出为1时,LFSR-2在时间t改变 状态(也即LFSR-1输出时钟脉冲,使LFSR-2进行输出并反馈以改 变移位寄存器的状态)。
成,由循环计数器进行选通控制,如下图所示。
LFSR1
J
a0a1a2a3a4
LFSR2 K
0
LFSR3
J b0b1b2b3b4
LFSR4 K
1 a0b1c2d3a4b5c6
LFSR5
J
c0c1c2c3c4
2
LFSR6 K
LFSR7 J
3
d0d1d2d3d4
LFSR8 K
假定在时刻t输出第t(mod 4) 个单元,则输出序列为:
应用密码学
张仕斌 万武南 张金全 孙宣东编著
二00九年十二月
2021/1/8
1
第4章 序列密码体制
2021/1/8
2
知识点:
◇ 序列密码的概念 ◇ 线性反馈移位寄存器 ◇ 序列和周期 ◇ 非线性序列简介 ◇ 常用序列密码
2021/1/8
3
4.4 非线性序列简介
线性移位寄存器序列密码在已知明文攻击下是可破译的这一事 实促使人们向非线性领域探索。目前研究的比较充分的由非线性移 位寄存器,对线性移位寄存器进行非线性组合等。
如果令c-1=0,则输出序列的最初3项为:
c0 a0
c1 a1 b1 1 a0 a1
c2 a2 b2 1 a1 b1 1 a0 a1 a2
当m与n互素且a0+b0=1时,序列{ck}的周期为 (2m-1)(2n-1)。
2021/1/8
8
例: 令m=2,n=3,两个驱动m序列分别为
Geffe序列的周期实现了极大化,且0与1之间的分布大体上是 平衡的。
2021/1/8
6
2.J-K触发器 J-K触发器如下图所示,它的两个输入端分别用J和K表示,其
输出ck不仅依赖于输入,还依赖于前一个输出位ck-1,即
ck x1 x2 ck1 x1
其中x1和x2分别是J和K端的输 入。由此可得J-K触发器的真值表 ,如下表所示。
{ak}=0,1,1,…和 {bk}=1,0,0,1,0,1,1,… 于是,输出序列{ck}是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
ak
,
bk ,
ck1 0 ck1 1
4
1.Geffe序列生成器 Geffe序列生成器由3个LFSR组成(如下图),其中LFSR2作为 控制生成器使用。
当LFSR2输出1时,LFSR2与LFSR1相连接;当LFSR2输出0时 ,LFSR2与LFSR3相连接。
若设LFSRi的输出序列为{a(i)k} (i=1,2,3),则输出序列{bk}可以表 示为:
因此,如果知道{ck}中相邻位的值ck-1和ck,就可以推断出ak 和bk中的一个。而一旦知道足够多的这类信息,就可通过密码分 析的方法得到序列{ak}和{bk}。为了克服上述缺点,Pless提出了由 多个J-K触发器序列驱动的多路复合序列方案,称为Pless生成器
。
2021/1/8
9
3.Pless生成器 Pless生成器由8个LFSR、4个J-K触发器和1个循环计数器构
此外,还有多路复合序列,这类序列也归结为非线性组合序列 。
2021/1/8
13
- 序列密码的设计原则
设计一个性能良好的序列密码是一项十分困难的任务。最基 本的设计原则是“密钥流生成器的不可预测性”,它可分解为下 述基本原则:
① 长周期。 ② 高线性复杂度。 ③ 统计性能良好。 ④ 足够的“混乱”。 ⑤ 足够的“扩散”。 ⑥ 抵抗不同形式的攻击。
2021/1/8
12
5.收缩和自收缩发生器
收缩发生器是又控制序列的当前值决定被采样序列移位寄存器 是否输出。
该发生器由2个LFSR组成。LFSR-1、LFSR-2分别按各自时钟 运行,LFSR-1在时间t-1时刻的输出为1时,LFSR-2在时间t时刻输 出为密钥流,否则舍去。
自收缩发生器从一个LFSR抽出2条序列,其中一条为控制序列 ,另一条为百采样序列。当控制序列输出为1时,采样序列输出为 密钥流,否则舍去。