据我所知,在发送邮件时,邮件使用公钥加密并发送,需要私钥才能打开加密邮件。但我不知道两个客户都知道私钥。例如:
John向Alice发送消息说“Hello World”。
邮件get使用公钥加密,然后发送
Alice使用私钥对其进行解密。
但是,Alice的计算机如何知道私钥,它是如何实现的,它是在另一层加密中加密消息,还是一开始就在计算机上,但是如何?
我只是想知道,如果有人能请你解释感谢会很棒!
答案 0 :(得分:1)
双方都会生成与其保持一致的自己的私钥。然后将这些密钥的公共部分分发给想要与私钥所有者通信的其他方。
重要的是确保您与您认为自己正在沟通的人进行沟通,否则中间人可以将他的公钥发送给伪装成预期收件人的双方。
在某种程度上,这个答案确实假设我们在谈论RSA。有许多非对称密码系统使用私钥/公钥,这些密钥可能不一定与我使用的术语有关。
答案 1 :(得分:0)
在最简单的模型中:
Apub
/ Apriv
。Apub
加密一些数据。Apriv
来恢复数据。在更复杂的模型中,实体可能有许多私钥。除了“尝试所有这些”之外,我们可以添加一些结构。
Apub
/ Apriv
。她安全地保存了这些(运动留给读者)。Apub
为主题公钥获取X.509公钥证书。
Apub
并使用它加密数据。Apriv
恢复数据。更复杂的模型是Bob的一部分简化形式的Enveloped CMS(加密消息语法)。 Alice阅读该消息并使用类似Windows证书存储(能够将标识符携带到Windows加密密钥存储区以获取私钥)来确定证书并最终确定私钥。
可以在“更复杂”的层上完成许多不同的事情。如果Alice非常喜欢管理密钥,她可以为每个与之交谈的人制作不同的密钥,然后通过消息“Bobness”或“Daviosity”知道她应该使用与她给Bob的公钥匹配的私钥,或者Dave