现代密码学第6章 序列密码与移位寄存器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线性递推式:at=at-4+at-3+at-1 逻辑框图为:
x4
c1
x3
c2
x2
c3
x1
c4
23/97
x1
c1
x2
c2
x3
c3
x4
c4
韩山师范学院计算机学院
f(x)=x4+x3+x+1=(x+1)2(x2+x+1)
x1
x2
x3
x4
初始序列:0001 0110 0010 0101 1111 0000
16/97
韩山师范学院计算机学院
6.3
移位寄存器序列的表示(三种方法):
线性递推式(一元多项式): a n+t= - c 1a t+n-1- c 2a t+n-2- … - c na t 联结多项式: f ( x ) = 1 + c 1x + c 2x 2+ … + c nx n 状态转移矩阵: 满足:s t + 1 = s t T f 称s t = ( a t , a t + 1 , a t + 2 , … , a t + n - 1 ) 为n维状态
17/97
韩山师范学院计算机学院
实例(写出相应的线性递推式,画出移存器的逻辑框图) 4 3 2 多项式 f ( x) x x x 1 f(x)=1+c 1 x+c 2 x 2 + … +c n x n
线性递推式: a n = a n - 4 + a n - 3 + a n - 2 当 n = 4 时 , 则 : a 4= a 0 + a 1 + a 2
韩山师范学院计算机学院
一个r级线性移存器的反馈多项式表示为:
f(x ) cr x cr 1x
r
r 1
c1x 1
cn1xn1 cn xn
g ( x) 1 c1x c2 x2
x4
x3
x2
x1 式子中1等于x0
f ( x) 1 x1 x2 x3
7/97
P135
韩山师范学院计算机学院
x3
第0时刻 第1时刻 第2时刻 第3时刻 第4时刻 第5时刻 第6时刻 第7时刻 0 1 1 1 0 1 0 0
x2
0 0 1 1 1 0 1 0
x1
1 0 0 1 1 1 0 1
产生序列为:10011101……。
8/97
韩山师范学院计算机学院
a0a1a2a3a4 a5a6= 0011101
an an2 an3 an4 (n 4)
11/97
cr为1或者0的序列。
韩山师范学院计算机学院
6.3.1
线性移位寄存器的一元多项式表示
1. 定义 反馈函数:
f ( xn , xn1, , x2 , x1 ) c1xn c2 xn1 cn1x2 cn x1
图2、非线性反馈移位寄存器
6/97wenku.baidu.com
韩山师范学院计算机学院
(二)、工作原理
(a j 1, a j 2 ,, a j r ) 假设在j时刻其内部状态为:
在j+1时刻其内部状态变为:(a j , a j 1,, a j r 1 )
其中: a j f (a j 1, a j 2 ,, a j r ) 此时的输出为j时刻的最高级:a j r
点此查看定义6.1
反馈移位寄存器的工作原理: 当一个时钟脉冲来临时, 第i 级寄存器的内容传送给第i-1 级寄存器, i = 2, 3, ···, n.第1 级寄存器的内容为反馈 移位寄存器的输出. 反馈函数 f的值传送给第n 级寄存器.
4/97
t ≥0 时状态 t +1 时状态
反馈移位寄存器序列 反馈移位寄存器的状态序列,
ant c1ant 1 c2ant 2 cn1at 1 cn at 0
ai c1Dai c2 D ai
2
cn1D ai cn D ai 0
n
n1
ai (1 c1D c2 D
2
g ( D) 5. 定义 :
cn1D
2
n1
韩山师范学院计算机学院
6. 6 线性移位寄存器序列 极小多项式
26/97
韩山师范学院计算机学院
定理6.5设a∞ 是GF(q) 上的一个周期序列, 则一定存在唯一的一元多项式m(x), 使得
a∞ ∈ G(m),并且对任意满足
的
一元多项式f(x),都有m(x)|f(x).这里m(x) 和 f(x) 都是GF(q) 上的常数项为1 的一元多项 式
ai 1 D ai
cn1a1 cn a0 0
ai 2 D ai 1 D D ai D2 ai ai 3 D ai 2 D D ai 1 D D D ai D3 ai
14/97
a0 ai i Di ai
……………
韩山师范学院计算机学院
定理6.3 设f(x) 是GF(q) 上的一个常数项为1 的一元n 次多 项式, 则由f(x) 所确定的线性移位寄存器的序列空间G(f) 是GF(q) 上的一个n 维线性空间.
定理6.4 设f(x) 和h(x) 是GF(q) 上的两个常数项为1 的一元 多项式. 如果f(x)|h(x), 即f(x) 整除h(x), 则由f(x) 所确定的 线性移位寄存器的序列空间G(f) 是由h(x) 所确定的线性移 位寄存器的序列空间G(h) 的子空间, 即G(f) ⊆ G(h). 定义:若存在 f(x),g(x),使得
a3 x1 c 1 a2 x2 c 2 a1 x3 c 3 a0 c4
x4
18/97
a3 x4 c 1
a2 x3 c 2
a1 x2 c 3
a0 x1 c 4
韩山师范学院计算机学院
非退化的移位寄存器
若反馈函数形如: f ( x1, x2 , , xn ) c1xn c xn1 cn x1 ,其中 ci GF (q),1 i n ,则称其为线性反馈寄存 器;否则称其为非线性反馈移为寄存器。
12/97
P137
韩山师范学院计算机学院
2. 定义 输出序列:
a (a0a1a2 ) ( x1x2 x3 )
3. 满足 递推关系:
xn1 c1xn c2 xn1
cn1x2 cn x1
xn1 an c1an1 c2an2 cn1a1 cn a0 an1 c1an c2an1 cn1a2 cn a1 ant c1ant 1 c2ant 2 cn1at 1 cnat ant c1ant 1 c2ant 2 cn1at 1 cn at 0
韩山师范学院计算机学院
例子:f(x)=x4+x3+x2+x+1的周期为p(f) = r =5 (x4+x3+x2+x+1)(1-x)=1-x5
韩山师范学院计算机学院
一、线性反馈移存器简介 (一)基本概念
定义:反馈移存器的反馈逻辑电路可用一布 尔函数来表示,若对应的布尔函数是线性函数, 则称该反馈移存器为线性反馈移存器,否则称为 非线性反馈移存器。
5/97
P136 定义6.1
韩山师范学院计算机学院
1
2
3
4
图1、线性反馈移位寄存器
1
2
3
图中存在与门器件, 所以是非线性。
2/97
韩山师范学院计算机学院
6. 1 序列密码的基本原理
设明文、密钥、密文都是一个(0, 1)序列,他们分别为
则加密变换为 解密变换为
点击查看序列密码体制的模型
3/97
韩山师范学院计算机学院
6. 2 移位寄存器与移位寄存器序列
一个q 元域GF(q) 上的n 阶反馈移位寄存器由n 个寄存器 和一个反馈函数构成, 如图所示.
2
其中 cn 0 ,若 cn 0 是退化的,否则是非退化的。
我们说该寄存器
19/97
韩山师范学院计算机学院
6. 4 线性移位寄存器序列的周期性
定义6.2 设 是GF(q) 上 的一个无穷序列, 如果存在正整数p, 使 得对任意i ≥ 0, 都有 则称 为周期序列. 满足该式的最小正 整数称为该序列的周期, 通常记为 定理6.1 设 是GF(q) 上的一个无穷序列, p是一个正整数, 如 果对任意i ≥ 0, 都有 成立 则 的周期一定整除p, 即
27/97
韩山师范学院计算机学院
6. 6 线性移位寄存器序列极小多项式
定义6.4设 令 是GF(q) 上的一个周期序列,
I 中次数最低的多项式称为 的极小多项式 定义6.5设 ,并且常数项不为 0, 满足 的最小正 整数r 称为一元多项式f(x) 的周期, 记为 p(f(x)).
28/97
例子:f(x)=x4+x3+x2+x+1的周期为p(f) = r =5 (x4+x3+x2+x+1)(1-x)=1-x5
6.1
序列密码的基本原理
由少量的随机密钥,通过移位 寄存器以及非线性变换等多层编码环节 ,产生变化量大、复杂度高、随机性好 的伪随机乱数,利用简单的密码法把它 与明文数据串进行结合,从而实现对明 文数据的加密。
高杏欣 : http://baike.baidu.com/link?url=cbStJk2vMO5eefDWdaHqG8TzROz 9F60U18_vdlYX3iNcXlykWTDxZ8PRdFoy6ez6YeTMVVG8FxUswEjajOlLK
h(x)=f(x)g(x),则称
h(x) 是可约多项式;否则,称其为不可约多项式。
22/97
韩山师范学院计算机学院
定理6.4:若f(x)|h(x),则G(f)
例1:联结多项式为
G(h). P141 定理6.4
h(x)=x4+x3+x+1=(x+1)2(x2+x+1)
f(x)=x+1
或
f(x)=x2+x+1
20/97
韩山师范学院计算机学院
6. 4 线性移位寄存器序列的周期性
定理6.2一个GF(q) 上的n 阶线性移位寄存 器序列 一定是周期序列, 并且 定义6.3设 是一个GF(q) 上的n 阶线 性移位寄存器序列. 如果 则称 为GF(q) 上的n 阶m序列.
21/97
韩山师范学院计算机学院
6. 5 线性移位寄存器的序列空间
13/97
P137
韩山师范学院计算机学院
4. 定义 延迟算子D:
P137 最后一行
D ai ai 1 ant c1ant 1 c2ant 2 cn1at 1 cn at 0
令t 0, an c1an1 c2an2 cn1a1 cn a0 0 令i n, ai c1ai 1 c2ai 2
a2 x1 c 1
x2
a1 c2
a0 x3 c 3
第0时刻 第1时刻 第2时刻 第3时刻 第4时刻 第5时刻 第6时刻 第7时刻 第8时刻
9/97
1 1 1 0 1 0 0 1 1
0 1 1 1 0 1 0 0 1
0 0 1 1 1 0 1 0 0
韩山师范学院计算机学院
6. 3 线性移位寄存器的表示
24/97
韩山师范学院计算机学院
f(x)=x4+x3+x+1=(x+1)2(x2+x+1)
x1
x2
x3
x4
输出序列:000111//000111//…… 011//011//…… 001//001//…… 01//01//…… 111111….. 000000……
25/97
周期为6 周期为3 周期为3 周期为2 周期为1 周期为1
韩山师范学院计算机学院
第6章 序列密码与 移位寄存器
主要内容
序列密码的基本原理 移位寄存器与移位寄存器序列
线性移位寄存器的表示 线性移位寄存器序列的周期性 线性移位寄存器的序列空间 线性移位寄存器序列的极小多项式 m 序列的伪随机性
B-M 算法与序列的线性复杂度
线性移位寄存器的非线性组合
1/97
韩山师范学院计算机学院
线性移位寄存器的 一元多项式表示
线性移位寄存器的 矩阵表示
点击各项查看详细的表示方法
10/97
韩山师范学院计算机学院
6.3
线性移位寄存器的表示
(补充内容)
cr anr (n r )
0、线性递推式表示
an c1an1 c2an2
一个r级线性移存器的线性递推式表示为:
an an-1 an-2 an-3 an-4
cn D ) 0
n n1
g ( D) 1 c1D c2 D g ( x) 1 c1x c2 x
2
15/97
cn1D cn1x
cn D cn x
n
g ( D)ai 0 ,用未定元 x 取代D, 得到一元多项式: 6. 则 :
n1
n
P138第二行公式: g(x)