Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
369,5 KB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC KINH TẾ - - HỌC PHẦN: AN TOÀN VÀ BẢO MẬT THƠNG TIN GVHD: Nguyễn Tấn Khơi SVTH: Lê Thị Hồng Lớp: 43K22 Mã sinh viên: 171121522117 Đà Nẵng, ngày 25 tháng 11 năm 2019 MỤC LỤC Contents Contents 1.Bài – Mã hóa đối xứng cổ điển .3 1.1.Thực mã hóa cộng với K=18 .3 1.2.Mã hóa affine với khóa k1= 7, k2 = 11 .3 1.3.Mã hóa Vigenère với khóa K = attack 1.4.Mã hóa Hill Cipher với khóa K tự chọn 1.5.Mã hóa Playfair với khóa k tự chọn .5 1.6.Mã hóa Autokey với K = 18 2.Bài – Mã hóa đối xứng đại 2.1 Mã hóa thuật toán AES 2.2.Mã hóa thuật tốn RC6 .9 3.Bài – Hàm băm .9 3.1.Tính giá trị MD5 3.2.Tính giá trị SHA-1 .12 4.Bài – Mã hóa bất đối xứng 17 4.1.Mã hóa RSA với p = 7, q = 11 17 4.2.Mã hóa ElGamal với p = 31, a = 11, x = k = 22 17 BÀI TẬP MÃ HĨA & BẢO MẬT THƠNG TIN Bài – Mã hóa đối xứng cổ điển Cho văn gốc P = LE THI HONG 1.1 Thực mã hóa cộng với K=18 - Bước 1: Chuyển tất chữ sang giá trị nguyên tương ứng P L E T H I H O N G 11 19 14 13 -Bước 2: Thực cộng giá trị nguyên với 18 chia cho 26 lấy phần dư, ghi vào bảng A 11 19 14 13 B 18 18 18 18 18 18 18 18 18 A+B 29 22 37 25 26 25 32 31 24 (A+B) mod 22 11 25 25 24 26 - Bước 3: Chuyển tất giá trị nguyên lại chữ 22 11 25 25 D W L Z A Z G F 24 Y - Tổng hợp lại ta có bảng sau: P L 11 18 D K C E 18 22 W T 19 18 11 L H 18 25 Z I 18 A H 18 25 Z O 14 18 G N 13 18 F G 18 24 Y 1.2 Mã hóa affine với khóa k1= 7, k2 = 11 - Bước 1: Chuyển tất chữ sang giá trị nguyên tương ứng P L 11 E T 19 H I H O 14 N 13 G -Bước 2: Thực nhân giá trị với đem kết cộng với 11, kết sau đem chia cho 26 lấy phần dư ghi vào bảng A K1 K2 A*K1 A*K1 + K2 (A*K1 + K2) mod 26 11 11 77 11 28 19 11 133 7 11 49 11 56 7 11 49 14 11 98 13 11 91 11 42 88 39 144 60 67 60 109 102 53 10 13 14 15 24 - Bước 3: Chuyển tất giá trị nguyên lại chữ 10 13 14 K N O - Tổng hợp lại ta có bảng sau: P K1 K2 C L 11 11 10 K E 11 13 N T 19 11 14 O I 15 P I F 24 Y H 7 11 I I 11 15 P H 7 11 I O 14 11 F N 13 11 24 Y 1.3 Mã hóa Vigenère với khóa K = attack P K C L E T H I H O N G a L t X t M a H c K k R a O t G t Z 1.4 Mã hóa Hill Cipher với khóa K tự chọn Thực tính tốn B G 11 B P = LETHIHONG => C = XQAHXTEK 1.5 Mã hóa Playfair với khóa k tự chọn Bước 1: Tách văn thành cặp ký tự P = LETHIHONG=> P = LE TH IH ON GQ Bước 2: Tạo bảng mã hóa: P L A Y F A I R B C D E G H J K L M N O P Q S T U Bước 3: Áp dụng quy tắc mã hóa Playfair cho cặp - LE -> IL P L A Y F A I R B C D E G H J K L M N O P Q R S T P L A Y F A I R B C D E G H J K L M N O P Q R S T P L A Y F A I R B C D E G H J K L M N O P Q S T U P L A Y F A I R B C D E G H J K L M N O P Q R S T P L A Y F A I R B C D E G H J K L M N O P Q R S T - TH -> SJ - IH -> BE - ON -> HJ - GQ-> ER 1.6 Mã hóa Autokey với K = 18 Chọn từ khóa: Khoa Thực hoeenj ghép từ khóa văn : Khoalethi L P K C k V E h T o H a I l H e O t N h G i L H H T L H U O Bài – Mã hóa đối xứng đại Cho văn gốc P = LETHIHONG 2.1 Mã hóa thuật tốn AES Plantext (input) Key (input) Ciphertext (output) 48 4F 4B 49 D2 F6 0C F3 89 C9 A2 2A 4D 54 41 4D 6E 7C CE BB 49 BB 0B 3B 00 00 00 00 8E AC EA F3 67 7F AD 6D 00 00 00 00 F8 6C 8B AD 1F 6F D8 FE Chi tiết bước mã hóa AES: SubBytes ShiftRows MixColumns AddRoundKey 9A B9 47 BA D2 F6 0C F3 23 28 8F F6 6E 7C CE BB 8E AC EA F3 8E AC EA F3 F8 6C 8B AD F8 6C 8B AD 35 1C BA 17 05 39 CF C3 30 B8 56 A0 F4 B8 26 34 19 91 56 A0 F4 25 73 42 87 0D 34 73 42 26 87 0D 19 91 Key Schedule 75 D4 D7 E6 5F 2D B4 F9 8E 47 63 1F D1 6A 3D FC 20 AC 26 4B 7D 02 1B B7 5D AE 41 50 3D 95 95 41 50 3D 51 06 00 CA A4 9F 12 75 F5 99 12 BF 9C F4 F0 6B 9C F4 F0 6B F1 E6 2C 20 C8 10 19 25 39 F6 35 05 8D 99 19 A0 99 19 A0 8D 32 16 72 6D B5 8E 3B 4E 87 98 49 23 F7 B3 FF 77 FF 77 F7 B3 5C D8 D3 DB 4F 7C 2A 8C 13 A4 F9 57 49 DB C9 9D 9D 49 DB C9 F8 FB F1 0A 09 93 8B CF F1 68 7A C5 E8 CA D4 3F E8 CA D4 3F 8F D7 9A 37 94 3A 42 EA 1B ED D8 DD D5 19 E2 2F 19 E2 2F D5 64 B8 C1 83 B8 FC CC AD DC 44 0D 2E 84 10 E5 64 E5 64 84 10 A5 E3 97 8D 10 F2 7F 32 B5 11 E8 BF 01 DC 3D 8A 8A 01 DC 3D D0 C1 6F FE 4A 33 E7 B3 9A F2 88 4D 10 22 80 2C 87 6C CA 22 80 2C 87 B0 4B 89 D2 95 B0 23 D2 D6 C3 C9 B0 94 6D 98 38 5D 96 6F 41 96 4B 62 C6 FC C6 97 55 88 34 34 97 C7 A3 04 97 45 0C FE 30 33 F5 BC 4B 95 6C 23 CA 89 6D D6 C3 94 C9 B0 98 38 6F 41 5D 9B FC 4B 62 94 97 55 88 97 C7 A3 45 0C FE 12 FC E2 76 22 CF 17 CA 59 A5 9B 4B 8D 9A EC 68 45 CC 35 06 F8 D4 AB C7 55 56 90 9D B3 47 AF 10 DE 44 B6 44 85 DA A1 F6 7D 85 ED 97 28 31 71 30 5B A9 21 6C 5F 90 87 4D E6 92 AC 85 68 9E B0 22 92 DF 81 5E 0C 1E 8E 13 A0 DC 06 41 EE FE 78 6D 13 7C 57 EB B4 B7 2F 86 A7 CB 04 0B 5C E2 B9 94 53 6A 7C 97 5C 15 7C 05 F9 3E 44 9D 9F 0F 88 C5 A5 2B 38 98 4F 9E 58 86 58 86 4F 9E 82 31 E3 38 9B 69 55 70 19 58 B6 48 5B E9 8D A9 A9 5B E9 8D F6 6E 86 04 3A 24 6B 22 CC 4A ED 26 22 ED 02 10 22 ED 02 10 E6 3D C4 16 7F AB DA CD 99 96 1E DB 99 B2 1B 5E B2 1B 5E 99 D1 A8 B4 56 26 74 50 2A F7 DC E4 7C 14 F9 FC 51 FC 51 14 F9 DD CF 2E E1 33 79 2E A9 EE B6 00 48 80 36 7F 93 93 80 36 7F 15 7D 20 AE 7F 5D ED 45 6A 20 CD EB D2 62 57 BD D2 62 57 BD 4D 30 15 80 44 AF 94 DA 09 9F 81 5A F7 92 53 E5 92 53 E5 F7 D0 78 94 DC 75 01 09 3D A5 79 9D E1 C3 B6 31 D3 31 D3 C3 B6 90 E1 FB C2 97 50 4A 3B 07 B1 B1 F9 D2 4C 55 6E 6E D2 4C 55 12 99 47 37 C1 6A 79 E2 D3 F3 3E D5 1B 79 22 57 1B 79 22 57 FC 6B A7 F7 16 1E 53 59 EA 75 F4 AE 9D 7C 01 27 7C 01 27 9D 1A 3E ED 35 26 7B 35 0C 3C 45 D8 39 88 53 D6 E2 D6 E2 88 53 63 2F 08 AD 67 9A 0C 50 04 B5 04 FD 78 02 B6 98 98 78 02 B6 AC 98 CD 40 C1 06 6D 35 6D 9E A0 75 47 72 ED CB 47 72 ED CB 89 C9 A2 2A CE BB 4F E1 F7 21 96 FE 21 96 FE F7 49 BB 0B 3B 68 2D F5 CC 85 B8 FE 53 FE 53 85 B8 67 7F AD 6D 99 2C 28 D5 78 6F 3C 96 96 78 6F 3C 1F 6F D8 FE 89 17 B7 C2 Thuật tốn mã hóa AES Chọn khóa K=key Input: key S: State, ma trận 4x4 hexa Output: S* 1/ Add Roundkey (S) 2/ For i= 1…(N-1) vòng lặp Sub Byte (S) Shift Rows (S) Mix Columns (S) Add Round Key (S) End.For 3/ S* Sub Byte (S) Thay Sij giá trị bảng S_Box Thay Sif = 19 a=1, b=9 S_Box: D4 Shift Rows (S) Mix Columns (S): Columns (i) *C Add Round Key (S): Columns (i) + K Cho văn gốc P=LETHIHON mã hóa AES với K = ESOURCESERIT 2.2 Mã hóa thuật tốn RC6 Input: Plaintext lưu ghi w-bit A, B, C & D r số vịng khóa vịng w-bit S[0, , 2r + 3] Output: Ciphertext lưu A, B, C, D '''Hàm mã hóa''' B = B + S[0] D = D + S[1] for i = to r { t = (B*(2B + 1))