(68)對稱加密和非對稱加密的區別

對稱加密和非對稱加密,最重要的的區別就是加密算法的不一樣:對稱加密算法在加密和解密時使用的是同一個祕鑰,而非對稱加密算法須要兩個密鑰來進行加密和解密,這兩個祕鑰是公開密鑰(簡稱公鑰)和私有密鑰(簡稱私鑰)。算法

加密,須要對加密和解密使用相同密鑰的加密算法。因爲其速度快,對稱性加密一般在消息發送方須要加密大量數據時使用。因此,對稱性加密也稱爲密鑰加密。安全

1976年,美國學者Dime和Henman爲解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協議,容許在不安全的媒體上的通信雙方交換信息,安全地達成一致的密鑰,這就是「公開密鑰系統」。加密

與對稱加密算法不一樣,非對稱加密算法須要兩個密鑰:公開密鑰和私有密鑰。公開密鑰與私有密鑰是一對,若是用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;若是用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。由於加密和解密使用的是兩個不一樣的密鑰,因此這種算法叫做非對稱加密算法。3d

對於對稱加密,咱們能夠用一個例子來形象描述:blog

假如甲和乙是一對生意搭檔,他們住在不一樣的城市。因爲生意上的須要,他們常常會相互之間郵寄重要的貨物。爲了保證貨物的安全,他們商定製做一個保險盒,將物品放入其中。他們打造了兩把相同的鑰匙分別保管,以便在收到包裹時用這個鑰匙打開保險盒,以及在郵寄貨物前用這把鑰匙鎖上保險盒。這就是一個將重要資源安全傳遞到目的地的傳統方式,只要甲乙當心保管好鑰匙,那麼就算有人獲得保險盒,也沒法打開。資源

所以這個思想被用到了現代計算機通訊的信息加密中。在對稱加密中,數據發送方將明文(原始數據)和加密密鑰一塊兒通過特殊加密算法處理後,使其變成複雜的加密密文發送出去。接收方收到密文後,若想解讀原文,則須要使用加密密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密。get

對稱加密工做過程簡要示意圖:it

而對於非對稱加密,一樣咱們能夠以一個例子來講明:class

譬如,甲乙之間使用若是以非對稱加密的方式完成重要信息的安全傳輸,那麼其步驟以下:密碼

一、乙方生成一對密鑰(公鑰和私鑰)並將公鑰向其它方公開。

二、獲得該公鑰的甲方使用該密鑰對機密信息進行加密後再發送給乙方。

三、乙方再用本身保存的另外一把專用密鑰(私鑰)對加密後的信息進行解密。乙方只能用其專用密鑰(私鑰)解密由對應的公鑰加密後的信息。

在傳輸過程當中,即便攻擊者截獲了傳輸的密文,並獲得了乙的公鑰,也沒法破解密文,由於只有乙的私鑰才能解密密文。一樣,若是乙要回復加密信息給甲,那麼須要甲先公佈甲的公鑰給乙用於加密,甲本身保存甲的私鑰用於解密。

如下是非對稱加密工做過程簡要示意圖:

綜上所述,對稱加密和非對稱加密,區別關鍵是加密密鑰的不一樣。

 

 

通常來說,一個密碼系統(一般簡稱爲密碼體制)由五部分組成,如圖所示。

  1. 明文空間M,它是全體明文的集合。
  2. 密文空間C,它是全體密文的集合。
  3. 密鑰空間K,它是全體密鑰的集合,其中每個密鑰k均由加密密鑰ke和解密密鑰kd組成。
  4. 加密算法E,它是一族由M到C的加密變換。
  5. 解密算法D,它是一族由C到M的解密變換。

對於每個肯定的密鑰,加密算法將肯定一個具體的加密變換,解密算法將肯定一個具體的解密變換,並且解密變換就是加密變換的逆變換。對於明文空間中的每個明文M,加密算法E在密鑰ke的控制下將明文M加密成密文C:
C = E(M, ke)
解密算法D在密鑰kd的控制下將密文C解密出同一明文M:
M = D(C, kd) = D(E(M, ke) , kd)
若是一個密碼體制的kd = ke,或由其中一個很容易推導出另外一個,則稱之爲對稱密碼體制,不然稱之爲非對稱密碼體制。若是在計算上kd不能由ke推導出來,這樣ke公開也不會損害kd的安全,因而即可以將ke公開,這種密碼體制稱爲公開密鑰密碼體制。公開密鑰密碼體制的概念於1976年由Diffie和Hellman提出,它的出現是密碼學發展史上的一個里程碑。

相關文章
相關標籤/搜索