4、第四讲 序列密码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

38
序列密码的评价标准
周期 统计特性 线性复杂度(局部线性复杂度) 混淆与扩散 非线性特性
39
序列密码的评价标准
周期 统计特性 线性复杂度(局部线性复杂度) 混淆与扩散 非线性特性
40
序列密码的评价标准
• m序列具有良好的随机性:
游程:称序列中连续的i 游程:称序列中连续的i个1为长度等于i的 为长度等于i 游程,同样,称序列中连续的i 1游程,同样,称序列中连续的i个0为长 度等于i 游程。 度等于i的0游程。 ①在一个周期内,0和1出现的次数接近相 等,即0出现的次数为2 n - 1 -1,1出现的 次数为2 n-1 ;
Deterministic
1903-1957
Period (周期) depends on the seed and is hard to determine
1
1000 1100 1110
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 32
1
1
1
1
1010 1101 0110 0011 1001 0100 0010 0001
0
1000 1100 1110 1111
42
序列密码的评价标准
④自相关函数 定义:设{ki}是周期为p的序列,k0, k1,…, kp-1 定义 是其中一个周期子段,则 k0+j, k1+j ,…, kp-1+j 也是一个周期子段。记这两个子段中相同 的位数为A,不相同的位数为D,则自相关 函数定义为: R(j)=(A-D)/p
自相关函数反映一个周期内平均每位的相同程度。 自相关函数反映一个周期内平均每位的相同程度。
Xn = (aXn-1+b) mod m Xn为序列中第n个数,Xn-1为序列中第n-1个数 变量a,b和m为常数 X0为密钥或种子 最大周期:m-1
不能用于密码学
10
线性反馈移位寄存器LFSR
移位寄存器:一个二进制位序列。需要1位 时,所有位都向右移动一位,空出的最左 边一位由寄存器中其他位的一个函数来计 算。
A=7 D=8 R(j) = -1/15
Golomb随机性假设
R1:在S的周期SN中,1的个数与0的个数至多相 差1。 R2:在S的周期SN中,至少有1/2的游程长度为1, 至少有1/4的游程长度为2,至少有1/8的游程长度 为3,以此类推,并且0和1游程的个数近似相等。 R3:自相关函数R(t)是双值的。即对某个整数K, 有
移位寄存器的输出为1位,通常是最低位。 周期为输出序列开始重复之前的长度。
反馈移位寄存器:由一个移位寄存器和一 个反馈函数组成。
11
LFSR
移位寄存器
12
LFSR
反馈移位寄存器
13
LFSR
线性反馈移位寄存器(LFSR)
14
LFSR
线性反馈移位寄存器
15
LFSR
举例
4位,b1和b4参与反馈
b4 b3 b2 b1
计算机信息安全技术
第四讲 序列密码
wzy@
武汉大学 计算机学院
第四讲 序列密码
LFSR LFSR与序列密码 序列密码实例 序列密码与其他密码 真随机源 序列随机性评测
2
密码的分类
按密码的历史发展阶段和应用技术分: 手工密码、机械密码、电子机内乱密码 和计算机密码 按密码转换的操作类型分:替代密码和 移位密码
0
1
1
0
1010 1101 0110
0
23
LFSR
举例
1111 0111 1011 0101 → → → → → → → → 1 1 1 1 0 1 0 1
0
0
1
1
1010 1101 0110 0011
1
24
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → 1 1 1 1 0 1 0 1 1
LFSR
举例
1111 0111 1011 0101 1010 1101 0110 → → → → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 33
周期为15
0011 1001 0100 0010 0001 1000 1100 1110 1111
43
序列密码的评价标准
线性移位寄存器(Linear Sift Registor) 线性移位寄存器 ④自相关函数 1 ,j=0 R(j)= -1/p ,0< j≤ p-1
m序列的自相关函数达到最佳值。 序列的自相关函数达到最佳值。 例: 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1110101100流 发生器
明/密文 输入
异或
密/明文 输出
序列密码
8
序列密码
明文、密文、密钥以位(字符)为单位加 解密; 人们用序列密码模仿“ 一次一密” 密码; 加密运算最简单,而且是对合运算; 安全取决于密钥序列产生算法; 理论和技术都十分成熟; 核心密码的主流密码。
9
线性同余产生器
线性同余产生器:伪随机序列产生器
3
按保密程度划分,有理论上保密的密码、 实际上保密的密码和不保密的密码 按明文加密时的处理方法分:分组密码 和序列密码 按密钥的类型分:对称密钥密码和非对 称密钥密码
4
Vernam密码与一次一密密码
Vernam密码:
加密:ci=mi+ki mod 2 解密:mi=ci+ki mod 2 例:11000⊕10010 =01010
LFSR的周期
上例周期为15 不同的LFSR周期不一定相同
举例:反馈函数仅引入b1,则周期最大为4
阶为n的LFSR的最大周期为2n-1 周期主要与反馈函数有关
34
LFSR的周期
已经证明:当反馈函数是本原多项式时, 周期达到最大为2n-1 本原多项式定义
若阶为n的多项式P(x)能够整除xt-1,其中t = 2n-1,且对于任何t1 < 2n-1,P(x)不能整除xt1-1, 则称P(x)为本原多项式
41
序列密码的评价标准
②将序列的一个周期首尾相接,其游程总 数N=2 n-1 。 ③其中1游程和0游程的数目各占一半。当 n>2时,游程分布如下(1≤i≤n-2):
• • • •
长为i的1游程有N/2 i+1个; 长为i的0游程有N/2 i+1个; 长为n-1的0游程有1个; 长为n的1游程有1个.
Key generation
Computer simulation 模拟 Software testing 软件测试
Generating testing data
Randomized algorithms 随机化算法
Avoiding worst cases
早期随机数产生方法
Reading a large file of random numbers 阅读随机数档案
1
0
0
1
1010 1101 0110 0011 1001
0
25
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0
0
1
0
0
1010 1101 0110 0011 1001 0100
0
26
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0
1
1
0
0
1010 1101 0110 0011 1001 0100 0010 0001
1
1000 1100
30
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 31
1
1
1
0
1010 1101 0110 0011 1001 0100 0010 0001
16
LFSR
举例
1111 → 1
1
1
1
1
0
17
LFSR
举例
1111 0111 → → 1 1
0
1
1
1
1
18
LFSR
举例
1111 0111 1011 → → → 1 1 1
1
0
1
1
0
19
LFSR
举例
1111 0111 1011 0101 → → → → 1 1 1 1
0
1
0
1
1
20
LFSR
举例
1111 0111 1011 0101 → → → → → 1 1 1 1 0
1
0
1
0
1010
1
21
LFSR
举例
1111 0111 1011 0101 → → → → → → 1 1 1 1 0 1
1
1
0
1
1010 1101
0
22
LFSR
举例
1111 0111 1011 0101 → → → → → → → 1 1 1 1 0 1 0
0
0
1
0
1010 1101 0110 0011 1001 0100 0010
0
27
LFSR
举例
1111 0111 1011 0101 1010 → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1
0
0
0
1
1101 0110 0011 1001 0100 0010 0001
一次一密:密钥为一个随机且不重复的字 符序列。
5
序列密码
序列密码加密过程是:把报文、语音、 图像等原始信息转换为明文数据序列, 再将其与密钥序列进行“异或”运算, 生成密文序列发送给接收者。接收者 用相同的密钥序列与密文序列再进行 逐位解密(异或),恢复明文序列。
6
序列密码加/解密的密钥,是采用一个 比特流发生器随机产生二进制比特流 而得到的。它与明文结合产生密文, 与密文结合产生明文。 序列密码的安全性主要依赖于随机密 钥序列。
当反馈函数是本原多项式时周期达到最大为2本原多项式定义若阶为n的多项式px能够整除x1px不能整除xt11则称px为本原多项式本原多项式一定是不可约多项式lfsr的周期通过本原多项式设计反馈函数去掉本原多项式中的最高次数项系数1以剩余各项的次数作为编号将移位寄存器中相应编号在本原多项式中系数为1的寄存器的内容取出进行异或获得反馈值最终输入到反馈移位寄存器中移位寄存器中的寄存器从右向左编号最靠近输出端的寄存器编号1对应本原多项式的0次举例
1
28
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1 0
1
0
0
0
1010 1101 0110 0011 1001 0100 0010 0001
1
1000
29
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1 0 0
阅读时钟
Unpredictable 不可预测的
早期随机数产生方法
Mid-square method, 1940s
Suggested by John von Neumann in the development of the first atomic bomb 应用在原子弹的开发 Xn+1 = middle_digits(Xn × obsolete! Xn ) X = 45086273 X × X = 2032772013030529 new X = 77201303
N ⋅ R (t ) = ∑ (2 si − 1)(2 si +t
i =0
N −1
N,t = 0 − 1) = K ,1 ≤ t ≤ N − 1
随机数及其应用
Entertainment 娱乐
Gambling 赌博 Lottery, lucky draw 抽奖 Games 游戏
Cryptography 密码学
本原多项式一定是不可约多项式
35
LFSR的周期
通过本原多项式设计反馈函数
去掉本原多项式中的最高次数项系数1 以剩余各项的次数作为编号,将移位寄存器中 相应编号在本原多项式中系数为1的寄存器的 内容取出进行异或,获得反馈值,最终输入到 反馈移位寄存器中 移位寄存器中的寄存器从右向左编号,最靠近 输出端的寄存器编号1,对应本原多项式的0次 项
Deterministic 预决的 A 10 billion bit file is available at
Diehard Battery of Tests of Randomness v0.2 beta http://www.csis.hku.hk/~diehard/
Reading of the last few bits of a fast ticking clock
36
LFSR的周期
举例:
使用阶为32的本原多项式
x32 + x7 + x5 + x3 + x2 + x + 1
构造LFSR,使之周期为232-1。
反馈函数稀疏有利于硬件实现,但不一定 安全
37
思考题
①设g(x)=x4 +x3 +1, g(x)为本原多项式,以其为 连接多项式组成线性移位寄存器。画出逻辑图, 写出输出序列及状态变迁。 ②令n =3,f(s0,s1,s2)= s0⊕s2⊕1⊕s1 s2,以其为 连接多项式组成非线性移位寄存器。画出逻辑图, 求出非线性移位寄存器的状态变迁及输出。
相关文档
最新文档