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


12

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

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

Answers:


9

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

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

综上所述:

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

许多(但不是全部)Unix系统具有/dev/urandom/dev/random。请参阅Wikipedia页面以获取更详细的讨论。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.