随机数生成器
PRNG(伪随机数生成器)是一种算法,它以复杂且看似不可预测的模式输出数字。真正的随机数(例如,来自放射源)是完全不可预测的,而所有算法都是可预测的,并且当给定相同的起始参数或种子时,PRNG 会返回相同的数字。
PRNG 可用于多种应用,例如游戏。
加密安全 PRNG 是一种具有某些额外属性的 PRNG,使其适用于密码学。这些属性包括:
- 攻击者(在不知道种子的情况下)在计算上无法预测其输出
- 如果攻击者能够推断出其当前状态,这不应使攻击者能够推断出之前发出的数字。
大多数 PRNG 并非加密安全。
另见
- 伪随机数生成器(维基百科)
Math.random(),一个内置的 JavaScript PRNG 函数。请注意,这不是一个加密安全的 PRNG。Crypto.getRandomValues():这个函数旨在提供加密安全的数字。