使用编码解码的样本推断 PGP 私钥

使用编码解码的样本推断 PGP 私钥

如果我同时拥有一条加密消息和其原始消息,是否可以推断出私钥?

答案1

不,这就是非对称密钥(公钥和私钥)因为您可以轻松地用公钥对消息进行编码(这就是它的用途),所以您有解密和加密的消息。但只有使用私钥才能解密加密的消息。私钥无法重新生成。

答案2

由于没有提到:这被称为已知明文攻击,对于密码来说,这是一个非常严重的漏洞。事实上,在公钥加密中,这种攻击相当于选择明文攻击,因为任何人都可以加密任何消息!

那里事实上,有一些针对 RSA 的已知/选择明文攻击(PGP 最常用来加密对称密钥的公钥密码)但它们通常涉及旁道攻击反对糟糕的实施或需要大量密文, 或者只针对某些罕见的密钥起作用

然而,一般来说,你的问题的答案是“否”——这就是密码安全的原因。

答案3

不,这很糟糕。PGP 加密使用哈希、数据压缩、对称密钥加密和公钥加密的串行组合。哈希利用单向函数。单向函数是一种易于计算但难以逆的函数。公钥加密使用非对称算法。

公钥加密所用的算法基于数学关系(最著名的是整数分解和离散对数问题),这些关系可能没有有效的解决方案。虽然预期接收者生成公钥和私钥、使用私钥解密消息在计算上很容易,发送者使用公钥加密消息也很容易,但任何人仅凭对公钥的了解就很难(或实际上不可能)推导出私钥。

仅仅拥有原始消息并不足以推断出私钥。

答案4

不太可能,这可能会有所帮助,但不应该让你走得太远。安全表单可能更适合这样做,但是:

您应该对加密进行多个步骤,至少应该有一个种子、一个哈希值和一个盐。

例如,您可能使用 salt 使所有密码长度均为 64 位,然后将其通过哈希值运行。如果它只是哈希值,那么破解起来将非常容易。

这是一个非常简单的版本...但它并不是那么容易。

相关内容