是否可以从 GPG 公钥恢复密钥?

是否可以从 GPG 公钥恢复密钥?

我丢失了用于 Launchpad 和电子邮件加密的 GPG 密钥以及整个~/.gnupg文件夹。我可以使用公钥恢复它们吗?

答案1

@andrewsomething 不。你提到的提问者,在一台机器上有密钥。但我把密钥弄丢了。(电脑爆炸了)

抱歉,您无法取回您的密钥。这是设计使然。

RSA(和 DSA/ElGamal)算法的设计使得密钥必须同时生成。有一些中间变量既不作为私钥也不作为公钥的一部分存储。由于公钥是公开的,因此您无法从中推断出私钥,否则将存在巨大的安全漏洞。这两个素数是由随机数生成的。

此外,密钥电子邮件/名称/说明与模数(密钥的“重要”数据部分)无关。因此,如果没有备份,您就无法恢复密钥,至少在不分解大数的情况下无法恢复,而这目前还不容易做到。密码用于使用由密码生成的另一个(对称)密钥来保护密钥,但此密钥和密码都不会以任何方式影响模数,除了随机数据源。

我能做些什么?

您可以前往 Launchpad密钥管理通过用户名和密码登录后,撤销旧密钥。然后制作并发布新密钥。您可以发布的密钥数量没有限制。进行安全备份,确保没有人未经授权访问备份,并且备份中的密钥受密码保护。

答案2

不,您不可能再次生成相同的密钥。

但是,您可以按照以下步骤轻松导入/导出密钥:

导入密钥环(所有密钥)

只需将~/.gnupg目录从源机器复制到目标机器即可。

仅导入特定密钥

假设密钥的名称是ABCDFE01

将公钥和私钥分别导出到名为mygpgkey_pub.gpg和的文件中mygpgkey_sec.gpg

gpg --output mygpgkey_pub.gpg --armor --export ABCDFE01
gpg --output mygpgkey_sec.gpg --armor --export-secret-key ABCDFE01 

然后,将这些文件复制到目标计算机并运行:

gpg --import ~/mygpgkey_pub.gpg
gpg --allow-secret-key-import --import ~/mygpgkey_sec.gpg 

来源: http://www.ralree.com/2007/03/07/howto-export-and-import-private-gpg-keys/

答案3

打开你的 Unity Dash,输入以下内容seahorsepasswords and applications点击打开。你创建的密钥将存在于我的个人钥匙选项卡选择它。在那里你可以看到你创建的密钥。选择该密钥,然后自动在菜单中出口选项将激活并选择该导出按钮。然后将其保存到您想要的位置。

现在打开您想要导入此文件的目标系统。与上述相同的过程,直到打开密码和应用程​​序。在该应用程序中,从主菜单中选择文件并选择导入。通过它,您可以选择从第一台 PC 保存的密钥。

如果您想要更清楚的话,请查看图像。 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

相关内容