公開密鑰加密

公開密鑰加密

公開密鑰加密(public-key cryptography)也稱為非對稱密鑰加密(asymmetric cryptography),是一種密碼學算法類型。該加密算法使用兩個不同的密鑰:加密密鑰和解密密鑰。

基本信息

簡介

公開密鑰加密(public-key cryptography),也稱為非對稱加密(asymmetric cryptography),一種密碼學算法類型,在這種密碼學方法中,需要一對密鑰,一個是私人密鑰,另一個則是公開密鑰。這兩個密鑰是數學相關,用某用戶密鑰加密後所得的信息,只能用該用戶的解密密鑰才能解密。如果知道了其中一個,並不能計算出另外一個。因此如果公開了一對密鑰中的一個,並不會危害到另外一個的秘密性質。稱公開的密鑰為公鑰;不公開的密鑰為私鑰。

該思想最早由瑞夫·墨克(Ralph C. Merkle)在1974年提出,之後在1976年。惠特菲爾德·迪菲(Whitfield Diffie)與馬丁·赫爾曼(Martin Hellman)兩位學者以單向函式與單向暗門函式為基礎,為發訊與收訊的兩方創建密鑰。

如果加密密鑰是公開的,這用於客戶給私鑰所有者上傳加密的數據,這被稱作為公開密鑰加密(狹義)。例如,網路銀行的客戶發給銀行網站的賬戶操作的加密數據。公鑰加密的另一用途是身份驗證:用私鑰加密的信息,可以用公鑰拷貝對其解密,接收者由此可知這條信息確實來自於擁有私鑰的某人。

如果解密密鑰是公開的,用私鑰加密的信息,可以用公鑰對其解密,用於客戶驗證持有私鑰一方發布的數據或檔案是完整準確的,接收者由此可知這條信息確實來自於擁有私鑰的某人,這被稱作數字簽名,公鑰的形式就是數字證書。例如,從網上下載的安裝程式,一般都帶有程式製作者的數字簽名,可以證明該程式的確是該作者(公司)發布的而不是第三方偽造的且未被篡改過(身份認證/驗證)。公鑰的形式就是數字證書。

優點

與對稱密鑰加密相比,優點在於無需共享的通用密鑰,解密的私鑰不發往任何用戶。即使公鑰在網上被截獲,如果沒有與其匹配的私鑰,也無法解密,所截獲的公鑰是沒有任何用處的。

它可以很好地適應開放性的使用環境。因為密鑰管理相對簡單,可方便地實現數字簽名和驗證,對解決電子商務活動中的“瓶頸”,如對傳輸數據進行加密、數字簽名、公證的方法等,很有實用價值。

過程

假設兩個用戶A向B傳送信息,B的公鑰為c,對應私鑰(也是屬於B的)為d,明文為x。

A用公鑰對明文進行加密形成密文c(x),然後傳輸密文;

B收到密文,用私鑰對密文進行解密d(c(x)),得到要通信的明文x。

1.

A用公鑰對明文進行加密形成密文c(x),然後傳輸密文;

2.

B收到密文,用私鑰對密文進行解密d(c(x)),得到要通信的明文x。

B向A傳送信息反之。

常見公鑰加密算法

常見的公鑰加密算法有: RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫爾曼密鑰交換協定中的公鑰加密算法、橢圓曲線加密算法(Elliptic Curve Cryptography, ECC)。使用最廣泛的是RSA算法(由發明者Rivest、Shmir和Adleman姓氏首字母縮寫而來)是著名的公開金鑰加密算法,ElGamal是另一種常用的非對稱加密算法。

相關搜尋

熱門詞條

聯絡我們