True Random Number Generator 从物理源获取随机性,而不只是扩展已存储的状态。噪声源、采样、调理处理和应用接口是不同部分。硬件来源本身不保证输出比特均匀或独立。
NIST SP 800-90B 评估由噪声源、可选调理处理和健康测试组成的熵源。评估对象是样本中有证据支持的不确定性,而不只是产生的字节数。仅说出物理现象的名称并不能给出这样的估计。 [NIST SP 800-90B — Entropy sources, conditioning and health tests]
调理处理可减少偏差,并将可用熵集中到较短输出中。NIST SP 800-90B 根据输入和机制限制所声明的输出熵。看起来随机的散列值本身不能证明原始样本不可预测。 [NIST SP 800-90B — Entropy sources, conditioning and health tests]
NIST SP 800-90B 的 Repetition Count Test 和 Adaptive Proportion Test 监测重复及异常样本频率。它们不是安全性的通用证明。检测到持续故障后,源不得继续照常提供输出。 [NIST SP 800-90B — Entropy sources, conditioning and health tests]
NIST SP 800-90B 将评估与具体源的技术及运行条件联系起来。重启测试补充长时间连续记录。一个采集样本合格,并不自动覆盖所有设备、环境或固件变更。 [NIST SP 800-90B — Entropy sources, conditioning and health tests]
Intel DRNG 指南区分读取确定性生成器输出的 RDRAND,以及提供经调理的熵值用于初始化的 RDSEED。因此,硬件指令不一定直接提供未经处理的物理噪声。 [Intel DRNG guide — RDRAND, RDSEED and CF]
Intel 要求对 RDRAND 和 RDSEED 检查 CF:1 表示结果可用,0 表示不可用。目标寄存器里的数字零本身不是成功检查。支持某条指令与单次调用成功是两件事。 [Intel DRNG guide — RDRAND, RDSEED and CF]
Linux hw_random 文档提醒,这个字符设备接口不会对 /dev/hwrng 数据执行质量测试,故障硬件可能返回错误数据。因此,读取设备本身不能证明熵质量或应用集成安全。 [Linux kernel — Hardware random number generator interface]
NIST SP 800-90C 将熵源和生成机制组合为完整构造。钱包评估必须明确实际组件、版本、测试、故障和后续处理。仅认证熵源既不等于评估整个钱包,也不会保护日后的备份。 [NIST SP 800-90C — Complete RBG constructions]
要获得更完整的理解,请将本词条与以下词条结合阅读: Cryptographic Entropy, Random Number Generator, CSPRNG, Entropy Mixing. 反向关联还来自: Entropy Mixing.