8-序列密码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
p(x) 1 x x4
则其级联多项式对应的线性反馈寄存器图? 和反馈函数?
f (a1,a2,a3,a4 ) a1 a4
27
例题
已知一个5级的LFSR的联结多项式为: p(x) 1 x2 x5
则其级联多项式对应的线性反馈寄存器图?
a5
a4
a3
a2
输出序列
a1
28
LFSR举例
18
反馈移位寄存器
例4-1:左图是一个3级 反馈移位寄存器,其初始状
态为(a1,a2,a3)=(1,0,1),输
出可由右表求出。
即输出序列为 101110111011…,周期为4。
a3 a2 a1 101 11 0 1 11 011
1 01 1 10 1 11 …….
输出 1 0 1 1 1 0 1 …..
• 设密钥为k=k1k2…
ki∈GF(2), i>0
• 设密文为c=c1c2…
ci∈GF(2), i>0
• 则加密变换为ci= mi + ki (mod 2)
i>0
• 则解密变换为mi= ci+ ki (mod 2)
i>0
5
流密码的思想起源
密钥流生成、存储和分
• 思想起源:20世纪发2困0难年代的Vernam体制, 即“一次一密”密码体制。香农利用信息 论证明“一次随机一序列密实计现算”机密无法码体制在理论上不 可破译
缺点:一旦接收端和发送端的种子密钥和内部状态不同步,解密 就会失败,两者必须立即借助外界手段重新建立同步。
10
流密码技术的发展及分类
k
k
密钥流 生成器
密钥流 生成器
zi
E(zi,mi) mi
ci
信道
ci
zi E(zi,mi)
mi
自同步流密码SSSC(Self-Synchronous Stream Cipher)
的优点是即使接收端和发送端不同步,只要接收端能连 续地正确地接受到n个密文符号,就能重新建立同步。因此 自同步流密码具有有限的差错传播 ,且分析较同步流密码的 分析困难得多
11
流密码技术的发展及分类
思考:假设j=n/4,n为分组长度 对于DES,n=64, j=16;对AES,n=128,j=32
输出序列
a5
a4
a3
a2
a1
反馈多项式?则其输出序列为?
f (a1, a2 , a3, a4 , a5 ) a1 a2 a4
24
LFSR的形式化表示
a5
a4
a3
a2
a1
输出序列
则其联结多项式为?
p(x) 1 c1x cn1xn1 cn xn c2 1, c4 1, c5 1 p(x) 1 x2 x4 x5

k2an

k3an 1

kn 1a1
k2n knan kn1an1 k2n1a1
n个线性方程包含n个未知数:a1,a2,...,an,所以
可惟一解出ai (i=0,1,…,n)
从而可确定该线性反馈移位寄存器接下来的状
态,也就能够得到余下的密钥序列。
36
基于移位寄存器的流密码算法
定理 {ai}是周期为2n 1的m-序列的充要条件是 其特征多项式f(x)为n阶本原多项式
32
基于移位寄存器的流密码算法
定义 设 p(x) 是GF(2) 上的多项式,使p(x)|(x p 1) 的最小的p称为 p(x) 的周期或者阶。
例: f (x) x4 x3 x2 x 1 为 GF(2) 上多项
34
基于移位寄存器的流密码算法
1 若LFSR的反馈函数已知,破译者已知连续n 位明密文对{m1, m2,, mn}和{c1, c2 ,, cn} 则可以推导
出n比特密钥流 {k1, k2 ,, kn},ki mi ci 继而由反
馈函数得到整个密钥流{ki} 2 已知明文攻击下,假设破译者已知了2n位明
例: 5级线性反馈移位寄存器产生的密钥序列 加密得到的明文串为011001111111001,对应的密 文串为101101011110011。求该LFSR的反馈函数。
解:由明密文得相应的密钥序列为 110100100001010;
利用前10个密钥序列比特建立如下方程:
37
基于移位寄存器的流密码算法
密文对 M {m1, m2 ,, m2n},C {c1,c2,,c2n},则可确 定一段2n位长的密钥序列 K {k1, k2,, k2,n}由此可以 完全确定反馈多项式的系数。
35
基于移位寄存器的流密码算法
kn1 k1an k2an1 kna1
kn 2
k6 k1 k2 k3
k7 k2 k3 k4

k8



k3
k4
k5

kk19反0 馈 kk函54 数kk65 为kk76
20
基于移位寄存器的流密码算法
定义 设n级LFSR的输出序列{ai}满足递推关系
f (a1, a2 , an ) cna1 cn1a2 c1an
ank cnank1 c a n1 nk2
bn
… bn1
b2
c1ak (k 1).
输出序列
b1
c1
c2
下图是一个5级线性反馈移位寄存器,其初始状 态为(a1,a2,a3,a4,a5)=(1,0,0,1,1),可求出输出序列 为1001101001000010101110110001111100110…,周 期为31。
29
序列的周期性
当一个无限序列{si}是由一个有限序列重复而成 时,这个序列是有周期的。即存在一个正整数r, 使得对所有的正整数k,有:sk+r= sk。
• 由有限的种子密钥生成无限长的随机密钥 序列
• 流密码研究内容——设计安全高效的伪随
机序列发生器
评测标准:线性复杂 度高;周期大
6
一次一密举例
定义加密变换为: c=Ek(m)=m ⊕ k
其中,m⊕k表示明文m与密钥k按位模2加 (按位异或)
解密变换为: m=Dk(c)=c ⊕ k
其中,c⊕k表示密文c与密钥k按位模2加 (按位异或)。
16
基于移位寄存器的流密码算法
反馈移位寄存器(feedback shift register,FSR)是由n位的寄存器和 反馈函数(feedback function)组成,如下图所示,n位的寄存器中的初始 值称为移位寄存器的初态.
工作原理:移位寄存器中所有位的值右移1位,最右边的一个寄存 器移出的值是输出位,最左边一个寄存器的值由反馈函数的输出值填充, 此存过器程根称据为需进要动不断1拍地. 进反动馈m函拍数,f是便n有个m变位元的(b输1,b出2,,…形,bn成)的输布出尔序函列数. 移位寄 o1,o2,…,om .
极大的周期 良好的统计特性 抗线性分析 抗统计分析。
15
基于移位寄存器的流密码算法
rn rn-1 … r2 r1 bn bn-1 … b2 b1
bn bn-1 … b2
挪威政府的首席密码学家Ernst Selmer 于1965年提出了移位寄存 器理论,它是序列密码中研究随机密钥流的主要数学工具.
移位寄存器是指有n个寄存器(称为n-级移位寄存器)r1,r2,…,rn从 右到左排列,每个寄存器中能存放1位二进制数,所有寄存器中的数可以 统一向右(或向左)移动1位,称为进动1拍. 即r1的值(b1)右移1位后输出, 然后r2的值(b2)送r1 , r3的值(b3)送r2,……最后, rn的值(bn)送rn-1.
25
例题
一个3-级的反馈移位寄存器,反馈函数 f(x)=b1⊕b3,初态为100,输出序列?
状态 100 110 111 011 101 010 001 100
输出位 0 0
1 1 1 0 1 0
b3 b2 b1 00111010011101…
f(b1,b2,b3)=b1⊕b3
26
例题
已知一个4级的LFSR的联结多项式为:
式,以它为特征多项式的LFSR 的输出序列周期。
x5 1 (x4 x3 x2 x 1)(x 1) f (x)(x 1) f (x) | x5 1
f(x)周期是5,不是m序列
33
基于移位寄存器的流密码算法
流密码的攻击 攻击目的:确定整个密钥流{ki} 攻击手段:
惟密文 已知明文 选择明/密文 自适应选择明/密文
bn
… bn1
b2
输出序列
b1
c1
c2
cn1
cn

22
注意:
LFSR与联结多项式是一一对应的,如
果知道了线性反馈移位寄存器的结构, 可以写出它的联结多项式,同样可以根 据联结多项式画出移位寄存器的结构。
23
LFSR举例
下图为一个5级线性反馈移位寄存器,其初始状态为
(a1, a2 , a3 , a4 , a5 ) (1,1,0,1,0)
7
一次一密举例
一次一密举例:
计算规则:
0 ⊕ 0=0 1 ⊕ 1=0
0 ⊕ 1=1
1 ⊕ 0=1
明101011101000 钥011010100111 密110001001111
8
流密码
流密码是将明文划分成字符(如单个字 母),或其编码的基本单元(如0, 1数字),字 符分别与密钥流作用进行加密,解密时以同 步产生的同样的密钥流实现。
9
流密码技术的发展及分类
k
k
密钥流 生成器
密钥流 生成器
zi
E(zi,mi) mi
ci
信道 ci
zi E(zi,mi)
mi
在同步流密码SSC(Synchronous Stream Cipher)中,密(明)文 符号是独立的,一个错误传输只会影响一个符号,不影响后面的符号。
优点:容易检测插入、删除、重播等主动攻击。
rn rn-1 … r2 r1 bn bn-1 … b2 b1
输出位oi
反馈函数 f
17
反馈移位寄存器
初始状态由用户确定,当第i个移位时钟脉冲到 来时,每一级存储器ai都将其内容向下一级ai-1传递, 并计算f(a1,a2,…,an)作为下一时刻的an。
反馈函数f(a1,a2,…,an)是n元布尔函数,即n 个变元a1,a2,…,an 可以独立地取0和1两个可能的值, 函数中的运算有逻辑与、逻辑或、逻辑补等运算, 最后的函数值也为0或1。
19
基于移位寄存器的流密码算法
线性反馈移位寄存器LFSR(linear feedback shift register)的反馈函数为线性函数
作为密钥流的序列{ai}的周期一定要大 否则密钥流的空间太小,利用穷举搜索可以
得到密钥流{ai}
n级LFSR输出的序列的周期r不依赖于寄存器的 初始值,而依赖于特征多项式p(x)
也可以说无限序列{si}具有如下结构: s0s1s2…sr-1s0s1s2…sr-1s0s1s2…
所以具有此性质的最小正整数r,称为这个序列的 周期。s0s1…sr-1称为这个周期序列的生成序列。
若序列{si}中除了开始几项外,以后的剩余部 分是周期序列,则此序列称为准周期序列。
30
基于移位寄存器的流密码算法
序列密码
1
主要内容
• 流密码(序列密码)起源 • 流密码的分类 • 线性反馈寄存器 • RC4密码算法
2
流密码的思想起源
种子密钥
密钥流生成器
k12
c12Fra Baidu bibliotek
明文
m12
加密过程
3
流密码的思想起源
种子密钥
密钥流生成器
k12
m12
密文
c12
解密过程
4
流密码的思想起源
• 设明文为m=m1m2… mi∈GF(2), i>0
cn1
cn
… n级LFSRc1,c2,……,cn总 有一位不为1
总假定cn=1 21
LFSR的形式化表示
LFSR可以用一个一元高次多项表示:
f (x) 1 c1x cn1xn1 cn xn (*)
称这个多项式为LFSR的联结多项式(特征多项式)。 则,LFSR可记为:<L,p(x)> (L ≤ n)
CFB模式为( )流密码? OFB模式为( )流密码? CTR模式为( )流密码?
自同步,同步,同步
12
输出 反馈 OFB 模式
13
j-比特密码反馈 CFB模式
C1 P1 S j E IV
P1 C1 Sj EIV
14
密钥流序列的性质
密码设计者的最大愿望是设计出一 个滚动密钥生成器,使得密钥经其扩展 成的密钥流序列具有如下性质:
n级LFSR输出的序列的最大周期是2n 1 为什么?
LFSR的寄存器状态遍历2n 1个非零状态 初始状态为全零,则输出序列为0的循环
定义 当LFSR的寄存器状态遍历2n 1个非零状 态时,序列的周期达到最大2n 1,这种序列被称为 m序列。
31
基于移位寄存器的流密码算法
定义 若n次不可约多项式p(x)的阶为2n-1,则称 p(x)为n次本原多项式。
相关文档
最新文档