9. Quy trình Mã hóa theo kiến trúc Feistel … … L i = R i -1 R i = L i -1 f ( R i -1 , K i -1 ) Chu kỳ mã hóa i Chu kỳ mã hóa Nr Chu kỳ mã hóa 1 L i -1 R i -1 K i -1 L i R i f
10. Quy trình Giải mã theo kiến trúc Feistel … … R i -1 = L i L i-1 = R i f ( L i , K i ) Chu kỳ giải mã Nr Chu kỳ giải mã i Chu kỳ giải mã 1 L i R i K i L i -1 R i -1 f
11. Quy trình Mã hóa của giải thuật DES … … Plaintext (64-bit) Ciphertext (64-bit) IP: Initial Permutation FP: Final Permutation FP = IP -1 Ghi chú: FP và IP không có ý nghĩa về mặt mã hóa, chi có tác dụng để nạp dữ liệu vào và ra các khối dữ liệu (theo cơ chế phần cứng giữa thập niên 1970!!!) Chu kỳ mã hóa 1 Chu kỳ mã hóa i Chu kỳ mã hóa 16 Initial Permutation Final Permutation ( R 16 , L 16 )
12. Initial Permutation Ví dụ: Bit thứ 58 của x trở thành bit đầu tiên của IP( x ) Bit thứ 50 của x trở thành bit thứ hai của IP( x ) 7 15 23 31 39 47 55 63 5 13 21 29 37 45 53 61 3 11 19 27 35 43 51 59 1 9 17 25 33 41 49 57 8 16 24 32 40 48 56 64 6 14 22 30 38 46 54 62 4 12 20 28 36 44 52 60 2 10 18 26 34 42 50 58 IP
13. Final Permutation Ví dụ: Bit thứ 58 của x trở thành bit đầu tiên của IP( x ) Bit thứ 50 của x trở thành bit thứ hai của IP( x ) 25 57 17 49 9 41 1 33 26 58 18 50 10 42 2 34 27 59 19 51 11 43 3 35 28 60 20 52 12 44 4 36 29 61 21 53 13 45 5 37 30 62 22 54 14 46 6 38 31 63 23 55 15 47 7 39 32 64 24 56 16 48 8 40 IP
32. Biểu diễn khối dữ liệu và mã khóa Nb=4 Nb=6 Nb=8 S 21 S 00 S 01 S 02 S 03 S 10 S 11 S 12 S 13 S 20 S 22 S 23 S 30 S 31 S 32 S 33 S 04 S 05 S 14 S 15 S 24 S 25 S 34 S 35 S 06 S 07 S 16 S 17 S 26 S 27 S 36 S 37
33. Chu kỳ mã hóa bình thường Chu kỳ i Chu kỳ Nr … … Chu kỳ 1 Mix Columns Add Round Key Sub Bytes Shift Rows Mix Columns Add Round Key Sub Bytes Shift Rows Chu kỳ Nr -1 Mix Columns Add Round Key Sub Bytes Shift Rows Mix Columns Add Round Key Sub Bytes Shift Rows Add Round Key Sub Bytes Shift Rows Mix Columns Add Round Key Sub Bytes Shift Rows
34. Chu kỳ mã hóa cuối Chu kỳ i Chu kỳ Nr … … Chu kỳ 1 Mix Columns Add Round Key Sub Bytes Shift Rows Mix Columns Add Round Key Sub Bytes Shift Rows Chu kỳ Nr -1 Mix Columns Add Round Key Sub Bytes Shift Rows Add Round Key Sub Bytes Shift Rows Add Round Key Sub Bytes Shift Rows Add Round Key Sub Bytes Shift Rows
45. Phép biến đổi AddRoundKey l = round * Nb AddRoundKey S 13 S 12 S 11 S 10 S 23 S 22 S 21 S 20 S 33 S 32 S 31 S 30 S 03 S 02 S 01 S 00 S' 13 S' 12 S' 11 S' 10 S' 23 S' 22 S' 21 S' 20 S' 33 S' 32 S' 31 S' 30 S' 03 S' 02 S' 01 S' 00 S 3 c S 2 c S 1 c S 0 c S’ 3 c S’ 2 c S’ 1 c S’ 0 c W l +3 W l +2 W l +1 W l W l + c
46.
47. Phép biến đổi MixColumns S 21 S 00 S 01 S 02 S 03 S 10 S 11 S 12 S 13 S 20 S 22 S 23 S 30 S 31 S 32 S 33 S i S' 00 S' 01 S' 02 S' 03 S' 10 S' 11 S' 12 S' 13 S' 20 S' 22 S' 23 S' 30 S' 31 S' 32 S' 33 S' 21 S ’ i MixColumns a ( x )
48.
49.
50.
51. Phát sinh mã khóa mỗi chu kỳ Bảng mã khóa mở rộng và cách xác định mã khóa của chu kỳ (Nb=6, Nk=4)
52.
53.
54. 16 bb 54 b0 0f 2d 99 41 68 42 e6 Bf 0d 89 a1 8c f df 28 55 ce e9 87 1e 9b 94 8e d9 69 11 98 f8 e1 e 9e 1d c1 86 b9 57 35 61 0e f6 03 48 66 B5 3e 70 d 8a 8b bd 4b 1f 74 dd e8 c6 b4 a6 1c 2e 25 78 ba c 08 ae 7a 65 ea f4 56 6c a9 4e d5 8d 6d 37 c8 e7 b 79 e4 95 91 62 ac d3 c2 5c 24 06 49 0a 3a 32 e0 a db 0b 5e de 14 b8 ee 46 88 90 2a 22 dc 4f 81 60 9 73 19 5d 64 3d 7e a7 c4 17 44 97 5f ec 13 0c cd 8 d2 f3 ff 10 21 da b6 bc f5 38 9d 92 8f 40 a3 51 7 a8 9f 3c 50 7f 02 f9 45 85 33 4d 43 fb aa ef d0 6 cf 58 4c 4a 39 be cb 6a 5b b1 fc 20 ed 00 d1 53 5 84 2f e3 29 b3 d6 3b 52 a0 5a 6e 1b 1a 2c 83 09 4 75 b2 27 eb e2 80 12 07 9a 05 96 18 c3 23 c7 04 3 15 31 d8 71 f1 e5 a5 34 cc f7 3f 36 26 93 fd b7 2 c0 72 a4 9c af a2 d4 ad f0 47 59 fa 7d c9 82 ca 1 76 ab d7 fe 2b 67 01 30 c5 6f 6b f2 7b 77 7c 63 0 x f e d c b a 9 8 7 6 5 4 3 2 1 0 y Sbox
55. 7d 0c 21 55 63 14 69 e1 26 d6 77 ba 7e 04 2b 17 f 61 99 53 83 3c bb eb c8 b0 f5 2a ae 4d 3b e0 a0 e ef 9c c9 93 9f 7a e5 2d 0d 4a b5 19 a9 7f 51 60 d 5f ec 80 27 59 10 12 b1 31 c7 07 88 33 a8 dd 1f c f4 5a cd 78 fe c0 db 9a 20 79 d2 c6 4b 3e 56 fc b 1b be 18 aa 0e 62 b7 6f 89 c5 29 1d 71 1a f1 47 a 6e df 75 1c e8 37 f9 e2 85 35 ad e7 22 74 ac 96 9 73 e6 b4 f0 ce cf f2 97 ea dc 67 4f 41 11 91 3a 8 6b 8a 13 01 03 bd af c1 02 0f 3f ca 8f 1e 2c d0 7 06 45 b3 b8 05 58 e4 f7 0a d3 bc 8c 00 ab d8 90 6 84 9d 8d a7 57 46 15 5e da b9 ed fd 50 48 70 6c 5 92 b6 65 5d cc 5c a4 d4 16 98 68 86 64 f6 f8 72 4 25 d1 8b 6d 49 a2 5b 76 b2 24 d9 28 66 a1 2e 08 3 4e c3 fa 42 0b 95 4c ee 3d 23 c2 a6 32 94 7b 54 2 cb e9 de c4 44 43 8e 34 87 ff 2f 9b 82 39 e3 7c 1 fb d7 f3 81 9e a3 40 bf 38 a5 36 30 d5 6a 09 52 0 x f e d c b a 9 8 7 6 5 4 3 2 1 0 y Sbox -1