如何在 GnuPG 中获取 RSA 的非加密私钥数据 (p、q、u、d)?

如何在 GnuPG 中获取 RSA 的非加密私钥数据 (p、q、u、d)?

我没有找到在 GnuPG 中查看和保存引物 p 和 q(未加密)的方法。我决定更改 GnuPG 的源代码(rsa.c)以提供 p 和 q。但这不合逻辑。但是,我认为有一种方法或指令可以获取 p 和 q(以及 u、d),因为我在 GnuPG 中有私钥。实际上,我在 GnuPG 中制作了一个 RSA 密钥。我可以在 GnuPG 中找到获取公钥和私钥的说明,但我无法获取 p、q、u、d。

问题是:如何在 GnuPG 中获取 p、q、u、d?

答案1

GnuPG 直到 2.0 版本都可以导出没有密码保护的密钥(我不确定到目前为止 GnuPG 2.1 是否再次添加了此功能,至少我安装的版本不知道该标志)。导出密钥后,您可以使用 显示私有数据包整数pgpdump

首先,验证gpg仍然是 GnuPG 1.4 或 GnuPG 2.0,现在可能也会调用它gpg1,或者你必须另外安装它:

gpg --version

然后,导出密钥并pgpdump打印私有包(-p)和裸整数(-i):

gpg --export-options export-reset-subkey-passwd,export-minimal --export-secret-subkeys a4ff2279 | pgpdump -pi

为了理解确切的包结构,需要深入研究RFC 4880,OpenPGP被推荐。

相关内容