我刚刚生成了一个新的 GPG 密钥对,并且 gpg 显示了一些随机的加号、减号、大于、小于和抑扬符。我一直想知道它们是什么意思。你能给我解释一下吗?
iblue@nerdpol:~$ gpg --gen-key
[... snip ...]
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
.........+++............<+++++>.+++++...............>..+++++..<
...+++++............>+++++<.+++++.....................<+++++..>
.................................................+++++^^^^
答案1
这些是密钥生成过程的进度指示。由于密钥生成可能很慢,因此您会得到一些动画显示。显示的细节非常模糊,除了(一点点)用于调试 GPG 的一些非常具体的部分之外,没有什么用处。
你正在看到一个埃尔加迈勒密钥对生成。 GPG 需要生成几个具有特定数学属性的数字。其中一些数字,例如素数,是通过反复试验生成的(生成大约在正确范围内的随机数,测试它是否具有必要的属性,req)。 GPG 打印:
- 成功生成素数或生成器后的换行符;
<
如果>
随机生成的素数因不在适当的范围内而被拒绝;!
如果某个素数最终因不合适而被拒绝;^
当尝试候选生成器时;.
如果随机生成候选素数p结果不是素数,GPG 尝试p+2;:
如果随机生成的候选素数结果不是素数并且 GPG 尝试一个新的随机数;.
如果简单的素性测试失败;+
如果长素性测试成功。
如果您想要详细列表,请查看GPG 源代码中progress
对cipher/dsa.c
、cipher/elgamal.c
和的调用。cipher/primegen.c