對稱密鑰與非對稱密鑰

(一)對稱加密(Symmetric Cryptography)

對稱密鑰加密,又稱私鑰加密,即信息的發送方和接收方用一個密鑰去加密和解密數據。它的最大優點是加/解密速度快,適合於對大數據量進行加密,對稱加密的一大缺點是密鑰的管理與分配,換句話說,如何把密鑰發送到須要解密你的消息的人的手裏是一個問題。在發送密鑰的過程當中,密鑰有很大的風險會被黑客們攔截。現實中一般的作法是將對稱加密的密鑰進行非對稱加密,而後傳送給須要它的人。算法

對稱加密一般使用的是相對較小的密鑰,通常小於256 bit。由於密鑰越大,加密越強,但加密與解密的過程越慢。若是你只用1 bit來作這個密鑰,那黑客們能夠先試着用0來解密,不行的話就再用1解;但若是你的密鑰有1 MB大,黑客們可能永遠也沒法破解,但加密和解密的過程要花費很長的時間。密鑰的大小既要照顧到安全性,也要照顧到效率,是一個trade-off。瀏覽器

(二)非對稱加密(Asymmetric Cryptography)

非對稱密鑰加密系統,又稱公鑰密鑰加密。非對稱加密爲數據的加密與解密提供了一個很是安全的方法,它使用了一對密鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外泄,而公鑰則能夠發給任何請求它的人。非對稱加密使用這對密鑰中的一個進行加密,而解密則須要另外一個密鑰。好比,你向銀行請求公鑰,銀行將公鑰發給你,你使用公鑰對消息加密,那麼只有私鑰的持有人--銀行才能對你的消息解密。與對稱加密不一樣的是,銀行不須要將私鑰經過網絡發送出去,所以安全性大大提升。 目前最經常使用的非對稱加密算法是RSA算法。公鑰機制靈活,但加密和解密速度卻比對稱密鑰加密慢得多。安全

雖然非對稱加密很安全,可是和對稱加密比起來,它很是的慢,因此咱們仍是要用對稱加密來傳送消息,但對稱加密所使用的密鑰咱們能夠經過非對稱加密的方式發送出去。爲了解釋這個過程,請看下面的例子:網絡

(1) Alice須要在銀行的網站作一筆交易,她的瀏覽器首先生成了一個隨機數做爲對稱密鑰。大數據

(2) Alice的瀏覽器向銀行的網站請求公鑰。網站

(3) 銀行將公鑰發送給Alice。加密

(4) Alice的瀏覽器使用銀行的公鑰將本身的對稱密鑰加密。blog

(5) Alice的瀏覽器將加密後的對稱密鑰發送給銀行。it

(6) 銀行使用私鑰解密獲得Alice瀏覽器的對稱密鑰。效率

(7) Alice與銀行可使用對稱密鑰來對溝通的內容進行加密與解密了。

非對稱密鑰加密解密

(三)總結

(1) 對稱加密加密與解密使用的是一樣的密鑰,因此速度快,但因爲須要將密鑰在網絡傳輸,因此安全性不高。

(2) 非對稱加密使用了一對密鑰,公鑰與私鑰,因此安全性高,但加密與解密速度慢。

(3) 解決的辦法是將對稱加密的密鑰使用非對稱加密的公鑰進行加密,而後發送出去,接收方使用私鑰進行解密獲得對稱加密的密鑰,而後雙方可使用對稱加密來進行溝通。

相關文章
相關標籤/搜索