我没有找到在 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被推荐。