GPG 似乎改变了导入的密钥

GPG 似乎改变了导入的密钥

所以本周之前我从未使用过 gpg (2.0.14),而且我也不是密码学专业人士,但我使用 gpg 得到的结果似乎很奇怪。

当我导入由 OpenPGP 生成的密钥(例如 gpg --import public.key)时,gpg 似乎成功处理了它们并且没有报告任何错误。但是,当我导出这些密钥并与原始密钥进行比较时,它们不是相同。我认为这就是 gpg 无法解密使用原始公钥在[其他地方]创建的消息的原因。

重现步骤:使用类似的工具https://sela.io/pgp/要生成密钥集,请导入到 gpg,从 gpg 导出,进行比较。

不兼容?错过了一个步骤吗?软件之神继续用一系列的小麻烦来阴谋对付我?

答案1

我看到的唯一区别是 GPG 2.0.14(我在 CentOS 6 上有)输出带有旧格式标头的关键数据包(大概是为了更广泛的兼容性,至少在过去的几年里),而不是使用新格式标头站点(参见rfc4880 第 4.2 节),并且默认情况下是无装甲的(但很容易移除)。数据包的主体以及密钥的值应该是相同的。

但是,仅导入民众密钥永远不允许您解密或签名。公钥或“非对称”密码学的全部要点在于,只有被认为是唯一的持有者私人的key,出于历史原因,GPG 称之为秘密密钥,可以解密或签名,而公钥可以公开并被任何人和每个人用来加密或验证。

补充:虽然使用网站生成密钥是非常可疑的做法,特别是当它甚至没有说(我可以找到)生成是在浏览器中时(尽管基于 ProcExp 指示的 CPU 使用情况)出现可能)。他们生成一个带有 CSEA 标志的主密钥和两个都带有 SEA 标志的子密钥,这很奇怪,这基本上没有用,而且浪费 CPU。

相关内容