7.3.2AES-192和AES-256的金钥扩展程序.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.3.2AES-192和AES-256的金钥扩展程序.ppt

範例 7.14 以下展示使用全部由位元 0 所組成的金鑰之加密效果。 7.6 AES 安全性分析 本節討論主題 安全性 實現性 簡單性與成本 7.6.1 安全性 AES 本來就是設計來取代 DES 的,所以 AES 幾乎已經測試過所有在 DES 上見過的攻擊。目前尚未發現其中有任何一種方法可以破壞 AES 的安全性。 7.6.1 安全性 (續) 暴力攻擊 單就金鑰長度來看,AES 裡面最少 128 位元的金鑰絕對比 DES 的 56 位元金鑰要安全得 多。 統計攻擊 已經有很多的測試都無法對AES所產生的密文進行統計攻擊。 差異攻擊與線性攻擊 AES 系統目前仍然沒有任何已知的差異攻擊或者線性攻擊存在。 7.6.2 實現性 AES 的設計非常具有彈性,可以在軟體、硬體和韌體上實作,並利用查表或是使用完整 定義的算術結構。 7.6.3 簡單性與成本 AES 設計所使用的演算法都非常簡單,可以很容易地在非常便宜的處理器和非常小的記憶體條件下實作。 7.3 金鑰擴展 AES 使用金鑰擴展(key-expansion)程序來建立每一回合中所使用的回合金鑰。假設 回合數為 Nr,則金鑰擴展程序將從一個長度為 128 位元的加密金鑰,產生 Nr + 1 個長度為128 位元的回合金鑰。 本節討論主題 AES-128 的金鑰擴展程序 AES-192 and AES-256 的金鑰擴展程序 金鑰擴展分析 表 7.3 每一回合的字組 圖 7.16 AES 的金鑰擴展程序 表 7.4 RCon 常數 回合金鑰 金鑰擴展程序在計算字組時,可以選擇使用查表或者在 GF(28) 體下計算最左邊位元組的值。計算方式如下所列(prime 為一不可分解多項式): P.195下 演算法 7.5 AES-128 金鑰擴展的虛擬程式碼 範例7.6 表 7.5 顯示使用 (24 75 A2 B3 34 75 56 88 31 E2 12 00 13 AA 54 87)16 這個金鑰所產生的 回合金鑰。 表 7.5 範例7.7 AES中每個回合金鑰都是由上一個回合金鑰算出來的。然而,因為計算中使用 SubWord 轉換程序,所以回合金鑰之間的關係是非線性的。加入回合常數的步驟也確保了每個回合金鑰都不會和上一個相同。 範例7.8 即使加密金鑰只差一個位元,所求出來的兩組回合金鑰的差異也很明顯。 表7.6 兩組回合金鑰比較 範例7.9 在第六章我們討論過 DES 系統中的弱金鑰,然而這個概念並不適用於 AES。假設加 密金鑰的位元全部為 0。以下列出加密過程中數個回合的字組: 範例7.9 (續) 預先回合和第一回合的字組都完全相同。在第二回合時,第一個字組和第三個相同,而第二 個字組和第四個相同。然而,從第二回合以後所有的字組就都完全不一樣了。 7.3.2 AES-192 和 AES-256 的金鑰擴展程序 AES-192 和 AES-256 這兩個版本的金鑰擴展程序和 AES-128 非常相近,不同的地方只有 以下幾點: 在 AES-192 中,一次產生六個字組而非四個。 使用加密金鑰產生前六個字組(w0 至 w5)。 當 i mod 6 ≠ 0 時,wi ← wi?1 + wi?6;否則,wi ← t + wi?6。 7.3.2 AES-192 和 AES-256 的金鑰擴展程序 (續) 在 AES-256 中,一次產生八個字組而非四個。 使用加密金鑰產生前八個字組(w0 至 w7)。 當 i mod 8 ≠ 0 時,wi ← wi?1 + wi?8;否則,wi ← t + wi?8。 當 i mod 4 = 0 且 i mod 8 ≠ 0 時,wi = SubWord (wi?1) + wi?8。 7.3.3 金鑰擴展分析 AES 的金鑰擴展機制設計有幾個特性可以抵抗破密分析。 7.4 加密法 現在我們來看看 AES 如何在加密和解密的過程中使用以上所介紹的四種轉換。在發布的標準文件中,加密演算法稱為加密法 (cipher),而解密演算法則稱為反向加密法(inverse cipher)。 本節討論主題 原始設計 替代型設計 圖 7.17 原始設計的加密法與反向加密法 演算法 AES-128 版本的程式碼如演算法 7.6 所示。 圖 7.18 SubBytes 與 ShiftRows 組合的可逆性 圖 7.19 MixColumns 與 AddRoundKey 組合的可逆性 圖 7.20 替代型設計的加密法與反向加密法 改變金鑰擴展演算法 若反

您可能关注的文档

文档评论(0)

shiyouguizi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档