V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dqh3000
V2EX  ›  问与答

为什么需要 SSL 证书什么的? RSA 加密为什么不能做到及时,因为速度慢吗?

  •  
  •   dqh3000 · 2015-10-04 17:52:26 +08:00 · 2887 次点击
    这是一个创建于 3344 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我觉得理想的情况难道不是应该是 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 加密数据并和服务器开始通信

    因为加密解密速度太慢?

    yyfearth
        1
    yyfearth  
       2015-10-04 19:18:13 +08:00 via iPhone
    首先 你如何保证 key 传递时候不被中间人替换
    其次 非对称加密 比如 rsa 比 对称加密 比如 aes 慢很多很多

    所以 https 只用 rsa 或者类似非对称算法 来交换 密钥 然后用 对称算法 比如 rsa 来加密内容
    在交换密钥的时候 用证书 保证服务器端的正确性
    yyfearth
        2
    yyfearth  
       2015-10-04 19:19:30 +08:00 via iPhone
    打错了 应该是 然后用对称算法 比如 aes 来加密内容
    dqh3000
        3
    dqh3000  
    OP
       2015-10-04 21:20:54 +08:00
    @yyfearth 您说的对,还有中间人替换的问题,所以无论如何应该有可信的公钥

    虽然和我想做的没关系,不过想通了这个问题,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2764 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:39 · PVG 13:39 · LAX 21:39 · JFK 00:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.