随机数生成器

PRNG(伪随机数生成器)是一个以复杂、看似不可预测的模式输出数字的算法。真正的随机数(比如来自放射源)是完全不可预测的,而所有的算法都是可预测的,PRNG 在传入相同的起始参数或种子时返回相同的数字。

PRNG 可以用于各种应用,比如游戏。

密码学安全的 PRNG 是具有某些额外属性的 PRNG,使其适用于密码学。这些属性包括:

  • 对于攻击者(不知道种子的情况下)来说,预测其输出在计算上是不可行的
  • 如果攻击者能够计算出其当前状态,这不应使攻击者能够计算出先前发出的数字

大多数 PRNG 都不是密码学安全的。

参见