【问题标题】:How to fill kernel entropy without X and hardware RNG?如何在没有 X 和硬件 RNG 的情况下填充内核熵?
【发布时间】:2021-09-14 20:09:59
【问题描述】:

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

/dev/random

非常迅速地阻塞。

cat /proc/sys/kernel/random/entropy_avail

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

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

【问题讨论】:

  • 我怀疑这个问题更适合Unix&Linuxsuperuser
  • 我对代码比命令行更感兴趣。我想了解熵被放入内核的哪个位置。有一个 hasged 项目(包含在最近的内核中)但我的内核很旧。
  • 读写/dev/urandom。它使用相同的熵源,但不会阻塞。向其写入随机数据会向池中添加熵,但不会被 /dev/random 计算。

标签: random linux-kernel kernel random-seed entropy


【解决方案1】:

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

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

从此只读取/dev/urandom/

一旦系统有256 可用的熵位,/dev/urandom 将愉快地吐出适合密钥材料的加密安全伪随机数据。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-22
    • 2015-12-02
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多