2015年計算機三級網絡技術必考知識點:公鑰密碼

前面我們提到,發送方和接收方使用相同的密鑰,這是對稱密碼;如果使用不同的密鑰,就是非對稱密鑰,也稱爲公鑰密碼。公鑰密碼是基於數學函數的算法,而不是基於置換和代換技術。它是非對稱的,使用兩個獨立的密鑰。

2015年計算機三級網絡技術必考知識點:公鑰密碼

  (1)公鑰密碼體制

公鑰算法依賴一個加密密鑰和一個與之相關但不相同的解密密鑰。其重要特點是:僅根據密碼算法和加密密鑰來確定解密密鑰在計算上是不可行的。另外,對於有些加密算法(如RSA)而言:兩個密鑰中,任何一個都可以用來加密,另一個用來解密。

  (2)公鑰體制的應用

一般來說,公鑰密碼體制的應用可分爲3類:

①加密/解密:發送方用接收方的公鑰對消息加密。

②數字簽名:發送方用自己的私鑰對消息“簽名”。

⑧密鑰交換:通信雙方交換會話密鑰。

  (3)RSA算法

RSA出現於1978年,它是第一個既能用於數據加密也能用於數字簽名的算法。

RSA是種分組密碼,其明文和密文均是0至 n-1之間的整數,通常n的大小是l024位二進制數或309位十進制數。

明文以分組爲單位進行加密,每個分組的二進制值均小於n,即分組的大小必須小於或等於 log2(n)位,在實際應用中,分組的`大小是k位,其中2k   RSA選取密鑰的過程如下:

①選取兩個大質數p和q。質數值越大,破解RSA就越困難,但加密和解密的時間就越長。

②計算n=p*q和z=(p-t)(q-1)。

③選取小於n的數e,且和z沒有公約數(除了,)(即e和z是互質數)。

④找到數d,滿足(n,e),私鑰密鑰是數對(n,d)。公開公共密鑰。

  (4)其他的公鑰加密算法

①ElGamal算法。ElGamal算法是一種較爲常見的加密算法,它是基於l984年提出的公鑰密碼體制和橢圓曲線加密體系。既能用於數據加密,也能用於數字簽名。ElGamal在加密過程中,生成的密文長度是明文的兩倍,且每次加密後都會在密文中生成一個隨機數K。

②ElGamal算法。揹包加密算法是以求解揹包問題的計算困難性爲基礎的,也稱爲MH加密方法。揹包體制基本上都被破譯了,很少有人用它。