Table of Contents
安全随机数生成器(RNG)对于生成密钥、初始化矢量和其他敏感数据至关重要。 随机性的质量直接影响到加密系统的安全。 设计有效的RNG需要了解 ⁇ 源并确保不可预测性。
环境源
环状源提供了安全RNG所需的初始随机性. 常见源包括硬件事件,用户互动,以及环境噪声. 结合多个源可以提高环状源质量,降低可预测性.
设计原则
有效的密码式RNG遵循若干关键原则:
- 不可预见性:[] 即使部分内态已知,输出也必须是不可预料的.
- 向前保密: 未来产出不应从过去产出中预测。
- 坚持声明妥协: 内部状态妥协不应揭示过去的产出.
- Proper种子:[] 初始种子必须从可靠的来源收集足够的 ⁇ .
执行情况考虑
实施安全RNG需要选择强力算法,如加密安全伪随机数生成器(CSPRNGs),定期对生成器进行再播种和健康测试,有助于长期维持安全。