前言
現代密碼學大致可分為幾個領域。其中,對稱金鑰密碼學是指通信雙方使用相同的金鑰進行加密和解密。直到1976年之前,這是唯一的公開加密方法。
在現代密碼學中,分組密碼和流密碼的研究和應用尤為重要。區塊加密法可以視為阿伯提多字元加密法的現代化版本,它使用一個明文區塊和金鑰,生成相同大小的密文區塊。由於訊息通常比單一區塊長,因此需要使用各種方法將連續的區塊進行鏈接。DES和AES是美國聯邦政府指定的區塊加密標準,其中AES逐漸取代了DES。儘管DES正逐步退出標準,但仍然被廣泛使用,例如在自動提款機、電子郵件和遠端存取等應用中,特別是其三重DES變形仍被認為是相對安全的。此外,還有許多其他區塊加密方法被發明並應用,其品質和用途各異,有些已被破解。
DES
數據加密標準(Data Encryption Standard,簡稱:DES)是一種對稱密鑰加密的區塊密碼演算法,在一些文獻中,DES作為一種算法被稱為DEA(Data Encryption Algorithm,數據加密算法),以便與其作為標準的名稱DES區分開來。
於1976年由美國聯邦政府的國家標準局確立為聯邦資料處理標準(FIPS),隨後在國際間廣泛普及。該算法基於使用56位元的對稱密鑰。由於包含一些機密設計元素、相對較短的密鑰長度,以及人們懷疑其中可能存在美國國家安全局(NSA)設置的後門,DES在推出初期引發了爭議。因此,DES受到了學術界的嚴密審查,這也推動了現代區塊密碼及其密碼分析技術的發展。
DES不安全
然而,DES如今已被視為不安全的加密方法,主要原因在於其56位元密鑰長度過短。1999年1月,distributed.net與電子前哨基金會合作,在22小時15分鐘內公開破解了一個DES密鑰。此外,一些研究報告也揭示了該算法的理論弱點,儘管這些弱點在實際操作中難以利用。為了提供更高的安全性,可以使用DES的衍生算法3DES進行加密,儘管3DES同樣面臨理論上的攻擊風險。隨著時間推移,DES和3DES標準逐漸被高級加密標準(AES)所取代。值得注意的是,DES已不再是國家標準科技協會(前國家標準局)的標準。
DES破解方法例子
由於使用暴力破解法已經能夠成功破解DES,現今DES被認為是不安全的。到2008年,針對DES最有效的分析攻擊是線性密碼分析,這種方法需要243個已知的明文,並且具有239到243之間的時間複雜度;在選擇明文攻擊的情況下,所需的數據量可以減少至1/4。
AES
進階加密標準(Advanced Encryption Standard,簡稱AES)
該算法由比利時密碼學家Joan Daemen和Vincent Rijmen設計,並以兩位作者名字的組合「Rijndael」命名,提交參加了進階加密標準的甄選過程。
是美國聯邦政府採用的一種區塊加密標準。該標準旨在取代原先的DES,經過廣泛分析並在全球範圍內廣泛使用。經過為期五年的甄選過程,AES由美國國家標準與技術研究院(NIST)於2001年11月26日正式發布在FIPS PUB 197中,並於2002年5月26日正式生效。如今,AES已成為對稱密鑰加密中最流行的算法之一。
大多數AES的計算都是在一個特殊的有限域中進行的。AES加密過程操作的是一個4×4的位元組矩陣,這個矩陣也稱為「狀態(state)」,其初始值就是一個明文區塊(矩陣中的每個元素對應於明文區塊中的一個字節)。在Rijndael加密法中,由於支持更大的區塊,矩陣的行數可以根據需要增加。
在加密過程中,每一輪的AES加密迴圈(除了最後一輪外)包含以下四個步驟:
AES破解例子
關聯密碼攻擊可以破解9個加密迴圈並使用256位元密鑰的AES。此外,選擇明文攻擊能破解192位元或256位元密鑰的AES加密,最多可達8個加密迴圈;對於128位元密鑰的AES,則能破解7個加密迴圈。
參考資料