<分区>
假设客户端和服务器想使用 SSL 通过网络进行通信,
客户端使用服务器的公钥加密message1 -> 将message1发送给服务器 -> 服务器将使用服务器的私钥解密message1。
服务器使用服务器的私钥加密消息2 -> 将消息2发送给客户端 -> 客户端使用服务器的公钥解密消息2。
我的问题是,在情况 2 中,如果对手获得了服务器公钥(这是公开的),那么他将能够解密消息 2,是这样吗?还是我遗漏了什么?
最佳答案
如果您使用“私钥”对某些内容进行编码,是的,任何人都可以使用“公钥”对其进行解码。如果“公钥”是公开的,那将不是很安全。
不过,我认为您有些困惑;简而言之,SSL 只是使用公钥密码术来交换 key ,并使用此 key 使用对称加密来执行其余通信。
非对称/公钥加密比对称/ secret key 加密慢得多,因此公钥仅被短暂使用 - 以获取其属性(即标识),然后它“切换”到更快的 secret key 加密。
关于ssl - 这个 SSL 场景是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8255539/