很多计算机安全依赖于加密:SSL 连接、TCP 数据包排序、加密文件等。这些依赖于随机数生成以确保攻击者无法猜到加密密钥。
弱随机数生成会产生安全漏洞,例如最近的 SSL 证书漏洞。但是,您无法从确定性计算机程序中获得真正的随机输出。你至少需要用来自物理世界的真正随机的东西来播种它。
伪随机数发生器足以满足大多数用途;它们输出的数字模式很难预测,除非你知道起点。然而,这个起点应该是一个真正随机的种子,并且应该定期更新。
我看到确实存在硬件随机数生成器。我的问题是:作为一个普通的计算机用户,我如何使用一个?还是我可能已经在使用一个?
我想知道,当我启动 SSL 连接时,它是基于可靠的随机性。
(当然,这双重适用于我使用的 Web 服务器。)