常見加密演算法的比較
演算法選擇:對稱加密AES,非對稱加密: ECC,訊息摘要: MD5,數字簽名:DSA
對稱加密演算法(加解密金鑰相同)
名稱 |
金鑰長度 |
運算速度 |
安全性 |
資源消耗 |
DES |
56位 |
較快 |
低 |
中 |
3DES |
112位或168位 |
慢 |
中 |
高 |
AES |
128、192、256位 |
快 |
高 |
低 |
非對稱演算法(加密金鑰和解密金鑰不同)
名稱 |
成熟度 |
安全性(取決於金鑰長度) |
運算速度 |
資源消耗 |
RSA |
高 |
高 |
慢 |
高 |
DSA |
高 |
高 |
慢 |
只能用於數字簽名 |
ECC |
低 |
高 |
快 |
低(計算量小,儲存空間佔用小,頻寬要求低) |
雜湊演算法比較
名稱 |
安全性 |
速度 |
SHA-1 |
高 |
慢 |
MD5 |
中 |
快 |
對稱與非對稱演算法比較
名稱 |
金鑰管理 |
安全性 |
速度 |
對稱演算法 |
比較難,不適合網際網路,一般用於內部系統 |
中 |
快好幾個數量級(軟體加解密速度至少快100倍,每秒可以加解密數M位元資料),適合大資料量的加解密處理 |
非對稱演算法 |
金鑰容易管理 |
高 |
慢,適合小資料量加解密或資料簽名 |
演算法選擇(從效能和安全性綜合)
對稱加密: AES(128位),
非對稱加密: ECC(160位)或RSA(1024),
訊息摘要: MD5
數字簽名:DSA
輕量級:TEA、RC系列(RC4),Blowfish (不常換金鑰)
速度排名(個人估測,未驗證):IDEA <DES <GASTI28<GOST<AES<RC4<TEA<Blowfish
簡單的加密設計: 用金鑰對原文做 異或,置換,代換,移位
名稱 |
資料大小(MB) |
時間(s) |
平均速度MB/S |
評價 |
DES |
256 |
10.5 |
22.5 |
低 |
3DES |
256 |
12 |
12 |
低 |
AES(256-bit) |
256 |
5 |
51.2 |
中 |
Blowfish |
256 |
3.7 |
64 |
高 |
表5-3 單鑰密碼演算法效能比較表 |
|||||||||||||||||||||||||||||||||||||||||||||||
|
常見加密演算法
1、DES(Data Encryption Standard):對稱演算法,資料加密標準,速度較快,適用於加密大量資料的場合;
2、3DES(Triple DES):是基於DES的對稱演算法,對一塊資料用三個不同的金鑰進行三次加密,強度更高;
3、RC2和RC4:對稱演算法,用變長金鑰對大量資料進行加密,比 DES 快;
4、IDEA(International Data Encryption Algorithm)國際資料加密演算法,使用 128 位金鑰提供非常強的安全性;
5、RSA:由 RSA 公司發明,是一個支援變長金鑰的公共金鑰演算法,需要加密的檔案塊的長度也是可變的,非對稱演算法;
6、DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標準),嚴格來說不算加密演算法;
7、AES(Advanced Encryption Standard):高階加密標準,對稱演算法,是下一代的加密演算法標準,速度快,安全級別高,在21世紀AES 標準的一個實現是 Rijndael 演算法;
8、BLOWFISH,它使用變長的金鑰,長度可達448位,執行速度很快;
9、MD5:嚴格來說不算加密演算法,只能說是摘要演算法;
10、PKCS:The Public-Key Cryptography Standards (PKCS)是由美國RSA資料安全公司及其合作伙伴制定的一組公鑰密碼學標準,其中包括證書申請、證書更新、證書作廢表釋出、擴充套件證書內容以及數字簽名、數字信封的格式等方面的一系列相關協議。
11、SSF33,SSF28,SCB2(SM1):國家密碼局的隱蔽不公開的商用演算法,在國內民用和商用的,除這些都不容許使用外,其他的都可以使用;
12、ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學。
13、TEA(Tiny Encryption Algorithm)簡單高效的加密演算法,加密解密速度快,實現簡單。但安全性不如DES,QQ一直用tea加密