iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
Security

Information Security and Cyber Security系列 第 13

Day 13 - 密碼學-現代密碼學

  • 分享至 

  • xImage
  •  

前言
現代密碼學大致可分為幾個領域。其中,對稱金鑰密碼學是指通信雙方使用相同的金鑰進行加密和解密。直到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加密迴圈(除了最後一輪外)包含以下四個步驟:

  1. AddRoundKey:矩陣中的每個字節與本輪的回合密鑰(round key)進行XOR運算;這些子密鑰由密鑰生成方案產生。
  2. SubBytes:通過一個非線性替換函數,使用查找表將每個字節替換為對應的字節。
  3. ShiftRows:將矩陣中的每一行進行循環移位。
  4. MixColumns:此步驟對矩陣中的每一列進行操作,以充分混合各列中的字節,通過線性轉換來混合每列中的四個字節。在最後一輪加密迴圈中,省略MixColumns步驟,並以另一個AddRoundKey步驟取代。

AES破解例子
關聯密碼攻擊可以破解9個加密迴圈並使用256位元密鑰的AES。此外,選擇明文攻擊能破解192位元或256位元密鑰的AES加密,最多可達8個加密迴圈;對於128位元密鑰的AES,則能破解7個加密迴圈。

參考資料

  1. 密碼學wiki:https://zh.wikipedia.org/zh-hant/密码学
  2. DES wiki:https://zh.wikipedia.org/zh-hant/資料加密標準
  3. AES wiki:https://zh.wikipedia.org/zh-hant/高级加密标准
  4. ChatGPT:https://openai.com/chatgpt/

上一篇
Day 12 - 密碼學-古典密碼學
下一篇
Day14 - 談談駭客
系列文
Information Security and Cyber Security29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言