1.對稱性加密
雙方使用的同一個密鑰,既可以加密又可以解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
簡單來說就是:加密與解密都是同一個秘鑰。
優點:通常在消息發送方需要加密大量數據時使用,算法公開,計算量小,加密速度快,加密效率高。
缺點:在數據傳送前,發送方和接收方必須商定好秘鑰,然后 使雙方都能保存好秘鑰。其次如果一方的秘鑰被泄露,那么加密信息也就不安全了。另外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的唯一秘 鑰,這會使得收、發雙方所擁有的鑰匙數量巨大,密鑰管理成為雙方的負擔。
在對稱加密的算法中常用的算法:DES、AES等
AES:秘鑰長度可以是128、192、256位,即16字節 、24字節、32字節
DES: 秘鑰長度64位,即8字節
2.非對稱性加密
與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。
公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。
私鑰只能由一方保管,不能外泄。公鑰可以交給任何請求方。
在非對稱加密算法中常用的算法有: RSA等
優點:安全
缺點:速度慢(每次加密的數據量小)
3.HTTPS中是如何應用對稱加密與非對稱加密(原理圖)
SSL (
Secure Sockets Layer) 是用來保障你的
瀏覽器和網站服務器之間安全通信,免受網絡“中間人”竊取信息。
1.當你的瀏覽器向服務器請求一個安全的網頁(通常是 https://)
2.服務器就把它的證書和公匙發回來
3.瀏覽器檢查證書是不是由可以信賴的機構頒發的,確認證書有效和此證書是此網站的。
4.
瀏覽器使用公鑰加密了一個隨機對稱密鑰,包括加密的URL一起發送到服務器
5.服務器用自己的私匙解密了你發送的鑰匙。然后用這把對稱加密的鑰匙給你請求的URL鏈接解密。
6.服務器用你發的對稱鑰匙給你請求的網頁加密。你也有相同的鑰匙就可以解密發回來的網頁了
4.數字證書原理圖