我读了关于公钥和私钥如何在security.stackexchange.com: How can I explain the concept of public and private keys without technical jargon?上工作的简化。WCF服务和客户端客户端如何交换证书密钥?
无论我从那里了解到什么:私人密钥坐在所有者和所有者身上,将公钥加密后的数据发送给某人。公钥在客户端解密该数据,并加密发送给所有者的客户端数据。一旦数据在客户端被公钥加密,那么相同的公钥就不能被重用来加密该数据。只有私钥的所有者才能加密和解密数据。
我说得对吗?
我的问题是:公钥是如何从所有者端到客户端的旅行?
每次从服务器端向客户端发送相同的公钥,或者每次从服务器端向客户端发送不同的公钥?
@Ewan表示如下:
- 客户:发送 “你好”
- 服务器:这是我的公共密钥
- 服务器:请把你的公钥
- 客户:这是我的(用服务器公钥加密)公钥
- 客户端:这是一个(用服务器公钥加密)请求
- 服务器:这里是一个(加密的w第i个客户端的公钥)响应
这引起了在所述步骤如下问题:
当第一次客户端发送Hello服务器再怎么打招呼 将前往加密路服务器?
不明白为什么服务器找到他的公钥?
为什么服务器请求客户端发送他的公钥?
_“请给我解释的全部细节如何密钥交换作品” _是堆栈溢出过于宽泛。另外,当您接近您的第250个问题时,您可能需要再次阅读[我如何问一个好问题?](http://stackoverflow.com/help/how-to-ask)。请同时尝试使用换档按钮。一个句子以大写字母开头,“I”总是以英文大写。 – CodeCaster
请教育自己。阅读[Wiki:密钥交换](http://en.wikipedia.org/wiki/Key_exchange),[Wiki:Diffie-Hellman密钥交换](http://en.wikipedia.org/wiki/Diffie%E2%80 %93Hellman_key_exchange),如果这仍然太多的文字,请参阅[图片解释它](http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange#/media/File:Diffie-Hellman_Key_Exchange.svg )。 – CodeCaster