484 / 691TRNG

True Random Number Generator

物理随机数生成器

TRNG 将物理过程用作不确定性来源。“true”一词不能替代熵评估、故障检查,也不能替代对输出到钱包这一整条路径的验证。

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.

DOC · 001NIST SP 800-90B — Entropy sources, conditioning and health tests规范 ↗DOC · 002Intel DRNG guide — RDRAND, RDSEED and CF文档 ↗DOC · 003Linux kernel — Hardware random number generator interface文档 ↗DOC · 004NIST SP 800-90C — Complete RBG constructions规范 ↗
来源优先 · 非投资建议