1. 程式人生 > >常見加密演算法的比較

常見加密演算法的比較

演算法選擇:對稱加密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 單鑰密碼演算法效能比較表

名稱

實現方式

運算速度

安  全  性

改進措施

應用場合

DES

40-56bit

金鑰

一般

完全依賴金鑰,易受窮舉搜尋法攻擊

雙重、三重DES,AES

  適用於硬體實現

IDEA

128bit金鑰

8輪迭代

較慢

軍事級,可抗差值分析和相關分析

加長字長為32bit、金鑰為256bit,採用232 模加、232+1模乘

  適用於ASIC設計

GOST

256bit金鑰

32輪迭代

較快

軍事級

加大迭代輪數

S盒可隨機祕

密選擇,便於軟體實現

Blowfish

256-448bit

金鑰、16輪迭代

最快

  軍事級、可通過改變金鑰長度調整安全性

適合固定金鑰場合,不適合常換金鑰和智慧卡

RC4

金鑰長度可變

快DESl0倍

對差分攻擊和線性攻擊具有免疫能力,高度非線性

金鑰長度放寬到64bit

演算法簡單,易於程式設計實現

RC5

金鑰長度和迭代輪數均可變

速度可根據

三個引數的

值進行選擇

六輪以上時即可抗線性攻擊、通過調整字長、金鑰長度和迭代輪數可以在安全性和速度上取得折中

引入資料相倚轉

  適用於不同字長的微處理器

CASTl28

金鑰長度可變、16輪迭代

較快

可抵抗線性和差分攻擊

增加金鑰長度、形成CAST256

適用於PC機和

UNIX工作站




常見加密演算法
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加密