精品课件-应用密码学-8-序列密码
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
kk19反0 馈函kk54数为kk65
k6 k7
kk7
k8i
5kk89
aaa125ki
0 1
0a2 ki 03
0
0
0
k1i
利用前10个密钥序列比特建立如下方程:
37
基于移位寄存器的流密码算法
k6 k1 k2 k3 k4 k5 a5 0 1 1 0 1 0 a5
k7 k2 k3 k4 k5 k6 a4 1 1 0 1 0 0 a4
k8
k3
k4
k5
k6
k7
a3
0
0
1
0
0
1
a3
缺点:一旦接收端和发送端的种子密钥和内部状态不同 步,解密就会失败,两者必须立即借助外界手段重新建立同步。
10
流密码技术的发展及分类
k
k
密钥流 生成器
密钥流 生成器
zi
mi
E(zi,m i)
ci 信道
ci
zi E(zi,m
i)
mi
自同步流密码SSSC(Self-Synchronous Stream Cipher)
7
一次一密举例
一次一密举例: 计算规则:
0 ⊕ 0=0 1 ⊕ 1=0
0 ⊕ 1=1
1 ⊕ 0=1
明101011101000 钥011010100111 密110001001111
8
流密码 流密码是将明文划分成字符(如单个字母),或其 编码的基本单元(如0, 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的联结多项式为:
序列密码
1
主要内容 • 流密码(序列密码)起源 • 流密码的分类 • 线性反馈寄存器 • RC4密码算法
2
流密码的思想起源
种子密钥
密钥流生成器
k12
明文
m12 加密过程
c12
3
流密码的思想起源 种子密钥
密钥流生成器
k12
m12
密文
c12
解密过程
4
流密码的思想起源
• 设明文为m=m1m2…
mi∈GF(2), i>0
工作原理:移位寄存器中所有位的值右移1位,最右边的 一个寄存器移出的值是输出位,最左边一个寄存器的值由反馈 函数的输出值填充,此过程称为进动1拍. 反馈函数f是n个变元 (便b有1,bm2位,…的,输bn出)的,布形尔成函输数出.序移列位o1寄,o存2,器…根,o据m 需. 要不断地进动m拍,
rn rn-1 … r2 r1
29
序列的周期性 当一个无限序列{si}是由一个有限序列重复而成时,这个 序列是有周期的。即存在一个正整数r,使得对所有的正整数 k,有:sk+r= sk。
也可以说无限序列{si}具有如下结构: s0s1s2…sr-1s0s1s2…sr-1s0s1s2…
所以具有此性质的最小正整数r,称为这个序列的周期。 s0s1…sr-1称为这个周期序列的生成序列。
19
基于移位寄存器的流密码算法
线性反馈移位寄存器LFSR(linear feedback shift register)的反馈函数为线性函数
作为密钥流的序列{ai}的周期一定要大 否则密钥流的空间太小,利用穷举搜索可以得到密
钥流{ai} n级LFSR输出的序列的周期r不依赖于寄存器的初始值,
而依赖于特征多项式p(x)
若序列{si}中除了开始几项外,以后的剩余部分是周期 序列,则此序列称为准周期序列。
30
基于移位寄存器的流密码算法
n级LFSR输出的序列的最大周期是2n 1
LFSR的寄存器状态遍历2n 1个非零状态 初始状态为全零,则输出序列为0的循环
为什么?
Βιβλιοθήκη Baidu
定义 当LFSR的寄存器状态遍历2n 1个非零状态时,序 列的周期达到最大2n 1,这种序列被称为m序列。
15
基于移位寄存器的流密码算法
rn rn-1 … r2 r1 b n b n-1 … b 2 b 1
b n b n-1 … b 2
挪威政府的首席密码学家Ernst Selmer 于1965年提出了 移位寄存器理论,它是序列密码中研究随机密钥流的主要数学 工具.
移位寄存器是指有n个寄存器(称为n-级移位寄存器)
流密码的攻击 攻击目的:确定整个密钥流{ki} 攻击手段:
惟密文 已知明文 选择明/密文 自适应选择明/密文
34
基于移位寄存器的流密码算法
1 若LFSR的反馈函数已知,破译者已知连续n位明密文对
和流数得到整个密钥{m流1,{{mkk2i1,}, k,2则m,n可,} ,以k{推nc}1导, ck2出i,n比m, c特in}密c钥继i 而由反馈函
注意: LFSR与联结多项式是一一对应的,如果知道了线性反 馈移位寄存器的结构,可以写出它的联结多项式,同样 可以根据联结多项式画出移位寄存器的结构。
23
LFSR举例
下图为一个5级线性反馈移位寄存器,其初始状态为
(a1, a2 , a3 , a4 , a5 ) (1,1,0,1,0)
a5
a4
a3
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 …..
9
流密码技术的发展及分类
k
k
密钥流 生成器
密钥流 生成器
zi
mi
E(zi,m i)
ci 信道 ci
zi E(zi,m
i)
mi
在同步流密码SSC(Synchronous Stream Cipher)中,密 (明)文符号是独立的,一个错误传输只会影响一个符号,不 影响后面的符号。
优点:容易检测插入、删除、重播等主动攻击。
论上不可破译 • 由有限的种子密钥随生机无成序法无列实限计现长算的机随机密钥序列 • 流密码研究内容——设计安全高效的伪随机序列发生器
评测标准:线性 复杂度高;周期
大
6
一次一密举例 定义加密变换为:
c=Ek(m)=m ⊕ k 其中,m⊕k表示明文m与密钥k按位模2加(按位异或) 解密变换为:
m=Dk(c)=c ⊕ k 其中,c⊕k表示密文c与密钥k按位模2加(按位异 或)。
2 已知明文攻击下,假设破译者已知了2n位明密文
对
,
,由则此可可确以定完M一全 段确{m定21n, m反位2馈长,多的, m项密2式钥n}的序系列CK 数{{。ck11,,ck22,,,,ck22n
}
n}
,
35
基于移位寄存器的流密码算法
kn1 k1an k2an1 kna1
kn 2
k2an
k3an 1
kn 1a1
n个线性k方2n程包k含nan个未kn知1数an:1a1,a2,..k.,2nan1,a1所以可惟一
解出ai (i=0,1,…,n)
从而可确定该线性反馈移位寄存器接下来的状态,也就
能够得到余下的密钥序列。
36
基于移位寄存器的流密码算法 例: 5级线性反馈移位寄存器产生的密钥序列加密得到 的明文串为011001111111001,对应的密文串为 101101011110011。求该LFSR的反馈函数。 解:由明密文得相应的密钥序列为110100100001010;
的最小的p称为 p(x) 的周期或者阶。
上多项例式:,以f (它x)为特x征4 多 x项3式的x2LFSxR 的1输出序G列F周(2期) 。 为
x5 1 (x4 x3 x2 x 1)(x 1) f (x)(x 1) f (x) | x5 1
f(x)周期是5,不是m序列
33
基于移位寄存器的流密码算法
r1,r2,…,rn从右到左排列,每个寄存器中能存放1位二进制数, 所有寄存器中的数可以统一向右(或向左)移动1位,称为进
动1拍. 即r1的值(b1)右移1位后输出,然后r2的值(b2)送r1 ,
r 的值(b )送r ,……最后, r 的值(b )送r
16
基于移位寄存器的流密码算法
反馈移位寄存器(feedback shift register,FSR)是由n位 的寄存器和反馈函数(feedback function)组成,如下图所示, n位的寄存器中的初始值称为移位寄存器的初态.
• 设密钥为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农世利纪密用20钥信年和流息代分生论的发成证V困e、明r难n存“am储一体次制一,密即”“密一码次体一制密在”理
b n b n-1 … b 2 b 1
输出位 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。
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
20
基于移位寄存器的流密码算法
定义 设n级LFSR的输出序列{ai}满足递推关系
f (a1, a2 , an ) cna1 cn1a2 c1an
ank cnank1 c a n1 nk2
bn
bn 1
…
b2
c1ak (k 1).
输出序列
b1
c1
c2
cn1
cn
…
n级LFSRc1,c2,……,cn总有一位不 为1
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举例 下图是一个5级线性反馈移位寄存器,其初始状态为 (a1,a2,a3,a4,a5)=(1,0,0,1,1),可求出输出序列为 1001101001000010101110110001111100110…,周期为31。
的优点是即使接收端和发送端不同步,只要接收端能连 续地正确地接受到n个密文符号,就能重新建立同步。因此自 同步流密码具有有限的差错传播 ,且分析较同步流密码的分 析困难得多
11
流密码技术的发展及分类
思考:假设j=n/4,n为分组长度 对于DES,n=64, j=16;对AES,n=128,j=32
CFB模式为( OFB模式为( CTR模式为(
)流密码? )流密码? )流密码?
自同步,同步,同步
12
输出 反馈 OFB 模式
13
j-比特密码反 馈CFB模式
C1 P1 S j E IV
P1 C1 Sj EIV
14
密钥流序列的性质 密码设计者的最大愿望是设计出一个 滚动密钥生成器,使得密钥经其扩展成的 密钥流序列具有如下性质: 极大的周期 良好的统计特性 抗线性分析 抗统计分析。
31
基于移位寄存器的流密码算法 定义 若n次不可约多项式p(x)的阶为2n-1,则称p(x)为n 次本原多项式。 定理 {ai}是周期为2n 1的m-序列的充要条件是其特征 多项式f(x)为n阶本原多项式
32
基于移位寄存器的流密码算法
定义 设 p(x) 是GF(2)
上的多项式,使p(x)|(x p 1)
总假定cn=1 21
LFSR的形式化表示
LFSR可以用一个一元高次多项表示:
f (x) 1 c1x cn1xn1 cn xn (*)
称这个多项式为LFSR的联结多项式(特征多项式)。 则,LFSR可记为:<L,p(x)> (L ≤ n)
bn
bn 1
…
b2
输出序列
b1
c1
c2
cn1
cn
…
22