
非對稱加密的出現是密碼學史上重要的里程碑。非對稱加密用的公開密鑰是在對稱加密的單密碼方式中解決問題最難解決時提出的,該問題是密鑰分配與數字簽名。
公開密鑰與私有密鑰中的任意一把均能當做公開密鑰以非保密方式給他人公開,而另一把做私有密鑰來保管。在加密系統中,公開密鑰用於加密,私有密鑰用於解密。私有密鑰僅可顺利获得生成密鑰的交換方管控,公開密鑰能公佈,不過它僅與生成密鑰的交換方相對應。
非對稱密鑰有兩種使用方式,傳送保密信息與消失認證。
(1)傳送保密信息。這種方式可用在公共網絡中來完成保密通信;它能達到多個用戶借公鑰加密的消息僅能顺利获得一個用戶用私鑰解讀,即其他用戶用接收方的公鑰加密信息發給接收方,僅有接收方能解讀。
(2)消息認證。這種方式可用在認證系統中對消息數字簽名。公鑰是公開的,因此用戶用私鑰加密的消息可被其他多個用戶用公鑰解讀;公鑰與私鑰是對應的,同時也證明了消息的來源。
非對稱加密算法特點如下:
a)用加密密鑰對明文M加密後得到密文,再用解密密鑰對密文進行解密,即可恢復出明文。
b)加密密鑰不能用來解密,
c)用解密密鑰加密的信息只能用加密密鑰解密,用加密密鑰加密的信息只能用解密密鑰進行解密。
d)從已知的加密密鑰不能推導出解密密鑰。
e)加密和解密的運算可交換作用次序。
如果用戶B要給用戶A發送一個數據,此時該用戶會在公開的密鑰中得到與A的私有密鑰對應的公開密鑰,然後用此公開密鑰對數據加密後發至網絡中進行傳輸。用戶A在收到密文後用自己的私有密鑰解密,由於數據的發送方拿接收方的公開密鑰加密數據,因此僅A才可讀懂此密文。當其他用戶得到此密文時,因他們無加密此信息的公開密鑰相應的私有密鑰,因此不能讀懂此密文。
在非對稱加密中,全部參與加密通信的用戶都可取得每個用戶的公開密鑰,而每個用戶的私有密鑰由用戶在通信前已產生,無需事先分配。在一個系統中,只要能管理好每個用戶的私有密鑰,用戶收到的通信內容即為安全的。不管何時,系統都可更改它的私有密鑰,並公開相應的公開密鑰代替原來的。
非對稱加密方式能讓通信兩方不用預先交換密鑰即能進行安全通信,普遍用在身份認證、數字簽名等領域。
