1. 對稱加密:
1.1 概念:加密和解密都使用同一個密鑰。
1.2 優點:對稱加密相比非對稱加密速度更快。
1.3 缺點:當傳遞的密鑰過程被獲取時,對稱加密下的數據傳輸相當於明文傳輸。在傳
輸過程中,必須保證同一對用戶和服務端在進行數據傳輸時所使用的密鑰是唯一
的,密鑰管理較爲困難。
1.4 常見對稱加密算法:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、
IDEA、SKIPJACK等。
2. 非對稱加密:
2.1 概念:密鑰成對出現,公鑰加密需要私鑰解密,私鑰加密需要公鑰解密。服務端將
公鑰分發出去,客戶通過公鑰加密數據,服務端通過私鑰對客戶發來的數據進行解
密;當服務端向客戶回覆消息時,通過私鑰對數據加密,用戶通過公鑰對客戶發開
的數據進行解密。
2.2 優點:非對稱加密相比對稱加密數據傳輸過程更安全。且密鑰管理相對簡單。
2.3 缺點:傳輸速度慢,且服務端回覆消息時,只能使用私鑰進行加密,服務端對公鑰
進行了分發,因此無法保證服務端向客戶發送數據時的安全性。
2.4 常見非對稱加密算法:RSA、Elgamal、揹包算法、Rabin、D-H、ECC(橢圓曲線
加密算法)。
3. Https加密方法:
3.1 Https加密過程:
瀏覽器使用Https的URL訪問服務器,建立SSL鏈接。
服務器收到SSL鏈接,發送非對稱加密的公鑰A返回給瀏覽器
瀏覽器生成隨機數,作爲對稱加密的密鑰B
瀏覽器使用公鑰A,對自己生成的密鑰B進行加密,得到密鑰C
瀏覽器將密鑰C,發送給服務器。
服務器用私鑰D對接受的密鑰C進行解密,得到對稱加密鑰B。
瀏覽器和服務器之間可以用密鑰B作爲對稱加密密鑰進行通信。
3.2 優點:
只在第一次傳遞密鑰時使用非對稱加密,後續傳輸使用對稱加密,保證了數據傳輸
的安全性,同時也提升了數據傳輸的安全性。