我觉得理想的情况难道不是应该是 RSA 算法:
客户端随机生成 client-public-key , client-private-key
=》
客户端请求网站,请求中发送 client-public-key
=》
服务器随机生成一对 server-public-key , server-private-key
=》
服务器把 server-public-key 和内容用 client-public-key 加密并送回客户端
=》
客户端用 client-private-key 解开数据,用 server-public-key 加密数据并和服务器开始通信
因为加密解密速度太慢?
1
yyfearth 2015-10-04 19:18:13 +08:00 via iPhone
首先 你如何保证 key 传递时候不被中间人替换
其次 非对称加密 比如 rsa 比 对称加密 比如 aes 慢很多很多 所以 https 只用 rsa 或者类似非对称算法 来交换 密钥 然后用 对称算法 比如 rsa 来加密内容 在交换密钥的时候 用证书 保证服务器端的正确性 |
2
yyfearth 2015-10-04 19:19:30 +08:00 via iPhone
打错了 应该是 然后用对称算法 比如 aes 来加密内容
|