(2)非對稱加密與對稱密碼算法不同,非對稱密碼算法需要有兩個密鑰:公開密鑰( Public Key)和私有密鑰(Private Key)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密;則只能用對應的私有密鑰解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以稱為非對稱加密。非對稱加密的典型代表算法有RSA算法(以Ron Rivest,Adishamir,Len Adleman三位學者名字命名的算法)和橢圓曲線密碼編碼學( Elliptic Curves Cryptography,ECC)算法。
發送方A與接收方B利用非對稱加密技術進行保密通信的過程如圖11-2所示。
非對稱密碼算法的保密性比較好,要管理的密鑰數量比較少,它消除了最終用戶交換密鑰的需要,但復雜度卻很高,加密和解密花費時間長、速度慢,不適于對文件加密而只適用于對少量數據進行加密。