第4章 对称密钥密码体制
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章 对称密钥密码体制—流密码
1
流密码
• 一段待加密的消息明文被分成连续的符
k k1 , k 2 , k i ,
号 x x1 , x 2 , , xi , ,加密通过密钥流 以 Ek ( x) Ek ( x1 ) Ek ( x2 ) Ek ( xi ) 的方式进行。
12
F2 上n级线性反馈移位寄存器的一般结构
Ci为二元存储器,Ci和aj均为F2上的元素,n为LFSR的级数或者长度 基本工作原理 第j时刻脉冲的到来使LFSR的状态由第j时刻的(aj,aj+1,…,aj+n-1) 转变为第j时刻的(aj+1,aj+2,…,aj+n),同时将aj作为输出序列的一 位输出;用户可以指定LFSR的初始状态(a0,a1,…,an-1),aj+n由如下 反馈函数确定。 a c a , j 0
n jn i 1 i j n 1
若
cn 0
,则该LFSR生成的 序列为周期序列。
13
LFSR的联结多项式
f ( x) 1 c1 x c2 x cn x
2
其中,
n
x 表示未定元。
14
LFSR的特征多项式
1 n n 1 n2 f ( x) x f ( ) x c1 x c2 x cn1 x cn x
若 j0 0 ,则称该序列为周期序列。若 p(a) 为 a 的最小终归 周期,则称满足 a j p ( a ) a j 对所有 j j0 成立的最小 j0 为预周期。 • 我们称F2 上周期为2 n 1的n级LFSR序列a为n级最大LFSR序 列(又称最长LFSR序列),简称m序列 。
18
问题二
• 解决的方法是著名的B-M算法。 • B-M算法是一个多项式时间迭代算法。该算法有效 解决了线性移位寄存器的综合问题(即问题二)。 • B-M算法使序列的线性复杂度成为评价同步流密码 强度的一个重要指标。
19
B-M算法
) • 采用递归方法求出一系列移位寄存器 ( f n ( x), l n(其 中, n 1,2, N ,N为二元序列 a0 , a1 , , a N 1 的长度),而每一个 ( f ( x), l ) 都是生成 a n 的 级数最小的线性反馈移位寄存器。 • 时间和空间复杂度分别为 O( N ) 和 O(N ) 。
5
同步流密码
两种基本工作方式: –输出-分组反馈模式(简称OFM); –计数模式。
6
输出-分组反馈模式工作原理
7
计数模式工作原理
8
自同步流密码
• 自同步流密码中的状态转移函数fs与输入明文有关。 • 在密码反馈模式中,每个密文符号yi在产生后立即被 送入移位寄存器R的一端,R的值被作为每次迭代中 的分组加密算法Eb的输入,输出的最低位符号用于产 生下一个密文符号。 • 于同步流密码相比,密码反馈模式自同步流密码的强 度进行理论分析的难度更大,原因是密文符号参与了 密钥流的产生,致使对密钥流的理论分析复杂化。
n 2 2
• 布尔函数 的退化性问题可以归结为其线性结构问 题。
26
相关免疫性
• 对于一个n元布尔函数 f ( x) : F2n F2 和 F2 上独立并且 均匀分布的随机变量 x1 , x 2 , x n ,如果对任意的 a F 和 (a , a , a ) F (m n) ,等式 p( f a, x a , x a , , x a ) 21 p( f a)
n
其中, f
(x )
为
f (x)
的互反多项式。
15
LFSR的周期
• 对于 F2上的半无限序列 a a0 a1 a j ,若存在正整数T
和非正整数 j 0 满足:对于所有的 j j0, j T a 均成立, 则 a j 称该序列为终归周期序列,称T为该序列的一个周期,称所 有可能周期中的最小值为该序列的最小周期(记为 p (a ) )。
1 2 i
其中, E k ( xi ) 是密钥流中的第i个元素 k i 对消息明文中的第i个元素 x 进行加密所得的
i
i
密文。
2
流密码的时变性
时变性:随时间而变化。 –流密码内部状态随时间变化,通过加密器和解 密器中的记忆元件得以保证; –密钥流中的元素的产生由i时刻的流密码内部 状态(记作 i )和种子密钥(记作k)决定 , k i f (k , ; i) 即 –加密变换 E k 与解密变换 Dk 也和i时刻的 流密码内部状态有关。
2
1 2 m m 2
i1 1 i2 2
im
m
m
都成立,则称函数 f (x)与变元 xi , xi , , x 统计 无关。如果 f (x) 与 x , x , , x 中的任意个变元都 统计无关,则称 f (x) 是m阶相关免疫的。
1 2 im
i1
i2
im
27
相关免疫性
• 相关免疫阶m对其非线性复杂度 Nf 即: 随m呈指数下降。
23
布尔函数的非线性度和相关度
• 对于n元布尔函数 f ( x) : F2n F2 ,记 F2 上所 有线性布尔函数组成的集合为 L n ,则称非负整 数 N f min d H ( f ( x), l ( x)) (其中,l ( x) L )为的非线 性度。
n
• 相关度的具体定义为: f max | C (其中, l ( x) Ln )。
29
扩散准则
• 对于一个n元布尔函数 f ( x) : F2n F2 ,如果对 于 F2n , ( x) f ( x ) 为平衡布尔函数,则称 f 函数 f ( x) : F2n F2 关于 满足扩散准则。
30
16
针对LFSR考虑的主要问题
• 问题一:怎样利用级数尽可能小的LFSR来生成周 期长、统计特性好的序列? • 问题二:如何在已知一个序列的情况下,构造能 够生成该序列的级数尽可能小的LFSR ?
17
问题一
• 定理: 设 F2 上n级LFSR的联结多项式为 , 该LFSR生成的全部序列记为 , 中所有 G( f ) G( f ) f (x) 非零序列全部为n级m序列的充分必要条件是: 为 f (x) 上的n次本原多项式。 F2 • F2 上的m序列具有伪随机特性,具有周期长、 统计特性与随机序列类似等优点。
x F2n | f ( x) l ( x)
|
24
线性结构
• 对于一个n元布尔函数 f ( x) : F F2 和 若对所有的 x F ,f ( x ) f ( x) f ( ) f (0) 都成立,则 称为 f (x) 的一个线性结构。
n 2
n 2
x ,n F2
n 1 n 1 n 1
n
N
21
逻辑函数的密码学特性
• 密钥流生成器的设计通常通过逻辑函数实现 • 逻辑函数的密码学特性包括: –非线性次数、非线性度、线性结构、退化性、 相关免疫性、严格雪崩准则和扩散准则。
22
布尔函数的表示法
四种表示法: – 真值表表示法; – 小项表示法; – 多项式表示法; – Walsh谱表示法。
• 相关免疫阶m与其非线性次数 存在制约关系。
N
f
的影响很大,
k 0 f
相互之间也
28
严格雪崩准则
• 对于一个n元布尔函数 f ( x) : F2n F2 ,如果对任 意的 ei (0, ,0,1,0, ,0) F2n ( e i 中仅有第i个 分量为1,其余分量全部为0),其中 1 i n , f ( x) f ( x ei ) 均为平衡布尔函数,则称函数 f ( x) : F n F 2 2 满足严格雪崩准则 。
i
i
3
流密码分类
• 用状态转移函数 f s 描述流密码加密器中存储 器的状态随时间变化的过程。
Biblioteka Baidu
–同步流密码 :如果某个流密码中的状态转移函 数 f s 不依赖被输入加密器存储器的明文;
–自同步流密码 :状态转移函数 f s 文有关。 与输入明
4
同步流密码
同步流密码中,由于状态转移函数fs与输入明文无关, 加密器可以划分为密钥流发生器和加密变换器。
9
密码反馈模式工作原理
10
密钥流生成器
两部分功能: –驱动部分:负责控制存储器的状态并提供周期 长、统计特性好的序列供非线性组合部分使用; –非线性组合部分:对这些序列进行非线性组合, 以便得到理想的密钥流 。
11
反馈移位寄存器
• 两部分组成 : –移位寄存器:移位寄存器是一个位序列(长度 为n的移位寄存器被称为n位移位寄存器),新 的最左端的位由其余各位计算得到,通过所有 各位右移一位输出的结果通常为最低有效位。 移位寄存器周期为输出序列从开始到出现重复 时的长度。 –反馈函数。 • 最简单的反馈移位寄存器 :线性反馈移位寄存器 (LFSR)。,它是构造密钥流的重要部件之一。
• 布尔函数 的非线性度和线性结构之间存在着制约 关系。
25
退化性
• 对于一个n元布尔函数 f ( x) : F F ,如果在 F2 上存在一个 k n 阶的矩阵 D ,同时存在函 数 g ( y) : F2n F2(其中 y Dx ),且有 f ( x) g (Dx) g ( y) 则称 f (x) 是退化的。
n n
2
20
B-M算法描述
(1)输入:N;二元序列:a a0 , a1 , , a N 1 。 ( f n ( x), l n ) (1,0) (2)初始化: n 0 , 。 (3)计算延迟算子 d n : d n f n ( D ) a n 若 d n 0 ,则 ( f n1 ( x), ln1 ) ( f n ( x), ln ) ,转(4); 若 d n 1且 l0 l1 ln 0, ( f ( x), l ) (1 x , n 1) ,转(4); 若 d 1 且 l m l m1 l m 2 l n m n nm ( fn ( ( f n1 ( x), ln1 ) ),( x) x f m ( x), maxln , n 1 ln 则,转(4)。 (4)若 n N 1 ,则 n n 1 ,转(3)。 ( (5)输出:( f N ( x), l N ) l N 其中, f N ( x), l N ) 为可生成的级数最小的 LFSR,长为 l 。
1
流密码
• 一段待加密的消息明文被分成连续的符
k k1 , k 2 , k i ,
号 x x1 , x 2 , , xi , ,加密通过密钥流 以 Ek ( x) Ek ( x1 ) Ek ( x2 ) Ek ( xi ) 的方式进行。
12
F2 上n级线性反馈移位寄存器的一般结构
Ci为二元存储器,Ci和aj均为F2上的元素,n为LFSR的级数或者长度 基本工作原理 第j时刻脉冲的到来使LFSR的状态由第j时刻的(aj,aj+1,…,aj+n-1) 转变为第j时刻的(aj+1,aj+2,…,aj+n),同时将aj作为输出序列的一 位输出;用户可以指定LFSR的初始状态(a0,a1,…,an-1),aj+n由如下 反馈函数确定。 a c a , j 0
n jn i 1 i j n 1
若
cn 0
,则该LFSR生成的 序列为周期序列。
13
LFSR的联结多项式
f ( x) 1 c1 x c2 x cn x
2
其中,
n
x 表示未定元。
14
LFSR的特征多项式
1 n n 1 n2 f ( x) x f ( ) x c1 x c2 x cn1 x cn x
若 j0 0 ,则称该序列为周期序列。若 p(a) 为 a 的最小终归 周期,则称满足 a j p ( a ) a j 对所有 j j0 成立的最小 j0 为预周期。 • 我们称F2 上周期为2 n 1的n级LFSR序列a为n级最大LFSR序 列(又称最长LFSR序列),简称m序列 。
18
问题二
• 解决的方法是著名的B-M算法。 • B-M算法是一个多项式时间迭代算法。该算法有效 解决了线性移位寄存器的综合问题(即问题二)。 • B-M算法使序列的线性复杂度成为评价同步流密码 强度的一个重要指标。
19
B-M算法
) • 采用递归方法求出一系列移位寄存器 ( f n ( x), l n(其 中, n 1,2, N ,N为二元序列 a0 , a1 , , a N 1 的长度),而每一个 ( f ( x), l ) 都是生成 a n 的 级数最小的线性反馈移位寄存器。 • 时间和空间复杂度分别为 O( N ) 和 O(N ) 。
5
同步流密码
两种基本工作方式: –输出-分组反馈模式(简称OFM); –计数模式。
6
输出-分组反馈模式工作原理
7
计数模式工作原理
8
自同步流密码
• 自同步流密码中的状态转移函数fs与输入明文有关。 • 在密码反馈模式中,每个密文符号yi在产生后立即被 送入移位寄存器R的一端,R的值被作为每次迭代中 的分组加密算法Eb的输入,输出的最低位符号用于产 生下一个密文符号。 • 于同步流密码相比,密码反馈模式自同步流密码的强 度进行理论分析的难度更大,原因是密文符号参与了 密钥流的产生,致使对密钥流的理论分析复杂化。
n 2 2
• 布尔函数 的退化性问题可以归结为其线性结构问 题。
26
相关免疫性
• 对于一个n元布尔函数 f ( x) : F2n F2 和 F2 上独立并且 均匀分布的随机变量 x1 , x 2 , x n ,如果对任意的 a F 和 (a , a , a ) F (m n) ,等式 p( f a, x a , x a , , x a ) 21 p( f a)
n
其中, f
(x )
为
f (x)
的互反多项式。
15
LFSR的周期
• 对于 F2上的半无限序列 a a0 a1 a j ,若存在正整数T
和非正整数 j 0 满足:对于所有的 j j0, j T a 均成立, 则 a j 称该序列为终归周期序列,称T为该序列的一个周期,称所 有可能周期中的最小值为该序列的最小周期(记为 p (a ) )。
1 2 i
其中, E k ( xi ) 是密钥流中的第i个元素 k i 对消息明文中的第i个元素 x 进行加密所得的
i
i
密文。
2
流密码的时变性
时变性:随时间而变化。 –流密码内部状态随时间变化,通过加密器和解 密器中的记忆元件得以保证; –密钥流中的元素的产生由i时刻的流密码内部 状态(记作 i )和种子密钥(记作k)决定 , k i f (k , ; i) 即 –加密变换 E k 与解密变换 Dk 也和i时刻的 流密码内部状态有关。
2
1 2 m m 2
i1 1 i2 2
im
m
m
都成立,则称函数 f (x)与变元 xi , xi , , x 统计 无关。如果 f (x) 与 x , x , , x 中的任意个变元都 统计无关,则称 f (x) 是m阶相关免疫的。
1 2 im
i1
i2
im
27
相关免疫性
• 相关免疫阶m对其非线性复杂度 Nf 即: 随m呈指数下降。
23
布尔函数的非线性度和相关度
• 对于n元布尔函数 f ( x) : F2n F2 ,记 F2 上所 有线性布尔函数组成的集合为 L n ,则称非负整 数 N f min d H ( f ( x), l ( x)) (其中,l ( x) L )为的非线 性度。
n
• 相关度的具体定义为: f max | C (其中, l ( x) Ln )。
29
扩散准则
• 对于一个n元布尔函数 f ( x) : F2n F2 ,如果对 于 F2n , ( x) f ( x ) 为平衡布尔函数,则称 f 函数 f ( x) : F2n F2 关于 满足扩散准则。
30
16
针对LFSR考虑的主要问题
• 问题一:怎样利用级数尽可能小的LFSR来生成周 期长、统计特性好的序列? • 问题二:如何在已知一个序列的情况下,构造能 够生成该序列的级数尽可能小的LFSR ?
17
问题一
• 定理: 设 F2 上n级LFSR的联结多项式为 , 该LFSR生成的全部序列记为 , 中所有 G( f ) G( f ) f (x) 非零序列全部为n级m序列的充分必要条件是: 为 f (x) 上的n次本原多项式。 F2 • F2 上的m序列具有伪随机特性,具有周期长、 统计特性与随机序列类似等优点。
x F2n | f ( x) l ( x)
|
24
线性结构
• 对于一个n元布尔函数 f ( x) : F F2 和 若对所有的 x F ,f ( x ) f ( x) f ( ) f (0) 都成立,则 称为 f (x) 的一个线性结构。
n 2
n 2
x ,n F2
n 1 n 1 n 1
n
N
21
逻辑函数的密码学特性
• 密钥流生成器的设计通常通过逻辑函数实现 • 逻辑函数的密码学特性包括: –非线性次数、非线性度、线性结构、退化性、 相关免疫性、严格雪崩准则和扩散准则。
22
布尔函数的表示法
四种表示法: – 真值表表示法; – 小项表示法; – 多项式表示法; – Walsh谱表示法。
• 相关免疫阶m与其非线性次数 存在制约关系。
N
f
的影响很大,
k 0 f
相互之间也
28
严格雪崩准则
• 对于一个n元布尔函数 f ( x) : F2n F2 ,如果对任 意的 ei (0, ,0,1,0, ,0) F2n ( e i 中仅有第i个 分量为1,其余分量全部为0),其中 1 i n , f ( x) f ( x ei ) 均为平衡布尔函数,则称函数 f ( x) : F n F 2 2 满足严格雪崩准则 。
i
i
3
流密码分类
• 用状态转移函数 f s 描述流密码加密器中存储 器的状态随时间变化的过程。
Biblioteka Baidu
–同步流密码 :如果某个流密码中的状态转移函 数 f s 不依赖被输入加密器存储器的明文;
–自同步流密码 :状态转移函数 f s 文有关。 与输入明
4
同步流密码
同步流密码中,由于状态转移函数fs与输入明文无关, 加密器可以划分为密钥流发生器和加密变换器。
9
密码反馈模式工作原理
10
密钥流生成器
两部分功能: –驱动部分:负责控制存储器的状态并提供周期 长、统计特性好的序列供非线性组合部分使用; –非线性组合部分:对这些序列进行非线性组合, 以便得到理想的密钥流 。
11
反馈移位寄存器
• 两部分组成 : –移位寄存器:移位寄存器是一个位序列(长度 为n的移位寄存器被称为n位移位寄存器),新 的最左端的位由其余各位计算得到,通过所有 各位右移一位输出的结果通常为最低有效位。 移位寄存器周期为输出序列从开始到出现重复 时的长度。 –反馈函数。 • 最简单的反馈移位寄存器 :线性反馈移位寄存器 (LFSR)。,它是构造密钥流的重要部件之一。
• 布尔函数 的非线性度和线性结构之间存在着制约 关系。
25
退化性
• 对于一个n元布尔函数 f ( x) : F F ,如果在 F2 上存在一个 k n 阶的矩阵 D ,同时存在函 数 g ( y) : F2n F2(其中 y Dx ),且有 f ( x) g (Dx) g ( y) 则称 f (x) 是退化的。
n n
2
20
B-M算法描述
(1)输入:N;二元序列:a a0 , a1 , , a N 1 。 ( f n ( x), l n ) (1,0) (2)初始化: n 0 , 。 (3)计算延迟算子 d n : d n f n ( D ) a n 若 d n 0 ,则 ( f n1 ( x), ln1 ) ( f n ( x), ln ) ,转(4); 若 d n 1且 l0 l1 ln 0, ( f ( x), l ) (1 x , n 1) ,转(4); 若 d 1 且 l m l m1 l m 2 l n m n nm ( fn ( ( f n1 ( x), ln1 ) ),( x) x f m ( x), maxln , n 1 ln 则,转(4)。 (4)若 n N 1 ,则 n n 1 ,转(3)。 ( (5)输出:( f N ( x), l N ) l N 其中, f N ( x), l N ) 为可生成的级数最小的 LFSR,长为 l 。