随机数的用途
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
22
第5章 序列密码
初始状态由用户确定 反馈函数f(a1,a2,…,an)是n元布尔函数,即 函数的自变量和因变量只取0和1这两个可能 的值。 函数中的运算有逻辑与、逻辑或、逻辑补等 运算。 2018/11/13
23
例 下图 是一个3级反馈移位寄存器,其初 始状态为(a1,a2,a3)=(1,0,1),输出可由下表 求出。 一个3级反馈移位寄存
2018/11/13 15
第5章 序列密码
随机数产生器-BBS产生器
密码强度最强,基于大整数分解困难性
选择p,q,满足p=q=3 mod 4, n=p×q。 选随机数s,s和n互素 X0=s2 mod n For i=1 to ∞ do {
Xi=Xi-12 mod n;
Bi=Xi mod 2} Bi为产生的随机数序列
2018/11/13
6
第5章 序列密码
随机数源
真随机数源-物理噪声产生器
离子辐射脉冲检测器 气体放电管 漏电容
数的随机性和精度不够 这些设备很难联入网络
2018/11/13
7
第5章 序列密码
伪随机数产生器-线性同余法
参数: 模数m (m>0) 乘数a (0≤a<m) 增量c (0≤c<m) 初值种子X0(0≤X0<m) Xn(0≤Xn<m) a,c,m的取值是 产生高质量随 机数的关键
2018/11/13
2
第5章 序列密码
随机数的要求-不可预测性
对序列中以后的数是不可预测的 对于真随机数,满足独立性,所以不可 预测 伪随机序列需要特别注意满足不可预测 性
2018/11/13
3
第5章 序列密码
序列随机性衡量参数
1.周期
对于序列{xn},满足对任意i∈Z+,xi=xi+p的最小正整数 p 2.游程 对于序列{xn},若有xt-1≠xt=xt+1…=xt+l-1≠xt+l,则 (xt,xt+1…,xt+l-1)是一个长为l的游程
f (a1 , a2 ,, an ) cna1 cn1a2 c1an
GF(2)上的n级线性反馈移位寄存器
2018/11/13 25
第5章 序列密码 f (a1 , a2 ,, an ) cna1 cn1a2 c1an
输出序列{at}满足:
a n1 cn a1 cn1a 2 c1a n a n 2 cn a 2 cn1a 3 c1a n1
X n1 (aXn c) mod m
一般c=0,模数m 确定,此时a的取值非常重要, a一般取为模m的本原元素
2018/11/13 8
第5章 序列密码
伪随机数产生器-线性同余法
a=7,c=0,m=32,X0=1 周期为4 {7,17,23,1,7,…} 周期为8 a=3,c=0,m=32,X0=1 {3,9,27,17,19,25,11,1,3,…} 选m尽可能大,使其接近或等于计算机 能表示的最大整数
2018/11/13 11
第5章 序列密码
基于密码算法的随机数产生器
循环加密
C
周期为N的计数器
C+1
主密钥Km
加密算法
X i EKm [C 1]
2018/11/13
周期为N,序列不可预测
12
第5章 序列密码
基于密码算法的随机数产生器
DES的输出反馈方式(OFB)模式
采用OFB模式能用来产生密钥并用于流加密。加密算 法的输出构成伪随机序列
2018/11/13 16
第5章 序列密码
2018/11/13
17
第5章 序列密码
5.3 流密码(序列密码)的基本概念
明文:
密钥: 密文:
x x0 x1 x2 z z0 z1 z2 y y0 y1 y2 yi x i z i x i yi z i xi GF (2) zi GF(2) yi GF (2)
可求出输出序列为 1001101001000010101110110001111100110… 周期为31。
2018/11/13 27
第5章 序列密码
总是假定c1,c2,…,cn中至少0,否则 f(a1,a2,…,an)≡0。 总是假定cn=1。
LFSR输出序列的性质:完全由其反馈函数决定。 n级LFSR状态数:最多有2n个。 n级LFSR的状态周期: 2n-1。 输出序列的周期=状态周期, 2n-1。
2018/11/13
4
第5章 序列密码
序列随机性衡量参数
3.周期自相关函数
设序列{xn}的周期为p,定义
R( j ) A D , j 1,2, p
其中A {0 i p; xi xi j } , d {0 i p; xi xi j }
若p|j,则R(j)为同相自相关函数,此时A=p,D=0,R(j)=1 若p∕j,则R(j)为异相自相关函数
第5章 序列密码
5.1 序列的随机性
随机数的用途
相互认证 对称密码算法中会话密钥的产生 公钥密码算法中的密钥产生(RSA)
2018/11/13
1
第5章 序列密码
随机数的要求-随机性
均匀分布(周期大)
序列中每个数出现的频率相等或近似相等
独立性
序列中任一数不能由其他数推出
经常使用的是伪随机序列
2018/11/13
20
第5章 序列密码
存储器
存储器
存储器
存储器
GF(2)上的n级反馈移位寄存器
2018/11/13
21
第5章 序列密码
在任一时刻,这些级的内容构成该反馈移位 寄存器的状态,每一状态对应于GF(2)上的一 个n维向量,共有2n种可能的状态。 每一时刻的状态可用n维向量 (a1,a2,…,an) 2018/11/13 表示,其中a 是第i级存储器的内容。
加密变换 : 解密变换 :
2018/11/13
18
第5章 序列密码
加法流密码体制模型
2018/1wk.baidu.com/13 19
第5章 序列密码
线性反馈移位寄存器
移位寄存器是流密码产生密钥流的一个主 要组成部分。 GF(2)上一个n级反馈移位寄存器由n个二 元存储器与一个反馈函数f(a1,a2,…,an)组 成。
10
2018/11/13
第5章 序列密码
伪随机数产生器-线性同余法
假定敌手知道X0,X1,X2,X3,可以确定参数
X 1 aX 0 c mod m X 2 aX1 c mod m X aX c mod m 2 3
算法运算速度快,序列周期长,但安全性能不佳 的弱点始终制约着该算法在密码学领域的应用.
an t cnat cn1at 1 c1an t 1 , t 1,2,
线性反馈移位寄存器:实现简单、速度快、有较为成熟的理论, 成为构造密钥流生成器的最重要的部件之一。
2018/11/13 26
第5章 序列密码
例 下图是一个5级线性反馈移位寄存器,其 初始状态为(a1,a2,a3,a4,a5)=(1,0,0,1,1)
K1K2 EDE + EDE
DTi
Vi+1
Vi
+
EDE
随时更新
EDEK1K2=EK1DK2EK1
Ri R EDE DTi:当前的日期和时间 i K1 , K 2 [Vi EDEK1 , K 2 [ DTi ]] Vi:是产生第i个随机数时的种子 V EDE i 1 K1 , K 2 [ Ri EDEK1 , K 2 [ DTi ]]
2018/11/13 5
第5章 序列密码
Golomb随机性假设
(1)若序列的周期为偶数,则在一个周期内,0、1的 个数相等,若周期为奇数,则在一个周期内,0、1 的个数相差1。 (2)在一个周期内,长度为l的游程数占游程总数的 1/2l,且对于任意长度,0游程与1游程个数相等。 (3)所有异相自相关函数值相等。
选择合适的反馈函数可使序列的周期达到最大值 2n-1,周期达到最大值的序列称为m序列。
2018/11/13 28
2018/11/13
9
第5章 序列密码
伪随机数产生器-线性同余法
迭代函数应是整周期的,在重复之前应出现0 到m间的所有数 产生的数列看上去应是随机的 迭代函数能有效的利用32位运算实现 如果m为素数,且a为m的本原根,产生的数 列是整周期的。 a=16807(本原根),m=231-1,c=0产生数列是 整周期的 Xn+1=(16807Xn)mod (231-1)已被广泛应用
2018/11/13
13
DES的输出反馈方式(CBC)模式
C2 EK ( P2 C1 ) P2 C1 DK (C2 )
(2)P1中有一比特错误, 将在所有密文中传播. 接收者解密时,仅影响相 应分组,后续分组可正常 解密
第5章 序列密码
基于密码算法的随机数产生器
ANSIX9.17伪随机数产生器(PGP中IDEA)
器的状态和输出
第5章 序列密码
状态( a3,a2,a1) 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 0
输出 1 0 1 1 1 0
24
图 一个3级反馈移位寄存器
即输出序列为101110111011… ,周期为4。
2018/11/13
第5章 序列密码 线性反馈移位寄存器LFSR(linear feedback shift register)