加密算法的安全級別

  今天在網上看到一個關於加密算法的安全性及破解複雜度的表格,特摘錄下來以便日後參考使用,原表是英文的,這裏直接翻譯成中文方便查閱。另外還找了一些關於密碼學相關的信息,附錄在後。

加密算法的安全級別(Security Level of Cryptographic Algorithms)

安全級別
(Security Level)

工作因素
(Work Factor)

算法
(Algorithms)

薄弱(Weak)

O(240)

DES, MD5

傳統(Legacy)

O(264)

RC4, SHA-1

基準(Baseline)

O(280)

3DES

標準(Standard)

O(2128)

AES-128, SHA-256

較高(High)

O(2192)

AES-192, SHA-384

超高(Ultra)

O(2256)

AES-256, SHA-512

注:上表中的“工作因素(Work Factor)”可以理解爲破解的算法複雜度。

關於密碼學相關的一些信息:

密碼學散列散列函數
哈希算法MD4, MD5, SHA
對稱加密DES, IDEA, RC2, RC4, SKIPJACK, RC5, AES
非對稱加密RSA, ECC

  已經證實較容易破解的算法(不安全算法):MD4, MD5, SHA-0, SHA-1, DES

  理論上大部分的算法基本上都是可以破解的,只是需要很多臺計算機並行運算很長時間才能破解。密鑰越長,需要耗費的資源越多,以此來提高破解的成本,由於成本過高導致不進行攻擊或採用旁道攻擊。同時密鑰越長加解密的成本也會隨之提高,所以可以根據信息的價值和保密要求來選擇合適的算法。

  哈希算法是不可逆算法,但是存在碰撞可能,速度較快;對稱加密使用一個密鑰進行加解密;非對稱加密使用公鑰和私鑰進行加解密,速度比對稱加密要更慢,但較安全。通常哈希算法可以選用 MD5 或 SHA,而對稱加密則可以選用 3DES 或 AES,非對稱加密則可以選用 RSA 或 ECC。

  另外需要說明的是,這裏的哈希算法和哈希表中用到的哈希算法稍有不同,哈希表中用到的哈希算法不需要高的安全性,但是需要高的性能和高的離散性,所以一般不會採用 MD5 或 SHA 等算法,而是採用更快的哈希算法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章