Presentation is loading. Please wait.

Presentation is loading. Please wait.

© The McGraw-Hill Companies, Inc., 2007 新一代密碼系統 (Advanced Encryption Standard)

Similar presentations


Presentation on theme: "© The McGraw-Hill Companies, Inc., 2007 新一代密碼系統 (Advanced Encryption Standard)"— Presentation transcript:

1 © The McGraw-Hill Companies, Inc., 2007 新一代密碼系統 (Advanced Encryption Standard)

2 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 2 本章內容 6.1 前言 6.2 Rijndael 密碼系統 6.3 Rijndael 密碼系統的數學背景 6.4 回合金鑰的產生 6.5 Rijndael 的加密演算法 6.6 Rijndael 的解密演算法

3 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 3 6.1 前言 就目前科技而言,現有之 DES 密碼系統所使用 之金鑰長度過短 ( 僅 56 位元 ) ,其安全性已遭受 質疑,為提高其安全性,便有了 Triple-DES 的 構想。 隨著電腦技技的發展,可預見未來 Triple-DES 的加密演算法也勢必淘汰,有鑑於此,美國國 家標準技術局 (NIST) 於 1997 年 1 月 2 日開始著手 計劃公開徵求新一代加密標準 ( 簡稱 AES) 。

4 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 4 6.2 Rijndael 密碼系統 ◎ Rijndael  反覆運算的加密演算法  資料區塊及金鑰可獨立變動  128, 192, 256 bits State: 運算過程所產生的中間值,用一個以 byte 為單 位的長方型矩陣來表示( 4 列,行數為資料區塊除以 32bits ),成為一個 4*Nb 的矩陣,也就是把資料分 割成 Nb 個區塊。

5 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 5 Cipher Key: 加密金鑰,一個 4*Nk 的矩陣,也就 是把金鑰分割成 Nk 個子金鑰。 6.2 Rijndael 密碼系統 ◎ Rijndael Nk=6

6 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 6 6.3 Rijndael 密碼系統的數學背景 ◎ GF(2 8 ) 的定義 假設位元組 由組成,將 當作一個 7 次多項式的係數。 例如 : 表示成多項式為:

7 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 7 數學背景 ◎ 加法 兩個多項式的加法,即係數做 XOR 。 例如 : 表示成多項式為 :

8 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 8 數學背景(續) ◎ 乘法 多項式相乘之後的結果很容易造成溢位,在 Rijndael 中將其溢位再 modulo 一個固定的多項式 : 例如 :

9 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 9 6.4 回合金鑰的產生 在 Rijndael 的密碼系統中,不管加密或解 密都需要產生各回合所使用的回合金鑰 (Round Key) 或副金鑰 (Subkey) 。 回合金鑰的產生方式可分兩階段,第一 階段為金鑰的擴充,第二階段為回合金 鑰的選擇。

10 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 10 a 0, 0 a 0, 1 a 0, 2 a 0, 3 a 1, 0 a 1, 1 a 1, 2 a 1, 3 a 2, 0 a 2, 1 a 2, 2 a 2, 3 a 3, 0 a 3, 1 a 3, 2 a 3, 3 Nb = 4 k 0, 0 k 0, 1 k 0, 2 k 0, 3 k 0, 4 k 0, 5 k 1, 0 k 1, 1 k 1, 2 k 1, 3 k 1, 4 k 1, 5 k 2, 0 k 2, 1 k 2, 2 k 2, 3 k 2, 4 k 2, 5 k 3, 0 k 3, 1 k 3, 2 k 3, 3 k 3, 4 k 3, 5 Nk = 6 4 bytes 決定出回數 如下表 Nr: 回合數,由 Nb 及 Nk 決定出回數。 Rijndael 執行的回合數

11 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 11 Nr ( 回合數 ) ,由 Nb 及 Nk 所決定的,回合的變 動數如表 : NrNb = 4Nb = 6Nb = 8 Nk = 4101214 Nk = 612 14 Nk = 814 加密流程

12 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 12 ◎ Cipher key  Expanded key Expanded key 是一個線性的 4byte 矩陣,以 W[Nb*(Nr+1)] 表示,前 Nk 個字組包含了加密金鑰 (Cipher key) ,剩下的字組依不同的 Nk 值,會有不 同的處理如下 : 金鑰的擴充 Example: Nb=4, Nk=6, Nr=12  W[52]=W[0]~W[51]

13 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 13 Nk<=6 if (i % Nk =0) W[i-1] W[i-Nk] W[i] W[i-1] 向左旋轉 1byte SubByte W[i-4] W[i] W[i] 1 W[i] 2 W[i] 3 W[i] 4 0000 0010 0000 0100 … W[i] 1 W[i] 每次迴圈 乘以 x YesNo 金鑰的擴充(續) Nk=6, i=7, 8, …

14 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 14 Example 1 word = 4 byte = 32 bits = 8 個 16 進位 W[i-1]= (006A0000)  ( 向左旋轉 1byte)  (6A000000) (6A000000)  (SubByte)  (02636363) W[i-4] = (FA005C00)  (02636363)  (FA005C00) = (F8633F63) F8 = (1111 1000), RC[i] = (0000 0010) (1111 1000)  (0000 0010) = (1111 1010) =FA (F8633F63)  (FA633F63)

15 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 15

16 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 16 Nk>6 if (i % Nk =0) W[i-1] W[i-Nk] W[i] W[i-1] 向左旋轉 1byte SubByte W[i-4] W[i] W[i] 1 W[i] 2 W[i] 3 W[i] 4 0000 0010 0000 0100 … W[i] 1 W[i] if (i % Nk =4) Yes No W[i-1] SubByte W[i-4] W[i] Yes

17 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 17 ◎ Expanded key  Round key 子金鑰的選擇是由擴充金鑰中所依序給定的,即第 i 把 回合金鑰由 W[Nb*i] ~ W[Nb*(i+1)-1] W0W1W2W3W4W5W6W7W8W9 W10W11… Round Key 1: W[4]~W[7] Round Key 2: W[8]~W[11] Round Key 3: W[12]~W[15] … 選擇回合金鑰 Round Key 11: W[44]~W[47] Round Key 0: W[0]~W[3] Round Key 12: W[48]~W[51] Initial Round Standard Round Final Round

18 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 18 Plain Text Initial Round Add Round Key Standard Round Byte Sub Shift Row Mix Column Add Round Key Final Round Byte Sub Shift Row Add Round Key Cipher Text Nr-1 Rounds Cipher Key Expansion Expanded Key Selection Round Key 1 Round Key 2 … Round Key 3 Round Key Nr-1 Round Key Nr Round Key 0 6.5 Rijndael 的加密演算法

19 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 19 Standard Round Byte Sub Shift Row Mix Column Add Round Key Standard Round Byte Sub Shift Row Mix Column Add Round Key

20 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 20 ◎ Add Round Key(state,Round key) 將狀態值與子金鑰作互斥或運算 回合金鑰的加密函數 W[0]W[1]W[2]W[3] Ex State RK0

21 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 21 a 3, 5 a 3, 4 a 3, 3 a 3, 2 a 3, 1 a 3, 0 a 2, 5 a 2, 4 a 2, 3 a 2, 2 a 2, 1 a 2, 0 a 1, 5 a 1, 4 a 1, 3 a 1, 2 a 1, 1 a 1, 0 a 0, 5 a 0, 4 a 0, 3 a 0, 2 a 0, 1 a 0, 0 S-Box b 3, 5 b 3, 4 b 3, 3 b 3, 2 b 3, 1 b 3, 0 b 2, 5 b 2, 4 b 2, 3 b 2, 2 b 2, 1 b 2, 0 b 1, 5 b 1, 4 b 1, 3 b 1, 2 b 1, 1 b 1, 0 b 0, 5 b 0, 4 b 0, 3 b 0, 2 b 0, 1 b 0, 0 位元取代轉換函數 Byte Sub

22 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 22 Byte Sub 位元組取代轉換 a 0, 0 b 0, 0 轉換矩陣 乘法反元素

23 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 23 Byte Sub 例子

24 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 24 Byte Sub 查表 a 0, 0 b 0, 0 查表

25 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 25 Byte Sub 反運算 a 0, 0 b 0, 0 反轉換矩陣乘法反元素

26 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 26 Byte Sub 反運算例子 的乘法反元素為

27 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 27 Byte Sub 反運算查表 a 0, 0 b 0, 0 查表

28 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 28 Byte Sub 查表 EX

29 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 29 每一個 State 的第一列不變,後三列被循環轉換 (cyclically shift) 不同的大小,且依 Nb 的大小也會有 所不同,如下 : Nb 第二列 C1 第三列 C2 第四列 C3 4123 6123 8134 移列轉換函數 ShiftRow

30 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 30 Shift Row 例子

31 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 31 移列轉換的反運算 對第二第三及第四列作 Nb-C1, Nb-C2, Nb-C3 個位元組的右循環即可。 Shift Row 反運算

32 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 32 MixColumn 混行轉換函數

33 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 33 MixColumn 混行轉換函數(續)

34 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 34 d(x) a 3, 5 a 3, 4 a 3, 3 a 3, 2 a 3, 1 a 3, 0 a 2, 5 a 2, 4 a 2, 3 a 2, 2 a 2, 1 a 2, 0 a 1, 5 a 1, 4 a 1, 3 a 1, 2 a 1, 1 a 1, 0 a 0, 5 a 0, 4 a 0, 3 a 0, 2 a 0, 1 a 0, 0 b 3, 5 b 3, 4 b 3, 3 b 3, 2 b 3, 1 b 3, 0 b 2, 5 b 2, 4 b 2, 3 b 2, 2 b 2, 1 b 2, 0 b 1, 5 b 1, 4 b 1, 3 b 1, 2 b 1, 1 b 1, 0 b 0, 5 b 0, 4 b 0, 3 b 0, 2 b 0, 1 b 0, 0 Mix Column 反運算

35 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 35 單位矩陣: Mix Column 反運算(續)

36 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 36 Final Round Byte Sub Shift Row Add Round Key Final Round Byte Sub Shift Row Add Round Key

37 新一代密碼系統 © The McGraw-Hill Companies, Inc., 2007 37 6.6 Rijndael 的解密演算法 Cipher Text Initial Round Add Round Key Inv Standard Round Inv Byte Sub Inv Shift Row Inv Mix Column Add Round Key Final Round Inv Byte Sub Inv Shift Row Add Round Key Plain Text Nr-1 Rounds Cipher Key Expansion Expanded Key Selection Round Key 1 Round Key 2 … Round Key 3 Round Key Nr-1 Round Key Nr Round Key 0


Download ppt "© The McGraw-Hill Companies, Inc., 2007 新一代密碼系統 (Advanced Encryption Standard)"

Similar presentations


Ads by Google