close
密碼學中的高級加密標準(Advanced Encryption Standard,AES),又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標準。這個標準用來替代原先的DES,已經廣為全世界所使用。經過五年的甄選流程,高級加密標準由美國國家標準與技術研究院 (NIST)於2001年11月26日發佈於FIPS PUB 197,並在2002年5月26日成為有效的標準。2006年,高級加密標準已然成為對稱密鑰加密中最流行的演算法之一,該演算法為比利時密碼學家Joan Daemen和Vincent Rijmen所設計,結合兩位作者的名字,以Rijdael之命名之。
 
AES在軟體及硬體上都能快速地加解密,相對來說較易於實作,且只需要很少的記憶體。 作為一個新的加密標準,目前正被部署應用到更廣大的範圍。嚴格地說,AES和Rijndael加密法並不完全一樣(雖然在實際應用中二者可以互換),因為Rijndael加密法可以支援更大範圍的區塊和密鑰長度:AES的區塊長度固定為128 位元,密鑰長度則可以是128,192或256位元;而Rijndael使用的密鑰和區塊長度可以是32位元的整數倍,以128位元為下限,256位元為上限。加密過程中使用的密鑰是由Rijndael密鑰生成方案產生。截至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位元密鑰版本有10個加密迴圈,192 位元密鑰版本有12個加密迴圈,256位元密鑰版本則有14個加密迴圈。至2006年為止,最著名的攻擊是針對AES 7次加密迴圈的128位元密鑰版本,8次加密迴圈的192位元密鑰版本,和9次加密迴圈的256位元密鑰版本所作的攻擊。
 
由於已遭破解的弱版的AES,其加密迴圈數和原本的加密迴圈數相差無幾,有些密碼學家開始擔心AES的安全性:要是有人能將該著名的攻擊加以改進,這個區塊加密系統就會被破解。在密碼學的意義上,只要存在一個方法,比暴力搜尋密鑰還要更有效率,就能被視為一種「破解」。故一個針對AES 128位元密鑰的攻擊若「只」需要2120計算複雜度(少於暴力搜尋法 2128),128位元密鑰的AES就算被破解了;即便該方法在目前還不實用。從應用的角度來看,這種程度的破解依然太不切實際。最著名的暴力攻擊法是distributed.net針對64位元密鑰RC5所作的攻擊。(該攻擊在2002年完成。根據摩爾定律,到2005年12月,同樣的攻擊應該可以破解66位元密鑰的RC5。)
 
其他的爭議則著重於AES的數學結構。不像其他區塊加密系統,AES具有相當井然有序的代數結構。雖然相關的代數攻擊尚未出現,但有許多學者認為,把安全性建立於未經透徹研究過的結構上是有風險的。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月,Adi Shamir和另外兩個研究員發表了一篇論文,展示了數種針對AES的緩存時序攻擊法(PDF)。其中一種攻擊法只需要800個寫入動作,費時65毫秒,就能得到一把完整的AES密鑰。但攻擊者必須在執行加密的系統上擁有執行程式的權限,方能以此法破解該密碼系統。
 
文章轉載至 維基百科
arrow
arrow
    全站熱搜

    ALVIN 發表在 痞客邦 留言(0) 人氣()