(2)非对称加密与对称密码算法不同,非对称密码算法需要有两个密钥:公开密钥( Public Key)和私有密钥(Private Key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密;则只能用对应的私有密钥解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以称为非对称加密。非对称加密的典型代表算法有RSA算法(以Ron Rivest,Adishamir,Len Adleman三位学者名字命名的算法)和椭圆曲线密码编码学( Elliptic Curves Cryptography,ECC)算法。
发送方A与接收方B利用非对称加密技术进行保密通信的过程如图11-2所示。
非对称密码算法的保密性比较好,要管理的密钥数量比较少,它消除了最终用户交换密钥的需要,但复杂度却很高,加密和解密花费时间长、速度慢,不适于对文件加密而只适用于对少量数据进行加密。