随机数——不可预测性的源泉

一. 随机数的性质

  1. 随机性——不存在统计学偏差,是完全杂乱的数列
    弱伪随机数
  2. 不可预测性——不能从过去的数列推测出下一个出现的数
    强伪随机数
  3. 不可重现性——除非将数列本身保存下来,否则不能重现相同的数列
    真随机数
    反复掷骰子生成的数列具备不可重现性!

二. 伪随机数生成器PRNG

在这里插入图片描述
1.杂乱的方法
使用复杂算法所生成的数列大多数都会具有很短的周期。
如果程序员不能够理解算法的详细内容,那么就无法判断出所生成的随机数是否具备不可预测性。

2.线性同余法
Rn+1 = (A*Rn+C)modM
将当前的伪随机数值乘以A,再加上C,然后将除以M得到的余数作为下一个伪随机数,最近一次生成的伪随机数的值就是内部状态。
不具备不可预测性,不能用于密码技术。

3.单向散列函数法
在这里插入图片描述
单向散列函数的单向性是支持伪随机数生成器不可预测性的基础

4.密码法
在这里插入图片描述
密码的机密性是支持伪随机数生成器不可预测性的基础

5.ANSI X9.17
在这里插入图片描述

二. 对伪随机数生成器的攻击

1.对种子进行攻击
‘使用具备不可重现性的真随机数作为种子
2.对随机数池进行攻击
在随机数池中积累随即比特序列,需要时再选取。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值