首页 > 解决方案 > 如何在没有 X 和硬件 RNG 的情况下填充内核熵?

问题描述

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

/dev/random

块非常快。

cat /proc/sys/kernel/random/entropy_avail

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

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

标签: randomlinux-kernelkernelrandom-seedentropy

解决方案


从您的相机中获取数据流,使用像 BLAKE2b 或 SHA2 之类的东西对其进行哈希处理,然后将其输入/dev/random.

一旦熵计数是>=256你很好去。

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

/dev/urandom256一旦系统有可用的熵位,就会很高兴地喷出适合密钥材料的加密安全伪随机数据。

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


推荐阅读