天天看點

各種加密算法比較

各種加密算法比較

算法選擇:對稱加密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

評價

256

10.5

22.5

12

AES(256-bit)

5

51.2

Blowfish

3.7

64

表5-3 單鑰密碼算法性能比較表

實作方式

安  全  性

改進措施

應用場合

40-56bit

密鑰

一般

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

雙重、三重DES,AES

  适用于硬體實作

IDEA

128bit密鑰

8輪疊代

較慢

軍事級,可抗內插補點分析和相關分析

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

  适用于ASIC設計

GOST

256bit密鑰

32輪疊代

軍事級

加大疊代輪數

S盒可随機秘

密選擇,便于軟體實作

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加密

為系統而生,為架構而死,為debug奮鬥一輩子; 吃符号的虧,上大小寫的當,最後死在需求上。