据我所知,通过SSL,浏览器获取安全网站的公钥,并通过公钥加密rsa算法,这两个建立会话密钥,然后通过一些对称算法继续通信,因为对称密钥加密/解密速度更快。 SSL使用哪种对称密钥算法? DES? AES?或者是其他东西?SSL使用哪种对称密钥算法?
回答
当客户端连接到服务器时,它协商所谓的密码组(加密组合,密钥交换,认证算法)来使用。每个SSL客户端或服务器都有一个允许的密码套件列表,并且在握手过程中,客户端和服务器协商使用哪种密码套件。有时可能发生,没有共同的分母(密码套件不相交),并且无法建立连接。支持SSL的对称算法有DES,3DES,ARCFOUR,AES,Camellia,RC2,IDEA,SEED,NULL(无加密)。
你忘了ARIA:http://tools.ietf.org/html/rfc6209 – Jumbogram 2011-05-23 01:00:33
@jumbogram感谢你指点这个RFC,我不知何故错过了它。但是,我应该指出,严格来说这不是TLS的一部分。 RFC是“信息性的”而不是Sstandards Track,它具有非常本地化的用途(一个国家)。我还可以提到在前苏联很受欢迎的GOST,但它并没有在其他地方使用过。 – 2011-05-23 06:18:06
几种可能性包括RC4和DES甚至不加密。不,我知道不好,但我相信客户端和服务器协商找到一个区域,他们既可以使用
在连接建立(“握手”)期间,客户端和服务器决定使用“密码套件”。密码套件陈述使用的算法(非对称密钥协议,对称加密和完整性检查)。详细地说,客户端发送它支持的密码套件的列表,并且服务器选择其中的一个,它也支持它。通常,服务器在客户端发送的客户端中选择它支持的第一个套件(换句话说,客户端消息中的套件的排序是它的“优先顺序”,服务器通常会尊重客户端的首选项)。
例如,密码套件TLS_RSA_WITH_3DES_EDE_CBC_SHA
意味着会话密钥将使用RSA(非对称加密,使用来自服务器证书的RSA公钥)传输,数据将使用3DES进行对称加密,并且完整性检查将会使用SHA-1散列函数。有关标准密码套件的列表,请参阅TLS specification(其他套件稍后添加,特别是一些带有AES的套件)。
- 1. SSL对称密钥存储在哪里?
- 2. 对称加密密钥与非对称密钥-ssl
- 3. 对称密钥加密算法
- 4. 要使用哪种加密算法以及在哪里存储密钥?
- 5. ProtectedData使用哪种加密算法?
- 6. 使用对称密钥加密数组
- 7. PdfStamper类的setEncryption方法使用哪种加密算法/方法?
- 8. 加密 - 对称密钥
- 9. 加密(对称密钥)lib
- 10. 非对称加密密钥
- 11. 使用不对称算法私钥和公钥与RSA C#
- 12. 你推荐哪种C加密框架用于对称和非对称加密?
- 13. 从密钥,种子,明文和密文确定加密算法
- 14. 每种加密算法都可以加密ASCII密钥吗?
- 15. OpenSSL对称密钥与.NET对称密钥 - 不匹配
- 16. 非对称密钥切换的对称密钥
- 17. x509非对称算法的证书密钥
- 18. 哪种加密算法用于密码保护数据?
- 19. 在这里使用哪种算法来散列密码?
- 20. 不对称和对称密钥存储
- 21. SSL密钥和用Java
- 22. SSL:如果使用2048位RSA密钥,那么协商的对称密钥也会更大
- 23. 使用哪种加密方法?
- 24. 哪个加密算法在NSDataWritingFileProtection中使用iOS,密钥大小是什么?
- 25. 使用列名称或对称密钥获取证书名称
- 26. 对称和公钥加密
- 27. 带对称密钥的RSA
- 28. 保护对称密钥
- 29. 对称密钥存储
- 30. 非对称密钥系统?
http://en.wikipedia.org/wiki/Secure_Sockets_Layer#TLS_handshake_in_detail – 2011-05-22 14:38:48
总结其他人所说的话:有几种选择;连接中使用的内容取决于特定的客户端和服务器。 – Jumbogram 2011-05-23 01:09:54