在安全电子邮件的完善保密方案(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)可做到数据加密的“一次一密”。