实用密码学
范学雷
前 Oracle 首席软件工程师,Java SE 安全组成员,OpenJDK 评审成员
14948 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 24 讲
开篇词 (1讲)
课前必读 (1讲)
案例分析 (1讲)
实用密码学
15
15
1.0x
00:00/00:00
登录|注册

16 | 为什么说随机数都是骗人的?

你好,我是范学雷。
今天,我们来讲一个之前总提到的知识点:随机数。比如,我们在讲初始化向量时,提到可以使用随机数来避免重复。事实上,随机数还有更广泛的用途。可以这么说,只要使用密码学的技术,我们一定会用到随机数。
说起来也很巧,当我准备随机数这篇文章思路的时候,朋友圈里有一条感慨,说道:
“人能做出两种随机数。一种是欺骗自然的,算的很快,状态域超大,统计上随机;一种是欺骗人的,通常无法预测下一个是多少,通常算的慢”。
其实,欺骗自然的随机数,也是用来骗人的。这么说来,难道所有的随机数都是骗人的?为什么说随机数是骗人的?骗人的随机数还有现实的意义吗?这是这一次我们要讨论的问题。
今天的内容有点多,不过我给你多分了几个小模块,详细地分析了随机数的每个问题,这样会让你更清楚地、一次性地解决随机数的相关知识点。好,我们开始!

真的有随机数吗?

第一个问题就是,随机数真的存在吗?
数这个东西是人类的发明,不是自然界产物。所以,当我们说随机数的时候,一定是人造的东西。随机是自然世界的主旋律,你不可能找到相同的两片叶子,也不可能两次踏进同一条河流。
但是,在科学的世界里,随机从来就不存在,或者说随机都被当做噪音简化过滤掉了。因为科学研究的是确定性、可重复的科学。不确定的、不可重复的随机数,不属于科学的范畴,也走不进科学的领域。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

随机数在密码学和计算机科学中扮演着重要角色,然而实际上并不存在真正的随机数。文章指出,随机数是人造的,不是自然界产物,因此在科学研究中,随机数被简化为噪音并过滤掉。计算机的存在基于确定性,因此在计算机世界中,真正的随机数是不存在的,所谓的随机数实际上是伪随机数。文章还介绍了随机数的特点,包括不可预测和无法证伪。随机数的质量取决于私密数据的质量和计算输出的算法。此外,文章还讨论了阻塞的随机数和非阻塞的随机数发生器的区别,以及随机数产生可能会阻塞和随机数强度匹配的重要性。文章强调了随机数在应用中可能带来的问题,包括系统效率和用户体验的影响。因此,建议尽量避免使用阻塞的随机数发生器。文章总结了随机数的重要性和应用注意事项,为读者提供了对随机数的深入了解。文章还介绍了随机数的算法和安全强度的匹配问题,以及常见的随机数算法,为读者提供了更多的技术知识。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《实用密码学》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • John
    有了量子计算机就可以生成真正的随机数了。

    作者回复: 嗯,量子计算机对密码学既是打击,也是促进。

    2020-12-30
    2
    7
  • sugar
    这篇有点看得云里雾里,那么当我们调用随机数的生成api时,他是靠收集当时的一些环境信息来生成随机数的?

    作者回复: 不一定是当时的,也许是曾经收集过的。

    2021-11-13
    3
  • Bean
    老师好,我在学习数字电路的时候,有遇到过一种利用热噪声产生所谓的“真随机数”的方法,简单来说就是先让电路处于亚稳态状态(介于0和1之间的0.5),此时但凡有任何的波动,就会得到1或者0的数字输出(1个bit的随机数),而这个正/负电荷来自于大自然界客观存在且没有规律可循的热噪声,即分子自由运动的结果。那么,如果不考虑电路本身的漂移,以及可能受到的电源、噪声等物理攻击手段,理论上是否可以认为这是一个真随机数发生器?并且,由于这个电路由固定时钟驱动,理论上是否也不存在阻塞的情况

    作者回复: 这个,我真的不了解。

    2022-03-12
  • ifelse
    若人们不相信数学简单,只因他们未意识到生命之复杂。--记下来
    2022-11-10归属地:浙江
    2
  • ifelse
    学习打卡
    2022-11-10归属地:浙江
  • 生成随机数 指定种子 seed , 如果 seed 一样生成的随机数就是一样的。 这里的 seed 应该 对应文中的 悠有限的随机信息
    2022-08-09归属地:广东
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部