820 likes | 1.02k Views
A dvanced E ncryption S tandard. 指導老師 黃宗立教授 資訊工程 101 林昂鋒 資訊工程 101 吳宗育. 大綱. What AES? 何謂 AES? Why AES? 為何需要 AES? How AES? AES 如何運作 ? Do AES? AES 安全嗎 ?. What AES ?. 何謂 AES ?. 高級加密標準 ( Advanced Encryption Standard , AES ) 又稱 Rijndael 加密法 是美國聯邦政府採用的一種區塊加密標準。. Why AES?.
E N D
Advanced Encryption Standard 指導老師 黃宗立教授 資訊工程101 林昂鋒 資訊工程101 吳宗育
大綱 • What AES? • 何謂AES? • Why AES? • 為何需要AES? • How AES? • AES如何運作? • Do AES? • AES安全嗎?
何謂AES? • 高級加密標準 (Advanced Encryption Standard,AES) • 又稱Rijndael加密法 • 是美國聯邦政府採用的一種區塊加密標準。
DES • 原有的Data Encryption Standard DES不夠安全嗎??
DES不夠安全-暴力破解 • DES的版本有 • 56位元組金鑰的DES • 目前平行式計算暴力破解顯示並不安全 • 112位元組金鑰兩把金鑰三重DES • 安全 • 168位元組金鑰三把金鑰三重DES • 安全
DES不夠安全- 差異破密 • 假設加密為一個XOR運算 • C1 = P1 K • C2 = P2 K • > C1 C2 = P1 K P2K=P1 P2 (C1與C2加密會等於P1與P2加密)
DES不夠安全- 線性破密 • DES使用16個S– Box • S – Box不是完全非線性 • 基於某些機率原理可破解
DES不夠安全- 弱金鑰 • 例如:輸入的金鑰為(64bits) • 造成明文及密文間差異過小, 容易被猜出
多重DES依然不夠安全 • 中間相遇攻擊
AES核心概念 • Add_Round_Key:Key Expansion • Sub_Bytes: Intra-byte(位元組內) • Shift_Rows : Byte-exchange(位元 組交換) • Mix_Columns : Inter-byte(位元組 之間轉換)
AES核心概念 • Add_Round_Key : 擴展 • Sub_Bytes: 取代 • Shift_Rows :排列 • Mix_Columns:混合
AES的狀態 • 狀態States:AES加密 過程每個階段的開頭 和結尾, 稱為狀態
AES金鑰選擇 • 現行AES使用128位元, 192位元或256位元 (本投影片討論AES-128) • 明文, 密文區塊大小為128位元 • 回合金鑰固定為128位元(何謂回合金鑰?)
AES明文狀態 • 明文轉換成狀態區塊 • 每個狀態為一個 4 * 4的矩陣 • 每個狀態為32位元(16進位) • 依序填入, 由上而下, 由左而右填入
AES加密第一步驟 • Pre- Round Transformation(預先回合轉換) • 將已輸入之金鑰32位元為一組, 切成四塊 • 依序放入矩陣中, 由上而下, 由左而右 • 與狀態明文做矩陣加法
預先轉換回合結束 進入第一回合
SubBytes • 利用兩個數字表示成為16進位 • 左邊數字代表列, 右邊的數字代表行 • 查表/GF(28) 找到獨立的轉換
AES制定GF(28) • f(x) = x8+x4+x3+x+1 • a * a’ ≡ 1 (mod (f(x)) ) • 求出 a’ • 排入b矩陣 • c = X * b • d = c + y • (重複SubBytes動作16次)
這個步驟提供了加密法非線性的變換能力。已知具有良好的非線性特性。這個步驟提供了加密法非線性的變換能力。已知具有良好的非線性特性。
Shift Rows • 由右向左位移 • 位移次數取決矩陣列數
Mix Column • 用於位元組之間擴散效果 • 新矩陣 = 常數矩陣 x 原始矩陣
每一回合Key都不一樣 Key expansion