linux – GPG密钥生成器*不*使用熵

我正在尝试在Ubuntu 16.10上生成一个GPG密钥,而GPG正在永远.

我google了一下,发现了一些网站,包括StackExchange上的一些问题,建议运行像rngd这样的熵生成器来帮助系统更快地生成随机数.

其中一些网站还鼓励检查/ proc / sys / kernel / random / entropy_avail,声明在他们的系统上,它在运行GPG之前报告了四位数字,在运行时报告了两位到一位数字.

我目前正在我的电脑上运行GPG;它已经运行了至少半个小时,我得到了这个

$cat /proc/sys/kernel/random/entropy_avail 
3644

这个数字会随着时间的推移而增加,并且很少会减少(在写完这句话之后它是3801).我没有运行任何随机数生成器.实际上,如果我尝试运行一个(例如sudo rngd -fr / dev / random,它会降到50左右;如果我使用/ dev / urandom,它会保持在3000左右).

任何人都可以帮我弄清楚我的系统到底出了什么问题?

我在Linux 4.8.0-37-generic,gpg(GnuPG)2.1.15,libgcrypt 1.7.2-beta.

解决方法:

在升级到Debian 9后,我最近遇到了类似的问题.一些依赖于随机数的程序在最近的Linux版本中更改了源代码/随机生成器例程,这使得它们更依赖于系统的熵.

安装守护进程似乎提供了一致的随机数池.这样做:

sudo apt-get install haveged

现在,需要熵的不同程序需要伪造的守护进程,尤其是在熵通常较低的VM和iOT(例如树莓等)中.

从男人的愤怒:

NAME
haveged – Generate random numbers and feed Linux’s random device.

DESCRIPTION
haveged generates an unpredictable stream of random numbers harvested
from the indirect effects of hardware events on hidden processor state
(caches, branch predictors, memory translation tables, etc) using the
HAVEGE (HArdware Volatile Entropy Gathering and Expansion) algorithm.
The algorithm operates in user space, no special privilege is required
for file system access to the output stream.

Linux pools randomness for distribution by the /dev/random and
/dev/urandom device interfaces. The standard mechanisms of filling the
/dev/random pool may not be sufficient to meet demand on systems with
high needs or limited user interaction. In those circumstances, haveged
may be run as a privileged daemon to fill the /dev/random pool whenever
the supply of random bits in /dev/random falls below the low water mark
of the device.

上一篇:Github 中使用认证签名


下一篇:GPG Suite mac版如何导入公钥?