第六章密钥分配与密钥管理,第四节,随机数的产生
- 格式:doc
- 大小:371.50 KB
- 文档页数:6
2013-1-714
随机数的产生
Generation of Random Numbers
2013-1-715
随机数的用途
相互认证
会话密钥的产生
公钥密码算法中的密钥产生
2013-1-716
随机数的要求-随机性
均匀分布
数列中每个数出现的频率相等或近似相等
独立性
数列中任一数不能由其他数推出
经常使用的是伪随机数列
2013-1-717
随机数的要求-不可预测性
对数列中以后的数是不可预测的
对于真随机数,满足独立性,所以不可
预测
伪随机数列需要特别注意满足不可预测
性
2013-1-718
随机数源
真随机数源-物理噪声产生器
离子辐射脉冲检测器
气体放电管
漏电容
数的随机性和精度不够
这些设备很难联入网络
2013-1-719
伪随机数产生器-线性同余法
参数:
模数m (m>0)
乘数a (0≤a
mcaXXnnmod)(1
a,c,m的取值是
产生高质量随
机数的关键
目前中的最广泛的
2013-1-720
伪随机数产生器-线性同余法
a=7,c=0,m=32,X
0
=1
{7,17,23,1,7,…}
a=3,c=0,m=32,X
0
=1
{3,9,27,17,19,25,11,1,3,…}
选m尽可能大,使其接近或等于计算机
能表示的最大整数
周期为4
周期为8
2013-1-721
伪随机数产生器-线性同余法
迭代函数应是整周期的,在重复之前应
出现0到m间的所有数
产生的数列看上去应是随机的
迭代函数能有效的利用32为运算实现
如果m为素数,且a为m的本原根,产生
的数列是整周期的。
a=16807,m=2
31
-1,c=0
a=16807 m=2^31 -1 c=0 常用于模拟
2013-1-722
伪随机数产生器-线性同余法
假定敌手知道X
0,X1,X2,X3
,可以确定参数
mcaXXmcaXXmcaXXmod
mod
mod
23
12
01
密码场合用的比较少。
2013-1-74
基于密码算法的随机数产生器
循环加密
C
C+1
加密算法
主密钥K
m
]1[CEX
m
Ki
周期为N的计数器
2013-1-75
基于密码算法的随机数产生器
DES的输出反馈方式(OFB)模式
采用OFB模式能用来产生密钥并用
于流加密。加密算法的输出构成伪
随机序列
2013-1-76
基于密码算法的随机数产生器
ANSIX9.17伪随机数产生器
EDE
EDE
EDE
+
+
K1K
2
V
i+1
V
i
R
i
DT
i
]][[]][[1iKiKiiKiKiDTAESRAESVDTAESVAESR
密码强度最高的伪随机数的产生器,并且速度还比较快。用于PGP等,用途很广
2013-1-77
BBS产生器(blum-blum-
shub)
密码强度最强,基于大整数分解困难性
选择p,q,满足p=q=3 mod 4, n=p×q。选
随机数s,s和n互素
X0=s2mod n
For i=1 to ∞do {
Xi=Xi-12mod n;
Bi=Ximod 2}
Bi为产生的随机数序列
相对前几个这个的密码强度最强。但速度相对比较慢