macOS下写入/dev/random提升熵池的相关技术咨询
macOS 下 /dev/random 写入与读取的相关问题解答
写入 /dev/random 后的行为
- macOS 的
/dev/random和 Linux 实现逻辑不同,但写入外部随机数据确实会增加系统熵池的熵值——它不是FIFO/LIFO缓冲区,写入的数据不会直接被后续读取调用返回,而是作为熵源注入内核的Yarrow随机数生成算法中。
读取 /dev/random 的数据来源
- 读取到的不是你写入的原始数据,也不是简单的“系统伪随机数+写入数据”混合结果。Yarrow算法会把所有可用熵源(包括你写入的外部数据、系统自身收集的硬件/环境熵,比如键盘输入、磁盘IO延迟等)做哈希、混合处理,生成高强度的伪随机数输出。最终读取到的是经过算法统一处理后的结果,无法拆分出具体来源。
能否让 /dev/random 仅输出外部源的随机数
- 这在macOS上做不到。Yarrow的设计逻辑就是依赖多熵源融合,系统会持续自动收集自身熵并注入,没有公开的配置项或原生工具可以完全屏蔽系统自身的熵源,只保留外部写入的部分。
- 你提到的Linux下rng-tools,本质是持续将硬件随机数(如
/dev/hwrng)注入熵池,让外部熵占比极高,但也不是完全抛弃系统自身熵;而macOS既没有类似的原生工具,也不支持单独禁用系统熵源的配置。
内容的提问来源于stack exchange,提问作者irrbloss
相关产品推荐
相关产品推荐

