天天看點

HTTPS 之對稱加密與非對稱加密

對稱加密

加密 encryption 與解密 decryption 使用的是同樣的密鑰 secret key,對稱加密是最快速、最簡單的一種加密方式。加密和解密算法是公開的,秘鑰必須嚴格儲存,如果秘鑰洩露,别人就能夠用密文+秘鑰還原成你的明文。

對稱加密有很多種算法,由于它效率很高,是以被廣泛使用在很多加密協定的核心當中。

對稱加密通常使用的是相對較小的密鑰,一般小于 256bit。因為密鑰越大,加密越強,但加密與解密的過程越慢。如果你隻用 1bit 來做這個密鑰,那黑客們可以先試着用 0 來解密,不行的話就再用 1 解;但如果你的密鑰有 1MB 大,黑客們可能永遠也無法破解,但加密和解密的過程要花費很長的時間。

For Example

比如常見的 DES/AES 都是屬于對稱加密算法。

優點

算法公開、計算量小、加密速度快、加密效率高。

缺點

秘鑰的管理和分發非常困難,不夠安全。在資料傳送前,發送方和接收方必須商定好秘鑰,然後雙方都必須要儲存好秘鑰,如果一方的秘鑰被洩露,那麼加密資訊也就不安全了。

非對稱加密

非對稱加密算法需要兩個密鑰來進行加密和解密,這兩個秘鑰是公開密鑰(簡稱公鑰)和私有密鑰(簡稱私鑰),即常說的“公鑰加密,私鑰加密”或“私鑰加密,公鑰加密”。

私鑰隻能由一方安全保管,不能外洩,而公鑰則可以發給任何請求它的人。

非對稱加密使用這對密鑰中的一個進行加密,而解密則需要另一個密鑰。

For Example

RSA 就是最常用的非對稱加密算法。

比如,你向銀行請求公鑰,銀行将公鑰發給你,你使用公鑰對消息加密,那麼隻有私鑰的持有人--銀行才能對你的消息解密。

與對稱加密不同的是,銀行不需要将私鑰通過網絡發送出去,是以安全性大大提高。

雖然非對稱加密很安全,但是和對稱加密比起來,它非常的慢,是以我們還是要用對稱加密來傳送消息,但對稱加密所使用的密鑰我們可以通過非對稱加密的方式發送出去。

優點

缺點

總結