AES加密標準怎麼樣?
關於AES的看法一級和DES的對比
這個比較在經典的密碼學教材上都有,我引用wiki百科如下:DES現在已經不是一種安全的加密方法,主要因為它使用的56位密鑰過短。1999年1月,distributed.net與電子前哨基金會合作,在22小時15分鐘內即公開破解了一個DES密鑰。也有一些分析報告提出了該演算法的理論上的弱點,雖然在實際中難以應用。為了提供實用所需的安全性,可以使用DES的派生演算法3DES來進行加密,雖然3DES也存在理論上的攻擊方法。在2001年,DES作為一個標準已經被高級加密標準(AES)所取代。另外,DES已經不再作為國家標準科技協會(前國家標準局)的一個標準。
截至2006年,針對AES唯一的成功攻擊是旁道攻擊。美國國家安全局審核了所有的參與競選AES的最終入圍者(包括Rijndael),認為他們均能夠滿足美國政府傳遞非機密文件的安全需要。2003年6月,美國政府宣布AES可以用於加密機密文件:
The design and strength of all key lengths of the AES algorithm (i.e., 128, 192 and 256) are sufficient to protect classified information up to the SECRET level. TOP SECRET information will require use of either the 192 or 256 key lengths. The implementation of AES in products intended to protect national security systems and/or information must be reviewed and certified by NSA prior to their acquisition and use.
[3]
(譯:AES加密演算法(使用128,192,和256比特密鑰的版本)的安全性,在設計結構及密鑰的長度上俱已到達保護機密信息的標準。最高機密信息的傳遞,則至少需要192或256比特的密鑰長度。用以傳遞國家安全信息的AES實現產品,必須先由國家安全局審核認證,方能被發放使用。)
這標誌著,由美國國家安全局NSA批准在最高機密信息上使用的加密系統首次可以被公開使用。許多大眾化產品只使用128位密鑰當作默認值;由於最高機密文件的加密系統必須保證數十年以上的安全性,故推測NSA可能認為128位太短,才以更長的密鑰長度為最高機密的加密保留了安全空間。
在密碼學的意義上,只要存在一個方法,比窮舉法還要更有效率,就能被視為一種「破解」。故一個針對AES 128位密鑰的攻擊若「只」需要2
120
計算複雜度(少於窮舉法 2
128
),128位密鑰的AES就算被破解了;即便該方法在目前還不實用。從應用的角度來看,這種程度的破解依然太不切實際。最著名的暴力攻擊法是distributed.net針對64位密鑰RC5所作的攻擊。(該攻擊在2002年完成。根據摩爾定律,到2005年12月,同樣的攻擊應該可以破解66比特密鑰的RC5。)
其他的爭議則著重於AES的數學結構。不像其他區塊加密系統,AES具有相當井然有序的代數結構。
[5]
雖然相關的代數攻擊尚未出現,但有許多學者認為,把安全性創建於未經透徹研究過的結構上是有風險的。Ferguson,Schroeppel 和 Whiting 因此寫道:「...我們很擔心 Rijndael [AES] 演算法應用在機密系統上的安全性。
2002年,Nicolas Courtois 和 Josef Pieprzyk發表名為XSL 攻擊的理論性攻擊,試圖展示AES一個潛在的弱點。但幾位密碼學專家發現該攻擊的數學分析有點問題,推測應是作者的計算有誤。因此,這種攻擊法是否對AES奏效,仍是未解之謎。就現階段而言,XSL攻擊AES的效果不十分顯著,故將之應用於實際情況的可能性並不高。
旁道攻擊[編輯]
旁道攻擊不攻擊密碼本身,而是攻擊那些基於不安全系統(會在不經意間泄漏信息)上的加密系統。
2005年4月,D.J. Bernstein公布了一種緩存時序攻擊法,他以此破解了一個裝載OpenSSL AES加密系統的客戶伺服器。為了設計使該伺服器公布所有的時序信息,攻擊演算法使用了2億多條篩選過的明碼。有人認為,對於需要多個跳躍的國際互聯網而言,這樣的攻擊方法並不實用。 Bruce Schneier稱此攻擊為「好的時序攻擊法」。
2005年10月,Eran Tromer和另外兩個研究員發表了一篇論文,展示了數種針對AES的緩存時序攻擊法。其中一種攻擊法只需要800個寫入動作,費時65毫秒,就能得到一把完整的AES密鑰。但攻擊者必須在運行加密的系統上擁有運行程序的許可權,方能以此法破解該密碼系統。
推薦閱讀: