進階加密標準(AES),一種由美國國家標準技術研究所(NIST)批准的對稱加密區塊加密法,從1997年至2000年間的一次永續性選拔得到。比起他的前身資料加密標準(DES),這次選拔是完全公開和透明的。這個選拔比賽贏得了來自公開加密社區的讚譽,而且有助於增加對最終贏得選拔的演算法的安全性的信心,而不是像它的前身DES那樣被懷疑存在後門。
選出一個新的加密標準是非常必要的,這是因為DES使用的是56位的金鑰,相對來說太小,越來越容易受到暴力攻擊。此外,DES主要被設計用於硬件以及不這麼快的軟件實現上[1]。三重DES避免了加密金鑰過小的問題,但是非常緩慢,甚至使用專門的硬件依然如此,它不適用於資源有限的平台。而且它可能受到潛在的安全問題的影響,這個問題和它使用了(在今天看來相對較小的)64位元的塊大小有關。
選拔的開始
1997年1月2日,NIST宣佈,他們希望選擇一個被稱為AES的加密標準,作為DES的繼任者。與DES一樣,這是一種「不是機密的、加密演算法公開披露的,能夠在未來一個世紀內保護敏感的政府資訊的」加密標準[2]。然而,NIST並沒有簡單地宣佈繼任者是誰,而是要求有關各方就如何選擇繼任者提供方案。來自開放加密社區的興趣立即高漲,NIST在三個月的評論期期間就收到了大量的提交。
1997年9月12日,最終反饋的結果需要是一種新的演算法[3]。這種演算法應該都是塊密碼,支援128位元的塊大小,以及支援128、192和256位的金鑰長度。這種密碼在當時宣佈的時候是很少見的,當時最著名的這類演算法是Square。
第一和第二回合
在接下來的九個月,來自不同國家的十五種不同的設計出現並被提交。按字母順序排列,他們分別是:CAST-256、CRYPTON、DEAL、DFC、E2、FROG、HPC、LOKI97、MAGENTA、MARS、RC6、Rijndael、SAFER+、Serpent以及Twofish。
在隨後進行的辯論中,密碼學家們對這些候選演算法的優點和缺點進行了調查;他們的評估包括安全方面,也包含在各種各樣的情景下演算法的使用實現(個人電腦的各種架構、智能卡、硬件實現),以及其在有限資源的環境下的可行性(只有非常有限的主記憶體的智能卡、在低邏輯門數下的實現,FPGA)。
其中的一些設計方案在密碼分析中落選,原因是存在微小的缺陷甚至是存在致命的攻擊方式,而另一些則是因為在不同環境中不良的效能表現或者是比其他的候選演算法表現更差。NIST舉行了兩次會議討論這些提交的方案(1998年8月AES1,1999年3月AES2)。在1999年8月,他們宣佈[4],他們將候選名單從15個縮減至5個:MARS,RC6,Rijndael,Serpent,以及Twofish。這五個演算法,通常稱為「AES決賽演算法」(AES finalist)[5],都由著名的、在社區中被尊敬的密碼學家們所設計。 AES2會議投票如下:
在另一輪更加激烈的密碼分析之後,最終在2000年4月AES3會議上,五個演算法的代表團隊對關於為什麼他們各自的演算法應被選作AES的原因做了演講以及辯論。
最終獲勝者的選擇
2000年8月2日,NIST宣佈[6]擬將Rijndael作為建議的AES標準,並於2001年2月28日通過在聯邦公報上發佈公告作為FIPS草案徵求意見[7],以此推進將其作為官方標準的行程。2001年11月,NIST宣佈,AES被批准為FIPS PUB 197。
NIST由於開放包容的態度以及選拔過程之中的專注,贏得了來自密碼社區的讚譽。落選的Twofish演算法的作者之一布魯斯·施奈爾,在競選結束之後寫道,「除了對NIST和AES選拔的讚美,我沒什麼可以說的了。」[8]
參見
- NIST雜湊函數競賽
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.