UNIX 系统上正确的可用熵是多少?

UNIX 系统上正确的可用熵是多少?

我有三个与 UNIX 系统上的熵相关的问题:

  1. 我使用以下命令检查 Linux 上的熵cat /proc/sys/kernel/random/entropy_avail:这是 POSIX 中定义的可用熵信息的标准位置吗?
  2. 我应该期待什么是正确的可用信息?我听说熵应该等于或大于100,如果熵一直低于100可能会有问题。
  3. 这个熵是由 所使用的/dev/random还是与 也有关系/dev/urandom

答案1

/dev/random没有标准化。 POSIX 不提供任何生成加密安全随机数据的方法,并且没有任何熵的概念。

Linux内核的熵计算对应于熵的信息论模型,与实际使用无关。唯一与此相关的情况是在从未有时间积累熵的新设备上(这包括实时发行版;已安装的系统从一次启动到下一次启动都会保存其熵)。除了这种情况之外,总是有足够的熵,因为熵不会耗尽。由于 Linux/dev/random在认为它没有足够的熵时会阻塞,所以使用/dev/urandom,它永远不会阻塞。使用/dev/urandom对一切都有好处,包括生成加密密钥(如上所述,在新设备上除外)。

总之:

  1. 不,这不是标准的。
  2. 你不在乎。
  3. 使用/dev/urandom

许多(但不是所有)Unix 系统都有/dev/urandom/dev/random。请参阅维基百科页面进行更详细的讨论。

相关内容