複製鏈接
請複製以下鏈接發送給好友

公開密鑰加密

鎖定
公開密鑰加密(public-key cryptography)也稱為非對稱密鑰加密(asymmetric cryptography),是一種密碼學算法類型。該加密算法使用兩個不同的密鑰:加密密鑰和解密密鑰。
中文名
公開密鑰加密
外文名
public-key cryptography
別    名
非對稱密鑰加密
組    成
加密密鑰、解密密鑰
創建者
惠特菲爾德·迪菲馬丁·赫爾曼
創建時間
1976年

公開密鑰加密簡介

公開密鑰加密(public-key cryptography),也稱為非對稱加密(asymmetric cryptography),一種密碼學算法類型,在這種密碼學方法中,需要一對密鑰,一個是私人密鑰,另一個則是公開密鑰。這兩個密鑰是數學相關,用某用户密鑰加密後所得的信息,只能用該用户的解密密鑰才能解密。如果知道了其中一個,並不能計算出另外一個。因此如果公開了一對密鑰中的一個,並不會危害到另外一個的秘密性質。稱公開的密鑰為公鑰;不公開的密鑰為私鑰。 [1] 
該思想最早由瑞夫·墨克(Ralph C. Merkle)在1974年提出,之後在1976年。惠特菲爾德·迪菲(Whitfield Diffie)與馬丁·赫爾曼(Martin Hellman)兩位學者以單向函數與單向暗門函數為基礎,為發訊與收訊的兩方創建密鑰。
如果加密密鑰是公開的,這用於客户給私鑰所有者上傳加密的數據,這被稱作為公開密鑰加密(狹義)。例如,網絡銀行的客户發給銀行網站的賬户操作的加密數據。公鑰加密的另一用途是身份驗證:用私鑰加密的信息,可以用公鑰拷貝對其解密,接收者由此可知這條信息確實來自於擁有私鑰的某人。
如果解密密鑰是公開的,用私鑰加密的信息,可以用公鑰對其解密,用於客户驗證持有私鑰一方發佈的數據或文件是完整準確的,接收者由此可知這條信息確實來自於擁有私鑰的某人,這被稱作數字簽名,公鑰的形式就是數字證書。例如,從網上下載的安裝程序,一般都帶有程序製作者的數字簽名,可以證明該程序的確是該作者(公司)發佈的而不是第三方偽造的且未被篡改過(身份認證/驗證)。公鑰的形式就是數字證書。

公開密鑰加密優點

與對稱密鑰加密相比,優點在於無需共享的通用密鑰,解密的私鑰不發往任何用户。即使公鑰在網上被截獲,如果沒有與其匹配的私鑰,也無法解密,所截獲的公鑰是沒有任何用處的。
它可以很好地適應開放性的使用環境。因為密鑰管理相對簡單,可方便地實現數字簽名和驗證,對解決電子商務活動中的“瓶頸”,如對傳輸數據進行加密、數字簽名、公證的方法等,很有實用價值。

公開密鑰加密過程

假設兩個用户A向B發送信息,B的公鑰為c,對應私鑰(也是屬於B的)為d,明文為x。
  1. A用公鑰對明文進行加密形成密文c(x),然後傳輸密文;
  2. B收到密文,用私鑰對密文進行解密d(c(x)),得到要通信的明文x。
B向A發送信息反之。

公開密鑰加密常見公鑰加密算法

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