1. Trang chủ
  2. » Công Nghệ Thông Tin

Mở rộng khóa AES Slide

62 667 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Slide 1

  • Các thành viên

  • Mục lục

  • Slide 4

  • Giới thiệu

  • AES và Rijndael

  • Cơ chế toán học

  • Cơ sở toán học

  • Cơ sở toán học

  • Cơ sở toán học

  • Cơ sở toán học

  • Biểu diễn dữ liệu

  • Sơ lược quá trình mã hóa/giải mã

  • Sơ lược quá trình sinh khóa

  • Sơ lược quá trình sinh khóa

  • Slide 16

  • Khởi tạo

  • Đưa vào mảng

  • Các vòng lặp

  • Các vòng lặp

  • Vòng lặp

  • Vòng lặp

  • Vòng lặp

  • Vòng lặp

  • Vòng lặp

  • Vòng lặp

  • Vòng lặp

  • Kết quả

  • Bảng S-box (Substitution box)

  • Bảng S-box (Substitution box)

  • Bảng S-box thuận (Forward S-box)

  • Bảng S-box (Substitution box)

  • Bảng S-box thuận (Forward S-box)

  • Bảng S-box thuận (Forward S-box)

  • Bảng S-box đảo (Inverse S-box)

  • Bảng S-box đảo (Inverse S-box)

  • Bảng Rcon (Round constant)

  • Bảng Rcon (Round constant)

  • Slide 39

  • Khác biệt trong quá trình sinh khóa

  • Khác biệt trong quá trình sinh khóa

  • Khác biệt trong quá trình sinh khóa

  • Khác biệt trong quá trình sinh khóa

  • Khác biệt trong quá trình sinh khóa

  • Khác biệt trong quá trình sinh khóa

  • Slide 46

  • RotWord (Rotate Word)

  • RotWord (Rotate Word)

  • RotWord (Rotate Word)

  • SubWord (Substitute Word)

  • Rcon (Round constant)

  • Rcon (Round constant)

  • Các công thức tính

  • SubWord bổ sung ở khóa 256 bit

  • SubWord bổ sung ở khóa 256 bit

  • Slide 56

  • Ưu điểm

  • Ưu điểm

  • Nhược điểm

  • Nhược điểm

  • Ứng dụng

  • Ứng dụng

Nội dung

Quy trình mở rộng khóa trong AESCách thức hoạt động của SboxCách thức sinh SboxVí dụ về mở rộng khóa trong AES...........................................................................................................................................

Bài thuyết trình: Q trình mở rộng khóa AES NHĨM Các thành viên • Nguyễn Thị Hằng ₋ B14DCAT192 • Phạm Mạnh Tuấn ₋ B14DCAT157 • Nguyễn Thị Huyền Trang ₋ B14DCAT271 • Nguyễn Thị Vân Anh ₋ B14DCAT252 • Bùi Đức Thắng ₋ B14DCAT238 Mục lục Nhắc lại AES Q trình sinh khóa Khác biệt q trình sinh khóa Mục đích phép tốn Đánh giá thuật toán AES Nhắc lại AES Giới thiệu • AES (viết tắt từ tiếng anh: Advanced Encryption Standard, hay Tiêu chuẩn mã hóa nâng cao) thuật tốn mã hóa khối phủ Hoa Kỳ áp dụng làm tiêu chuẩn mã hóa • Thuật tốn xây dựng dựa Rijndael Cipher phát triển nhà mật mã học người Bỉ: Joan Daemen Vincent Rijmen • AES làm việc với khối liệu 16 byte độ dài khóa 16/24/32 byte Các khóa mở rộng sử dụng chu trình tạo thủ AES Rijndael • Thuật tốn mã hóa Rijdael làm việc với liệu khối đầu vào có độ dài bội số 32 bit nằm khoảng 128 tới 256 bit (128, 160, 192, 224 256)  Tạo 25 tổ hợp biến thể • Trong 25 tổ hợp trên, có tổ hợp sử dụng khối liệu 128 bit ứng với khóa 128 bit, 192 bit 256 bit chuẩn hóa trở thành tiêu chuẩn mã hóa nâng cao AESAES biến thể Rijndael Cơ chế tốn học • Khác với thuật tốn mã hóa thơng dụng trước DES thực dựa mã hóa khối Feistel, chế mã hóa AES mạng thay hốn vị (SPN - Substitution-Permutation Network) • Việc kết hợp S-box P-box tạo hai tính chất quan trọng mã hóa là: • tính khuếch tán (có dựa vào sử dụng P-box kết hợp S-box) • tính gây lẫn (có dựa vào sử dụng S-box) Cơ sở tốn học • Phép cộng trường GF[28]: Cho: a(x) = a7x7 + a6x6 + a5x5 + a4x4 + a3x3 + a2x2 + a1x + b(x) = b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x +  c(x) = a(x) + b(x) = [(a7+b7)mod(2)]x7 + [(a6+b6)mod(2)]x6 + … + [(a1+b1)mod(2)]x + Cơ sở tốn học • Phép cộng trường GF[28]: = 3D(H) Ví dụ: tính 73 + 4E (H) (H) Dạng nhị phân Dạng đa thức Dạng hex 0111 0011 0100 1110 0011 1101 x6 + x5 + x4 + +x+1 x6 + + x3 + x2 + x x5 + x4 + x3 + x2 + + 73 4E 3D Cơ sở tốn học • Phép nhân trường GF[28]: Cho: a(x) = a7x7 + a6x6 + a5x5 + a4x4 + a3x3 + a2x2 + a1x + b(x) = b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x +  c(x) = a(x).b(x) mod(m(x)), với m(x) = x8 + x4 + x3 + x + RotWord (Rotate Word) 4d41544d 41484f43 4e414e47 43414f21 4d41544d 41484f43 4e414e47 43414f3f cfc5a957 8e8de614 c0cca853 838de772 cfc52157 8e8d6e14 c0cc2053 838d6f6c 9051e9bb 1edc0faf de10a7fc 5d9d408e 906d71bb 1ee01faf de2c3ffc 5da15090 khóa chính: 1771eaf4 1de5b250 4aecaa7a 43d10915 khóa chính: f0f074d 9dfd36e9 a6ae57dd Mã hóa có sử dụng 0a9458a4 RotWord với ca58f0f7 d484ff58 5709182a c3f515ac Mã hóa có sử dụng 66f231a4 RotWord với a63e11f7 b8de0e58 3b536134 M A T M A H O C N17cd97de A N G C5d213da4 A O ! 1d59cf7a 0a28258e b78ac831 M A T M A4c85cf7c H O C Nd178f995 A N G C77d6ae48 A O ? c07e8636 ca56a3b8 dd9b3466 80ba09c2 616e9ac4 2deb55b8 fc93ac2d 8b450265 747fa3f be290043 63b23425 e3083de7 4f19d7f9 62f28241 9e612e6c 15242c09 c45837ea 7a7137a9 19c3038c facb3e6b f968d6a0 9b9a54e1 05f7a8d 10df5684 c0ea48c7 ba9b7f6e a3587ce2 59934289 7cd9896a e743dd8b e2b8a706 f267f182 2ac6ef0c 905d9062 3305ec80 6a96ae09 cf789ae3 283b4768 ca83e06e 38e411ec RotWord (Rotate Word) 4d41544d 41484f43 4e414e47 43414f21 56c2d0b0 178a9ff3 59cbd1b4 1a8a9e95 f6bcdb9a e1364469 b8fd95dd a2770b48 khóa chính: 2ad0a171 bb52800d 88a7aa39 Mã hóa khơng sử dụng RotWord với c849f0c8 297f4a1 9182217c 33f52a34 03af15d0 M A T M Afd2318b3 H O C d7f3b9c2 ! 4d41544d 41484f43 4e414e47 43414f3f 56c2d038 178a9f7b 59cbd13c 1a8a9e03 f6bcdb43 e1364438 b8fd9504 a2770b07 khóa chính: 2ad0a142 bb5280f8 88a7aa45 Mã hóa khơng sử dụng RotWord với c849f086 297f4be 918221ba 33f52abd 03af15fc Từ vòng khóa thứ trở đi, N467198be A N G Cced63287 A O ! d7f3b992 M A T M Afd2318d0 H O C 24 bit0981285f đầu tất các8126827e từ 7c059aae c7571ad8 giống hệt bc2f2c32 3d09ae4c 7b7836a4đều 72f91ef N46719828 A N G Cced6326d A O ? c7571a56 0981283b 7b783664 72f91e5f 41bff0b1 3ac7c6d5 483ed88a b422bdfd f59d4d4c cf5a8b99 87645313 95615080 60fc1dcc afa69655 28c2c546 7c059ad5 81268266 3d09ae1a bc2f2c7c fd90dc15 41bff069 3ac7c6cd 483ed836 fd90dc83 b422bd10 f59d4d79 cf5a8bb4 87645382 95615003 60fc1d7a afa696ce 28c2c54c SubWord (Substitute Word) • Hàm SubWord thực việc thay byte phi tuyến tính, byte word đầu vào thay cách giá trị tương ứng bảng S-box • Bằng việc thay phi tuyến tính byte, phép tốn cho phép chống lại việc tính bit khác biết số bit khóa hay khóa vòng Rcon (Round constant) • Trước AES đời, phương pháp mã hóa sử dụng rộng rãi DES Tuy nhiên, DES tồn nhược điểm có khóa yếu (weak keys) sinh khóa vòng giống hệt • AES khắc phục điểm yếu nhờ vào việc sử dụng phép toán XOR với bảng Rcon, qua phá hủy đối xứng sinh q trình mở rộng khóa Rcon (Round constant) 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 62636363 62636363 62636363 62636363 63636363 63636363 63636363 63636363 f9ffaa f9ffaa Mã hóa có sử dụng 9b9898c9 Rcon với chuỗi 90973450 696ccffa f2f45733 0b0fac99 bit: ee06da7b 876a1581 759e42b2 7e91ee2b 0000000000000000000000000000 Từ vòngf8443e09 khóa thứ trở đi, 7f2e2b88 8dda7cbb f34b9290 0000000000000000000000000000 ec614b85 6ab49ba7 byte 1425758c từ bị99ff0937 lặp lại tạo 0000000000000000000000000000 0000000000000000000000000000 21751787 3550620b đối xứng acaf6b3c dễ bị dò.c61bf09b 0000000000000000 (128 bit) 511dfa9f 0ef90333 3ba96138 97060a04 98989898 9b9898c9 ! ffff 98989898 Mã hóa khơng sử dụng Rcon vớiffff 97979797 f4f4f4f4 0f0f0f0f chuỗi bit:6c6c6c6c e1e1e1e1 8d8d8d8d 79797979 76767676 0000000000000000000000000000 d9d9d9d9 54545454 2d2d2d2d 5b5b5b5b 0000000000000000000000000000 e0e0e0e0 b4b4b4b4 99999999 c2c2c2c2 0000000000000000000000000000 0000000000000000000000000000 c5c5c5c5 71717171 e8e8e8e8 2a2a2a2a 0000000000000000 (128bit) 93939393 20202020 51515151 b9b9b9b9 b1d4d8e2 8a7db9da 1d7bb3de 4c664941 fcfcfcfc adadadad 14141414 87878787 b4ef5bcb 3e92e211 23e951cf 6f8f188e ebebebeb 46464646 52525252 d5d5d5d5 Các cơng thức tính • Trong vòng lặp, từ wi khóa vòng tính tốn theo cơng thức sử dụng tham số truyền vào bao gồm từ wi-1 từ wi-k (k thay đổi tùy vào kích thước khóa, trỏ đến từ vị trí tương ứng khóa vòng trước) • Nhờ vào đó, khóa vòng sinh phải phụ thuộc vào khóa vòng trước Kết hợp với bước thay phi tuyến tính SubWord, việc sinh khóa có chất khơng thể tính ngược: biết khóa khơng thể tính lại khóa trước SubWord bổ sung khóa 256 bit • Với loại khóa 256 bit, độ dài khóa vòng gấp đơi độ dài khóa đưa vào vòng lặp mã hóa/giải mã nếu khơng sử dụng thêm phép biến đổi Subword, khóa vòng bị lặp lại nhiều lần • Thử nghiệm với khóa 256 bit chuỗi gồm bit 0: SubWord bổ sung khóa 256 bit 00000000 00000000 00000000 00000000 Mã hóa có00000000 sử dụng SubWord bổ00000000 00000000 sung với chuỗi bit: 62636363 62636363 62636363 62636363 aafff aafff aafff aafff 0000000000000000000000000000 6f6c6ccf 0d0f0fac 6f6c6ccf 0d0f0fac 0000000000000000000000000000 7d8d8d6a d7767691 7d8d8d6a d7767691 0000000000000000000000000000 5354edc1 5e5be26d 31378ea2 3c38810e 0000000000000000000000000000 Tạo cặp khóa 968a81c1 41fcf750 3c717a3avòng eb070cab 0000000000000000000000000000 9eaa8f28 c0f16d45 f1c6e3e7 cdfe62e9 (2,3) (4,5) (6,7) (8,9) giống 0000000000000000000000000000 2b312bdf 6acddc8f 56bca6b5 bdbbaa1e 6406fd52 a4f79017 553173f0 98cf1119 hệt 0000000000000000000000000000 6dbba90b 07767584 51cad331 ec71792f 0000000000000000000000000000 e7b0e89c 4347788b 16760b7b 8eb91a62 0000000000000000000000000000 74ed0ba1 739b7e25 2251ad14 ce20d43b 0000 (256 bit) 10f80a17 53bf729c 45c979e7 cb706385 00000000 ! 00000000 00000000 00000000 00000000 Mã hóa khơng sử dụng SubWord bổ 00000000 00000000 00000000 63636363 63636363bit: 63636363 63636363 sung với chuỗi 63636363 63636363 63636363 63636363 0000000000000000000000000000 9b9898c9 f9ffaa 9b9898c9 f9ffaa 0000000000000000000000000000 9b9898c9 f9ffaa 9b9898c9 f9ffaa 0000000000000000000000000000 90973450 696ccffa f2f45733 0b0fac99 0000000000000000000000000000 90973450 696ccffa f2f45733 0b0fac99 0000000000000000000000000000 ee06da7b 876a1581 759e42b2 7e91ee2b 0000000000000000000000000000 ee06da7b 876a1581 759e42b2 7e91ee2b 7f2e2b88 f8443e09 8dda7cbb f34b9290 0000000000000000000000000000 1d4d48eb 9a275d6a ef91fd8 9128f1f3 0000000000000000000000000000 6b8f2609 93cb1800 1e1164bb ed5af62b 0000000000000000000000000000 f017bec0 6a30e3aa 8589fc72 14a10d81 0000 (256 bit) 19582af3 8a9332f3 94825648 79d8a063 00000000 Đánh giá thuật tốn AES Ưu điểm • AES cung cấp chế mở rộng khóa: khóa có chiều dài 128, 192, 256 bit ứng với 10, 12, 14 vòng  mềm dẻo linh hoạt, khơng đảm bảo yếu tố an tồn mà đảm tốc độ mã hóa giải mã (Đây coi yếu tố then chốt cho việc lựa chọn mở rộng khóa) • Tốc độ mã hóa giải mã nhanh • AES thuộc loại mã hóa khối, kết hợp chế độ mã hóa ECB, CBC, CFB, OFB để tăng tính bảo mật • Dễ dàng tích hợp phần cứng  Được ứng dụng rộng rãi thực tế Ưu điểm • Nhờ vào trình sinh khóa, AES có thể: • Xử lý nhanh hiệu nhờ thuật tốn đơn giản • Chống lại know-plaintext attack (tấn cơng biết thơng điệp) • Chống lại brute-force attack nhờ kích thước khóa lớn (chỉ khóa 128 bit lớn gấp đơi DES) • Chống lại statistical attack (tấn công thống kê): ký tự sau mã hóa gần khơng thể tìm trùng lặp • Chống lại differential-linear attack (tấn cơng khác biệt tuyến tính): chưa có tun bố thành cơng với loại cơng • Dạng cơng thành công side channel attack (tấn công kênh bên), lợi dụng sơ hở làm lộ liệu hệ thống thực thuật tốn Nhược điểm • Cũng giống giải thuật mã hóa DES, giải thuật mã hóa AES từ lúc đời có nhiều ý kiến trái chiều mức độ an toàn giải thuật Rijndael Serpent Twofish MARS RC6 Độ an toàn tổng thể 3 Độ khó thực 3 1 Hiệu suất phần mềm 1 2 Hiệu suất thẻ thông minh 3 1 Hiệu suất phần cứng 3 2 Những tính thiết kế Tổng 16 14 13 10 Chấm điểm thuật toán dự thi tuyển chọn AES Nhược điểm • Năm 2006 nhà mật mã cơng vòng với khóa 128 bit; vòng với khóa 192 bit vòng với khóa 256 bit • 03-08-2009, năm nhà mật mã học Alex Biryukov, Orr Dunkelman, Nathan Keller, Dmitry Khovratovich và Adi Shamir tìm cách cơng nhằm vào AES-256 cách sử dụng khóa liên quan đến sử dụng thuật tóan brute-force, sau chạy 239 phép thử cơng đến vòng thứ 9, 245 phép thử cơng đến vòng thứ 10, 270 phép thử cơng đến vòng thứ 11 Nhưng chưa cơng đến vòng thứ 14 AES-256 • 11-2009, vòng thứ AES-128 bị công bới cách công known-key distinguishing attack (là hình cơng chống lại mã hóa khóa đối xứng, mà người cơng biết trước khóa từ khóa để tìm cấu trúc mã hóa cho Ứng dụng • Thuật tốn AES cung cấp nhiều thư viện: C/ASM, C++, C#/.NET, Java, Python, Javascript, LabVIEW • Ứng dụng: • • • • • Lưu trữ nén: RAR, WinZip, UltraISO Mã hóa File: Gpg4win, Ncrypt Mã hóa hệ thống File: NTFS Mã hóa đĩa, phân vùng: BitLocker, CipherShed, DiskCryptor, FileVault An ninh truyền thông mạng nội bộ: IEEE 802.11i, ITU-T G.hn Ứng dụng • Tích hợp vào phần cứng: • Tháng 3, 2008 AES tích hợp vào tiện ích mở rộng kiến trúc x86 (x86 instruction set architecture) cho vi xử lý hãng Intel AMD • AES tích hợp vào vi xử lý lõi SPARC S3 (do Sun Microsystems phát triển) sử dụng hệ thống SPARC T4 SPARC T5 ... trình sinh khóa • Q trình sinh khóa (KeyExpandsions) thao tác tạo lược đồ khóa hay mở rộng khóa, tạo Nr+1 khóa vòng từ khóa K, khóa vòng gồm Nb từ 32 bit (Nb = 4) • Các phép biến đổi để tạo khóa vòng... học người Bỉ: Joan Daemen Vincent Rijmen • AES làm việc với khối liệu 16 byte độ dài khóa 16/24/32 byte Các khóa mở rộng sử dụng chu trình tạo thủ AES Rijndael • Thuật tốn mã hóa Rijdael làm... Đức Thắng ₋ B14DCAT238 Mục lục Nhắc lại AES Q trình sinh khóa Khác biệt q trình sinh khóa Mục đích phép tốn Đánh giá thuật tốn AES Nhắc lại AES Giới thiệu • AES (viết tắt từ tiếng anh: Advanced

Ngày đăng: 19/12/2017, 11:32

TỪ KHÓA LIÊN QUAN

w