【发布时间】:2015-07-02 17:40:32
【问题描述】:
我阅读了关于公钥和私钥如何在 security.stackexchange.com: How can I explain the concept of public and private keys without technical jargon? 上工作的简化。
无论我从那里了解到什么:私钥位于所有者处,所有者将加密数据与公钥一起发送给某人。公钥在客户端解密该数据,并加密发送给所有者的客户端数据。一旦数据在客户端通过公钥加密,则不能重复使用相同的公钥来加密该数据。只有私钥的所有者才能对数据进行多次加密和解密。
我的理解是对的吗?
我的问题是:公钥是如何从所有者到客户端的?
每次从服务器端向客户端发送相同的公钥,还是每次从服务器端向客户端发送不同的公钥?
@Ewan 说:
- 客户端:发送“你好”
- 服务器:这是我的公钥
- 服务器:请发送您的公钥
- 客户端:这是我的(用服务器公钥加密的)公钥
- 客户端:这是一个(使用服务器公钥加密的)请求
- 服务器:这是一个(用客户端公钥加密的)响应
这在上述步骤中提出了以下问题:
当客户端第一次向服务器发送 Hello 时,如何 hello 会以加密方式传送到服务器吗?
不明白为什么服务器会找到他的公钥?
为什么服务器要求客户端发送他的公钥?
【问题讨论】:
-
“请向我详细解释密钥交换的工作原理” 对于 Stack Overflow 而言过于宽泛。此外,当您接近第 250 个问题时,您可能需要再次阅读How do I ask a good question?。也请尝试一次又一次地使用 shift 按钮。一个句子以大写字母开头,而“I”在英语中总是大写的。
-
请自学。阅读Wiki: Key exchange、Wiki: Diffie–Hellman key exchange,如果文字仍然过多,请参阅picture that explains it。
标签: encryption certificate public-key-encryption