
在安全電子郵件的完善保密方案(PGP),Netscape Navegator的SSL中都用到了RSA系統。因RSA系統可用於數組簽名,並有較高的安全性,因此它在商業密碼通信系統中也有廣泛應用。
但由於RSA算法的運算量很大,加/解密速度比DES、AES等對稱加密算法的慢很多,因此不適用於純數據加密,一般都將RSA算法和AES、DES、IDEA等算法混合使用,即用AES、DES、IDEA等算法加密數據,用RSA算法傳送密鑰,這樣就能把兩者的優勢結合在一起。具體來說,主要步驟如下。
(1)第一时间由發方A作成用於對明文m加、解密的AES密鑰K。為保證密碼體制的安全性與實現密鑰管理的簡單化,加密數據用的密鑰K最好只用一次。
(2)用收方B的RSA密碼體制的公開密鑰K對密鑰K加密,然後將加密後的密鑰Ck傳送給收方B。
(3)收方B用他的私有密鑰K對Ck解密,得到AES算法的密鑰K。
(4)發方A在證實收方B正確無誤地收到密鑰K後,顺利获得AES算法用密鑰K對明文m加密,並傳送密文C。
(5)收方B用在第(3)步取得的密鑰K解密密文C取得明文m。
(6)最後,收方與發方都消去密鑰K。
這樣,因把對稱密碼體制與RSA公鑰體制組合起來用,因此有如下優點。
(1)由於用RSA公鑰體制加密與傳送用來數據通信的AES算法的密鑰,所以無需在通信前發送密鑰的秘密。
(2)密鑰的保密管理和RSA公鑰體制情形一樣,只用保密管理一個私有密鑰。
(3)加、解密的處理速度大致與AES算法相同。由於速度慢的RSA算法處理的僅是AES算法的密鑰,因此若通信數據很長,則用RSA算法的處理時間可忽略。
(4)因用RSA公鑰體制發送密鑰,所以也可用它來數字簽名。
(5)可做到數據加密的“一次一密”。
