是使用相同算法生成的公钥和私钥?

时间:2013-07-12 13:31:55

标签: security encryption public-key-encryption

公钥加密的邮件是否可以通过私钥解密?

私钥加密的邮件是否可以通过公钥解密?

是否使用相同的算法生成公钥和私钥?

2 个答案:

答案 0 :(得分:1)

  

问:使用相同的算法生成公钥和私钥吗?

一般来说,使用相同的算法生成的。对于RSA,它们可以相同地生成,但是大多数加密库使用已知的公共指数。这意味着如果知道私钥,则很容易推断出公钥。在许多密钥格式中,公钥是包含在私钥中,或者可以通过私钥格式的信息轻松计算。

请注意,理论上可以生成密钥对,其中公共指数具有与私有指数一样多的熵。有些HSM确实允许这样的操作。

总而言之,您不能在不牺牲安全性的情况下切换密钥以进行加密。

  

问:通过私钥加密的邮件是否可以通过公钥解密?

理论上,如果您的加密库允许,可能就是这种情况。但是大多数图书馆都不允许这样做。首先,如上所述,它不是安全操作。此外,许多库将假设使用私钥加密的任何内容都应使用填充模式进行数字签名生成。在那种情况下,解密可能会失败;如果它不是你的密文不安全 - 所以这可能更糟。

来自PKCS#1规范:


  

每个原语的主要数学运算是取幂,   与第5.1节的加密和解密原语一样。 RSASP1   和RSAVP1与RSADP和RSAEP相同,但名称除外   他们的输入和输出参数;他们是有名的   用于不同目的。


在基元之前应用的填充机制在加密和签名生成方面存在显着差异。

  

问:用公钥加密的邮件可以通过私钥解密吗?

这是非对称加密的基本思想。这意味着“是”。

答案 1 :(得分:-1)

按相应顺序:是,是和是。

实际上,只有公钥才能解密私有加密的内容,反之亦然。

另请注意,名称“public”和“private”只是任意名称。只是对不对称密钥的最佳用途是让其中一个秘密,另一个为其他人所知,所以:

  • 拥有公钥的人可以向您发送只有您可以使用私钥解密的消息;
  • 您可以发送只能使用您的公钥解密的邮件,以便人们知道您是真正的作者。