对称加密(Symmetric Encryption)
优点:
-
加密和解密速度快
-
适用于大量数据的加密
缺点:
-
密钥分发问题,双方都需要有同样的密钥,安全密钥交换成为挑战
-
密钥管理成本高,每个通信对需要一个独立的密钥
常见算法:AES, DES, 3DES, RC4等。
非对称加密(Asymmetric Encryption)
非对称加密使用一对密钥:公钥(public key)和私钥(private key)。公钥可以公开,而私钥必须保密。如果用公钥加密数据,只有对应的私钥才能解密;如果用私钥加密数据,只有对应的公钥才能解密。
优点:
-
解决了密钥分发的问题,密钥对中的公钥可以自由分发
-
提供了数字签名功能,确保了消息的完整性和身份验证
缺点:
-
加密和解密速度慢于对称加密,不适合大量数据加密
-
计算复杂度高
常见算法:RSA, ECC, ElGamal等。
HTTPS中的应用:
HTTPS(超文本传输安全协议)是一种用于在互联网上安全传输数据的协议。它在标准的HTTP(超文本传输协议)上增加了SSL/TLS(安全套接层/传输层安全)协议。SSL/TLS结合了对称加密和非对称加密,兼顾了两者的优势。
-
建立连接时的非对称加密: -
浏览器向服务器请求建立SSL连接。
-
服务器发送其SSL证书,包括服务器的公钥。
-
浏览器验证证书的有效性,然后生成一个随机数作为对称密钥的会话密钥。
-
浏览器用服务器的公钥加密这个会话密钥,并发送给服务器。
-
服务器用自己的私钥解密这个会话密钥。
-
数据传输时的对称加密:
-
一旦双方都有了会话密钥,它们就使用对称加密算法加密通信过程中的所有数据。
-
这样,即使有人截获了加密后的数据,也无法解密,因为他们没有会话密钥。
-
身份验证和完整性检查: -
服务器和客户端还可能使用非对称加密提供数字签名,以确保数据的完整性和来源验证。
本篇文章来源于微信公众号: 互联网面试小帮手
微信扫描下方的二维码阅读本文

Comments NOTHING