为 PGP 密钥生成熵

red*_*dic 12 linux pgp cryptography

我远程登录到 VM 并尝试生成 4096 位 PGP 密钥,它只是永远挂起,因为没有熵,而且由于我通过远程桌面工作,它可能不会将鼠标移动检测为熵。

我怎样才能产生一些?

我试过了,cat /dev/urandom > /dev/null但这没有帮助。

Tho*_*est 13

获取数据出来/dev/random或者/dev/urandom是绝对不会去帮忙,所有它的作用就是消耗你的熵池,使问题变得更糟。这两个文件的主要区别在于,即使内核用完熵,urandom也会继续生成质量较低的随机数据,同时random会阻塞,直到可以收集到新的高质量随机数据。PGP 需要尽可能高的随机数据来生成安全密钥,因此它将始终使用/dev/random.

如果你有好的随机数据周围,或从另一台服务器的一些出口/dev/random,你可以cat您的服务器/dev/random,以获得更多的熵。但是,您永远不应该cat两次进入同一个文件/dev/random

如果您经常发现自己的熵用完了,您还可以考虑安装诸如hasged 之类的东西,这是一个在后台重新生成熵并/dev/random根据需要重新填充的守护程序。

此外,符号链接/dev/random到也很诱人/dev/urandom,但这应该被视为一种安全风险,因为使用它生成的任何密钥可能都没有它们应有的安全性。虽然它可能对一个不太重要的应用程序有所帮​​助,但您必须考虑 的所有其他可能用途/dev/random,包括其他用户生成自己的密钥、CSR 等。


小智 9

您可以使用haveged.

haveged 是一个在需要时生成熵的守护进程。

  • 在虚拟环境中注意 Haveged。根据管理程序配置,它可能不是最佳的。检查此页面:https://wiki.archlinux.org/index.php/Haveged#Virtual_machines (2认同)