如何在没有 X 和硬件 RNG 的情况下填充内核熵?

How to fill kernel entropy without X and hardware RNG?

我有一个微型嵌入式设备 运行 Linux 但没有硬件 RNG 驱动程序和 X 服务器(没有鼠标,没有键盘...)。

/dev/random

块非常快。

cat /proc/sys/kernel/random/entropy_avail

报告的数字非常低 (~10)。

系统处理相机,因此存在真正的熵源。如何将熵输入内核?

从您的相机中获取数据流,使用 BLAKE2b 或 SHA2 等合适的算法对其进行哈希处理,然后将其输入 /dev/random

一旦熵计数为 >=256,您就可以开始了。

从那时起只读 /dev/urandom/.

/dev/urandom 一旦系统有 256 位可用的熵,

/dev/urandom 将愉快地吐出适合密钥 material 的加密安全伪随机数据。

运行 在你收集到这个数量后就没有熵是一个神话。用/dev/urandom,真的,完全没问题