1. 程式人生 > >對稱加密和非對稱加密總結

對稱加密和非對稱加密總結

對稱加密含義:對稱加密是最快速、最簡單的一種加密方式,加密(encryption)與解密(decryption)用的是同樣的金鑰(secret key),這種方法在密碼學中叫做對稱加密演算法。對稱加密有很多種演算法,由於它效率很高,所以被廣泛使用在很多加密協議的核心當中。

非對稱加密含義:非對稱加密為資料的加密與解密提供了一個非常安全的方法,它使用了一對金鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外洩,而公鑰則可以發給任何請求它的人。非對稱加密使用這對金鑰中的一個進行加密,而解密則需要另一個金鑰。比如,你向銀行請求公鑰,銀行將公鑰發給你,你使用公鑰對訊息加密,那麼只有私鑰的持有人--銀行才能對你的訊息解密。與對稱加密不同的是,銀行不需要將私鑰通過網路傳送出去,因此安全性大大提高。

常用的對稱加密

         1).DES:  java6只支援例56位祕鑰長度,通過BounvyCastle可以將祕鑰長度增加至64位。例:http://blog.csdn.net/u013791374/article/details/51970860

         2).3重DES:作為DES的改良(核心還是DES),針對DES祕鑰長度偏短,迭代次數偏少,等問題進行了改良,祕鑰長度從56位提升到112或168位,優點:抗窮舉的能力顯著增加,缺點:加密低效,處理速度較慢。例:http://blog.csdn.net/u013791374/article/details/51971188。

         3).AES

:AES的基本要求是: 比三重DES快、至少與三重DES一樣安全、資料分組長度為128位元、金鑰長度為128/192/256位元。優點:祕鑰建立時間短,儲存要求低。

常用的非對稱加密

         1).RSA:祕鑰長度1024位。例:http://blog.csdn.net/u013791374/article/details/51980724

總結

(1) 對稱加密加密與解密使用的是同樣的金鑰,所以速度快,但由於需要將金鑰在網路傳輸,所以安全性不高。
(2) 非對稱加密使用了一對金鑰,公鑰與私鑰,所以安全性高,但加密與解密速度慢。
(3) 解決的辦法是將對稱加密的金鑰使用非對稱加密的公鑰進行加密,然後傳送出去,接收方使用私鑰進行解密得到對稱加密的金鑰,然後雙方可以使用對稱加密來進行溝通。