安全随机数生成器(RNG)对于生成密钥、初始化矢量和其他敏感数据至关重要。 随机性的质量直接影响到加密系统的安全。 设计有效的RNG需要了解 ⁇ 源并确保不可预测性。

环境源

环状源提供了安全RNG所需的初始随机性. 常见源包括硬件事件,用户互动,以及环境噪声. 结合多个源可以提高环状源质量,降低可预测性.

设计原则

有效的密码式RNG遵循若干关键原则:

  • 不可预见性:[] 即使部分内态已知,输出也必须是不可预料的.
  • 向前保密: 未来产出不应从过去产出中预测。
  • 坚持声明妥协: 内部状态妥协不应揭示过去的产出.
  • Proper种子:[] 初始种子必须从可靠的来源收集足够的 ⁇ .

执行情况考虑

实施安全RNG需要选择强力算法,如加密安全伪随机数生成器(CSPRNGs),定期对生成器进行再播种和健康测试,有助于长期维持安全。