在PKI中,如果每个人都知道服务器的公钥,这意味着任何人都可以解密服务器对客户端的响应,而客户端使用私钥进行加密,而私钥又可以通过服务器公钥解密,只要有人可以嗅探某人其他交通的中间?在PKI中,如果每个人都知道公钥,那么这意味着任何人都可以解密....?
回答
以最简单的形式,公钥密码被用于单向通信。
如果Alice有一个公钥/私钥对,并且她将公钥发给每个人,那么任何人都可以使用Alice的公钥对只有Alice可以使用她的私钥解密的公钥进行加密。 Alice does 而不是使用她的私钥来加密消息供他人阅读。
对于双向安全通信,公钥密码通常用于传输双方可用于安全通信的会话密钥。
让我们说,鲍勃想和艾丽丝谈谈。通过Alice的公钥,Bob使用它来加密一个密钥并将其发送给Alice。 Alice然后使用她的私钥解密密钥。现在只有Alice和Bob知道秘密密钥。因此,他们都可以使用密钥与对称加密算法(如AES)在它们之间来回发送消息。
爱丽丝可以用她的私钥做的一件事是创建一个数字签名。 Alice可以编写一条消息,对消息进行散列,然后用她的私钥对散列进行编码。然后Alice将消息与加密哈希一起公开发送出去。拥有Alice公共密钥的任何人都可以对散列进行解码,并确保消息的散列与编码散列相匹配。因为只有爱丽丝可以创建编码的散列,读者知道爱丽丝确实发送了该消息。
不,只有私钥才能解密数据。
在客户端服务器通信中,数据通常使用在通信开始(握手过程)期间发起的随机对称密钥进行加密。所有进一步的沟通都是通过它完成的。 PKI的作用是客户端生成随机对称密钥,并使用服务器公钥对服务器公钥进行加密,服务器将其解密以继续会话。
TLS会话密钥通过密钥协商协议进行协商。它不是由客户选择的;未加密;没有传送;并且不被解密。 – EJP
- 1. 任何人都知道下面的代码段意味着什么?
- 2. 任何人都可以解释这
- 3. 任何人都可以解释这是什么意思?
- 4. 任何人都知道ACTION_RF_FIELD_ON_DETECTED?
- 5. 任何人都知道Rhomobile?
- 6. 任何人都知道VRTX
- 7. 任何人都知道DirectoryEntry.Invoke
- 8. 任何人都知道如何解决这个错误突破?
- 9. 任何人都知道这是什么意思?
- 10. 任何人都可以帮我解密这个功能吗?
- 11. 任何人都可以解释这个GLSL片段着色器在做什么?
- 12. 有人可以解释这个错误意味着什么吗?
- 13. 任何人都知道这个解决方案?
- 14. 请任何人都可以在logcat中解释这个错误
- 15. 任何人都可以在C中解释这个结构吗?
- 16. 任何人都可以解释这个来自boost :: thread的意外结果吗?
- 17. 任何人都知道我可以做一个“如果”在铁轨?
- 18. 任何人都可以帮我纠正这个Excel公式吗?
- 19. 如何设置这个动画为Android旗帜任何人都可以知道
- 20. 任何人都可以知道如何使用JavaScript
- 21. 用公钥加密意味着什么?
- 22. 任何人都可以解释这个查询是什么意思?
- 23. 任何人都可以解释这个字符串是什么意思?
- 24. 任何人都可以解释这个例外是什么意思?
- 25. 任何人都可以解释这个列表的理解?
- 26. 每个抽象类都知道别人
- 27. 任何人都知道这个错误是什么意思的Android标签?
- 28. 任何人都可以解释“视场”
- 29. 任何人都可以解释list-urls.py
- 30. 任何人都可以解释OAuth吗?
这个问题似乎是题外话题,因为它不是关于编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[密码学堆栈交换](http://crypto.stackexchange.com/)或[信息安全堆栈交换](http://security.stackexchange.com/)将是一个更好的地方要问。 – jww