假设我想向您发送一条加密并签名的消息,以证明其真实性和完整性,以及非对称密钥加密的自然安全性。如果我没记错的话,该过程如下:
- 我创建了一条想要发送给您的消息。
- 我生成了该消息的哈希版本(摘要)。
- 我用我的私钥加密摘要。
- 我以安全的方式向您发送由消息、加密摘要和我的公钥组成的组合消息(例如,使用您的公钥再次加密完整的包)。
- 您使用私钥接收并解密该包,并使用附加的公钥解密摘要。如果解密成功完成,则您确保我的真实性,因为我是唯一一个可以拥有该私钥的人。
- 您再次生成附件邮件的哈希版本以进行检查正直,因为如果摘要一致,就意味着消息在传输过程中没有被损坏。
但在这种情况下,如果你用我的公钥解密该消息,你就可以解密该消息,并且获取我的私钥,现在不是更容易了吗?
使用您的公钥加密发送给您的消息的原因是因为嗅探器没有其他“因素”(好吧,我知道公钥是两个巨大素数和第三个素数的组合,而私钥是基于这三个素数的模数算术密钥;但为了简单起见,我将它们称为“两个因素”)。
但是,如果两个因素“结合在一起”并且没有任何风险,那么保密私钥的理由又是什么呢?
答案1
你走在正确的轨道上,直到“显然,得到我的私钥”。
按键的操作涉及很多数学原理。
公钥/私钥对的工作方式是,使用公钥,你可以验证是否使用了匹配的私钥,而无需知道私钥是什么是。从公钥来看,没有简单的方法可以推导出私钥。
签名证明知道整个私钥的人签署了文件。公钥仅用于验证签名是否有效以及消息是否未被更改或替换。它们也可以反过来使用 - 使用公钥加密发送给您的消息,只有知道私钥的人才能解密和阅读它。
整个公钥/私钥系统的设置使在没有现有安全通道的情况下进行通信变得更加容易。您可以将公钥广泛发布给任何可能需要它的人,而不会泄露私钥。
答案2
当您使用私钥加密纯文本时,您可以使用公钥解密密文。只有一个人应该拥有私钥。全世界都可以访问公钥。
当您使用公钥解密密文时,您只会得到纯文本 - 私钥仍然是私密的,因为您没有获得它。