(2)非對(duì)稱(chēng)加密與對(duì)稱(chēng)密碼算法不同,非對(duì)稱(chēng)密碼算法需要有兩個(gè)密鑰:公開(kāi)密鑰( Public Key)和私有密鑰(Private Key)。公開(kāi)密鑰與私有密鑰是一對(duì),如果用公開(kāi)密鑰對(duì)數(shù)據(jù)進(jìn)行加密;則只能用對(duì)應(yīng)的私有密鑰解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開(kāi)密鑰才能解密。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€(gè)不同的密鑰,所以稱(chēng)為非對(duì)稱(chēng)加密。非對(duì)稱(chēng)加密的典型代表算法有RSA算法(以Ron Rivest,Adishamir,Len Adleman三位學(xué)者名字命名的算法)和橢圓曲線(xiàn)密碼編碼學(xué)( Elliptic Curves Cryptography,ECC)算法。
發(fā)送方A與接收方B利用非對(duì)稱(chēng)加密技術(shù)進(jìn)行保密通信的過(guò)程如圖11-2所示。
非對(duì)稱(chēng)密碼算法的保密性比較好,要管理的密鑰數(shù)量比較少,它消除了最終用戶(hù)交換密鑰的需要,但復(fù)雜度卻很高,加密和解密花費(fèi)時(shí)間長(zhǎng)、速度慢,不適于對(duì)文件加密而只適用于對(duì)少量數(shù)據(jù)進(jìn)行加密。