天天看點

對稱加密和非對稱加密概述

對稱加密:

加密(encryption)與解密(decryption)用的是同樣的密鑰(secret key)

對稱加密的一大缺點是密鑰的管理與配置設定,換句話說,如何把密鑰發送到需要解密你的消息的人的手裡是一個問題。在發送密鑰的過程中,密鑰有很大的風險會被黑客們攔截。現實中通常的做法是将對稱加密的密鑰進行非對稱加密,然後傳送給需要它的人。

非對稱加密:

它使用了一對密鑰,公鑰(public key)和私鑰(private key)。私鑰隻能由一方安全保管,不能外洩,而公鑰則可以發給任何請求它的人。非對稱加密使用這對密鑰中的一個進行加密,而解密則需要另一個密鑰。

比如,你向銀行請求公鑰,銀行将公鑰發給你,你使用公鑰對消息加密,那麼隻有私鑰的持有人–銀行才能對你的消息解密。與對稱加密不同的是,銀行不需要将私鑰通過網絡發送出去,是以安全性大大提高。

目前最常用的非對稱加密算法是RSA算法,是Rivest, Shamir, 和Adleman于1978年發明。

雖然非對稱加密很安全,但是和對稱加密比起來,它非常的慢,是以我們還是要用對稱加密來傳送消息,但對稱加密所使用的密鑰我們可以通過非對稱加密的方式發送出去。為了解釋這個過程(https),請看下面的例子:

https加密過程

(1) Alice需要在銀行的網站做一筆交易,她的浏覽器首先生成了一 個随機數作為對稱密鑰。

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

(3) 銀行将公鑰發送給Alice。

(4) Alice的浏覽器使用銀行的公鑰将自己的對稱密鑰加密。

(5) Alice的浏覽器将加密後的對稱密鑰發送給銀行。

(6) 銀行使用私鑰解密得到Alice浏覽器的對稱密鑰。

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

總結

1.對稱加密加密與解密使用的是同樣的密鑰,是以速度快,但由于需要将密鑰在網絡傳輸,是以安全性不高。

2.非對稱加密使用了一對密鑰,公鑰與私鑰,是以安全性高,但加密與解密速度慢。

3.解決的辦法是将對稱加密的密鑰使用非對稱加密的公鑰進行加密,然後發送出去,接收方使用私鑰進行解密得到對稱加密的密鑰,然後雙方可以使用對稱加密來進行溝通,例如:https。

繼續閱讀