1. Trang chủ
  2. » Giáo án - Bài giảng

BT mat ma hoc 2021 DHBK DHDN

23 52 0

Đ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

  • 2. Bài 1 – Mã hóa đối xứng cổ điển

    • 2.1. Thực hiện mã hóa cộng với K=18

    • 2.2. Mã hóa affine với khóa k1= 7,  k2 = 11

    • 2.3. Mã hóa Vigenère với khóa K = attack

    • 2.4. Mã hóa Hill Cipher với khóa K tự chọn

    • 2.5. Mã hóa Playfair với khóa k tự chọn.

    • 2.6. Mã hóa Autokey với K = 18.

  • 3. Bài 2 – Mã hóa đối xứng hiện đại

    • 3.1. Mã hóa bằng thuật toán AES

    • 3.2. Mã hóa bằng thuật toán RC6

  • 4. Bài 3 – Hàm băm

    • 4.1. Tính giá trị MD5

    • 4.2. Tính giá trị SHA-1

  • 5. Bài 4 – Mã hóa bất đối xứng

    • 5.1. Mã hóa RSA với  p = 7, q = 11

    • 5.2. Mã hóa ElGamal với  p = 31, a = 11, x = 6 và k = 22.

  • 6. Bài 5: Mã hóa Elliptic

    • Các ký hiệu

Nội dung

Bài 4. Cho văn bản gốc P = . Thực hiện mã hoá và giải mã từng ký tự trong P theo : • Mã hóa RSA với (p = 7, q = 11) hoặc (p = 11, q = 17). Sử dụng lược đồ chữ ký RSA để ký lên văn bản P. • Mã hóa ElGamal với p = 31, e1 = 11 và giá trị r tự chọn. Sử dụng lược đồ chữ ký ElGamal để ký lên văn bản P. • Mã hóa Rabin với (p = 7, q = 11). Sử dụng lược đồ chữ ký Rabin để ký lên văn bản P. Bài 5. Mã hóa Elliptic: Cho E23(1, 0) a) Tìm tất cả các điểm P của đường cong. b) Chọn một điểm P. Tính các điểm 2P, 3P, 4P, 5P, … c) Chọn một cặp điểm P, Q khác nhau: Tính R = P + Q. b) Cho văn bản gốc M = với một số ngẫu nhiên k = 3. Hãy xác định bản mã hóa C tương ứng.

BÀI TẬP MƠN HỌC AN TỒN VÀ BẢO MẬT THƠNG TIN Sinh viên Mã số Lớp : Nguyễn Tuấn Quang Sang : 102170186 : 17T3 Đà Nẵng 2021 MỤC LỤC Bài – Mã hóa đối xứng cổ điển 1.1 Thực mã hóa cộng với K=18 .4 1.2 Mã hóa affine với khóa k1= 7, k2 = 11 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 1.6 Mã hóa Autokey với K = 18 .9 Bài – Mã hóa đối xứng đại 2.1 Mã hóa thuật tốn AES 2.2 Mã hóa thuật toán RC6 10 Bài – Hàm băm 12 3.1 Tính giá trị MD5 .12 3.2 Tính giá trị SHA-1 13 Bài – Mã hóa bất đối xứng 15 4.1 Mã hóa RSA với p = 7, q = 11 15 4.2 Mã hóa ElGamal với p = 31, a = 11, x = k = 22 .15 Bài 5: Mã hóa Elliptic 18 Các ký hiệu 20 BÀI TẬP MÃ HĨA & BẢO MẬT THƠNG TIN Bài Cho văn gốc P = Giải thích bước thực mã hóa P giải mã trường số nguyên Z26 sử dụng thuật toán mã hóa sau : a) Mã hóa cộng với khóa K = 18 b) Mã hóa affine với khóa k1= 7, k2 = 11 c) Mã hóa AutoCipher với K = 18 d) Mã hóa Vigenère với khóa K = attack e) Mã hóa Hill Cipher với khóa K tự chọn f) Mã hóa Playfair với khóa K tự chọn Bài Cho văn gốc P = Thực mã hố P theo :  Mã hóa AES với khóa K tự chọn Giải thích bước thực  Mã hóa RC6 với khóa K tự chọn Giải thích bước thực Bài Cho văn gốc P = Giải thích bước thực hiện:  Tính giá trị hàm băm MD5  Tính giá trị hàm băm SHA-1 Bài Cho văn gốc P = Thực mã hoá giải mã ký tự P theo :  Mã hóa RSA với (p = 7, q = 11) (p = 11, q = 17) Sử dụng lược đồ chữ ký RSA để ký lên văn P  Mã hóa ElGamal với p = 31, e1 = 11 giá trị r tự chọn Sử dụng lược đồ chữ ký ElGamal để ký lên văn P  Mã hóa Rabin với (p = 7, q = 11) Sử dụng lược đồ chữ ký Rabin để ký lên văn P Bài Mã hóa Elliptic: Cho E23(1, 0) a) Tìm tất điểm P đường cong b) Chọn điểm P Tính điểm 2P, 3P, 4P, 5P, … c) Chọn cặp điểm P, Q khác nhau: Tính R = P + Q b) Cho văn gốc M = với số ngẫu nhiên k = Hãy xác định mã hóa C tương ứng c) Thực giải mã C để nhận văn gốc M ban đầu d) Sử dụng lược đồ chữ ký ECDSA để ký lên văn M Bài – Mã hóa đối xứng cổ điển Cho văn gốc P = nguyentuanquangsang 2.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 n 13 g u y 20 24 e n t u 19 20 a n q u a n g s a n -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 P n g u y e n t u a n q u a n g s a n 2 1 1 1 K 1 1 1 1 1 1 1 1 1 8 8 8 8 8 8 8 8 8 P+K 3 3 3 3 3 2 8 8 (P+K)mod2 1 11 1 1 1 6 2 8 g g 4 f - Bước 3: Chuyển tất giá trị nguyên lại chữ 24 12 16 22 11 12 18 12 18 y m q w f l m s f i m s f 24 y 10 k 18 s f 24 y n 13 - Tổng hợp lại ta có bảng sau: g u y e n t u 20 24 13 19 20 a n 13 q 16 u 20 a n 13 g s 18 a n 13 g 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 24 12 16 22 11 12 18 12 18 24 10 18 24 f y m q w f l m s f i m s f y k g s s f y 2.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 n 13 g u y 20 24 e n t u 19 20 a n q u a n a n 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 n 13 11 91 10 g 11 u 20 11 14 15 y 24 11 16 17 e 11 n 13 11 91 10 t 19 11 13 14 u 20 11 14 15 a 11 n 13 11 91 q 16 11 112 11 10 12 u 20 11 14 15 a 11 n 13 11 91 s 18 11 12 13 a 11 n 13 11 91 g 11 42 10 g 11 11 11 10 53 y - Bước 3: Chuyển tất giá trị nguyên lại chữ 24 21 23 y b v x n 24 14 21 11 24 19 21 11 24 11 y o v l y t v l y b h l n 13 q 16 u 20 a n 13 g s 18 a a c k 10 a t 19 a c 13 18 30 32 18 13 18 18 n s e a g t 5 z s c b 2.3 Mã hóa Vigenère với khóa K = attack n 13 a 13 13 n Tra cứu bảng mã hóa Vigenère ta có: g u y e n t u a 20 24 13 19 20 t 5 z t 19 a c k 10 a t 19 39 24 23 19 39 13 24 23 19 13 n y g x t n t 9 t n k 3 x g a 6 g 2.4 Mã hóa Hill Cipher với khóa K tự chọn Thực tính tốn P = nguyentuanquangsang -> C = zlqaeahaaaeaaaqmaalv 2.5 Mã hóa Playfair với khóa k tự chọn Quy tắc thay mã hóa Playfair:  Mã hóa cặp hai ký tự liên tiếp  Nếu hai ký tự giống thêm ký tự “X” vào  Nếu dư ký tự thêm ký tự “Q“vào cuối  Nếu hai ký tự nằm dịng thay hai ký tự tương ứng bên phải Ký tự cột cuối thay ký tự cột  Nếu hai ký tự nằm cột thay hai ký tự tương ứng bên Ký tự hàng thay ký tự hàng  Nếu hai ký tự nằm hai góc hình chữ nhật thay hai ký tự nằm hai góc cịn lại Các bước thực hiện: Bước 1: Tách văn thành cặp ký tự P = NG UY EN TU AN QU AN GS AN GQ Bước 2: Tạo bảng mã hóa: P L A Y F I R Y 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 - NG -> MH P L A Y F I R Y B C D E G H J K L M N O P Q S T U P L A Y F I R Y B C D E G H J K L M N O P Q S T U P L A Y F I R Y B C D E G H J K L M N O P Q S T U P L A Y F - UY -> SC - EN -> HL - TU -> UP I R Y B C D E G H J K L M N O P Q S T U P L A Y F I R Y B C D E G H J K L M N O P Q S T U P L A Y F I R Y B C D E G H J K L M N O P Q S T U P L A Y F I R Y B C D E G H J K L M N O P Q S T U P L A Y F I R Y B C D E G H J K L M N O -AN ->YM -QU ->SP -GS ->MA -GQ ->ES P Q S T U C = MH SC HL UP YM SP YM MA YM ES 2.6 Mã hóa Autokey với K = 18 - Bước 1: Chọn từ khóa: key - Bước 2: Thực ghép từ khóa vào văn để có khóa K (có độ dài với độ dài văn thuần): KHONGCOKEYDAUNHABAN - Bước 3: Thực mã hóa theo thuật tốn mã hóa Autokey với khóa K P K C N K X G H N U O Y Y N L E G K N C P T O H U K D A E E N Y L Q D T U A U A U U N N A G H N S A S A B B N A N G N T Bài – Mã hóa đối xứng đại Cho văn gốc P = quangsang 3.1 Mã hóa thuật toán AES Plantext (input) Key (input) Ciphertext (output) 71 75 61 6e 0f 47 0c af 7d 62 d9 8b 67 73 61 6e 15 d9 b7 7f 72 06 48 d9 67 00 00 00 71 e8 ad 67 24 3e a5 ee 00 00 00 00 c9 59 d6 98 9d 31 da 7b Chi tiết bước mã hóa AES: SubBytes ShiftRows MixColumns AddRoundKey Key Schedule 0f 47 0c af 7e 20 6b af 15 d9 b7 7f 60 aa b7 7f 71 e8 ad 67 10 89 ad 67 c9 59 d6 98 a7 37 d6 98 f3 b7 7f 79 f3 b7 7f 79 c1 4c c3 c8 dc 9b 97 38 ac ac ac ac d0 ac a9 d2 ac a9 d2 d0 52 36 1f c6 90 49 fe 81 ac ac ac ac ca a7 95 85 95 85 ca a7 a4 eb 97 fd 37 df 72 15 ac ac ac ac 5c 9a f6 46 46 5c 9a f6 bb 56 b6 0b b0 e9 3f a7 ac ac ac ac 91 91 91 91 a4 0e 20 8c 76 bf 6f d3 d2 49 de e6 a4 f6 b1 35 9 10 91 91 91 91 d2 f8 a0 25 fa 78 0c 49 c9 80 7e f 33 f8 72 b6 91 91 91 91 d9 9b dc 18 77 a6 3b 6b 6b b4 c6 d3 1c 12 fd b8 91 91 91 91 91 2b 08 a7 c5 27 0c e7 b7 5e 61 c6 72 79 6d 21 49 42 c8 96 49 42 c8 96 f8 68 73 9c c0 89 57 b1 38 e1 24 2d c3 41 40 4e 41 40 4e c3 ca 36 5d 77 af 2f 51 ae 65 19 0c d9 9c c9 54 6c 54 6c 9c c9 bc 1a 64 98 df 6b ad 7e 63 71 c9 e6 40 b6 3c fd fd 40 b6 3c 2f 6a e6 d3 39 67 06 c0 16 0d e0 13 07 f8 36 d8 07 f8 36 d8 c9 3b 1f 3e 2c a5 f2 43 e5 9e ed 7d 4d d4 fe 35 d4 fe 35 4d b5 d1 9d 5d 5c 73 22 8c e9 a2 bf d1 f a3 dd 8e dd 8e f a3 f5 c8 8c f0 65 0e a3 dd 90 c6 2f 2d 47 d7 e1 7d 7d 47 d7 e1 fa ed 21 44 f1 96 90 50 0b 7b b1 14 d9 0b 55 f d9 0b 55 f 08 fd a9 bb 58 fd 0f 4c 50 00 a6 f7 1e 3a 08 3e 3a 08 3e 1e 68 43 a8 cc 9d ee cc 40 f5 ad 64 8c 60 b4 15 d8 15 d8 60 b4 dc d5 c8 d1 36 38 9b 46 ea ed 53 97 2b 21 c8 fa fa 2b 21 c8 b0 9b e3 3b eb 7d ed bd 5b e6 0e 86 53 63 24 68 53 63 24 68 ab b2 ed 1f ab b2 ed 1f da 3e 6e d0 e6 95 43 64 95 43 64 e6 0a 5f f0 eb 0a 5f f0 eb cd 76 15 4e 87 55 ed 88 ed 88 87 55 cb 60 dc c2 cb 60 dc c2 87 14 33 6b 39 8e ab 44 44 39 8e ab 05 1c 88 46 71 8c 83 cf c7 a3 da a9 57 b2 9f 70 57 b2 9f 70 f6 2d 49 91 37 bb 38 f7 c1 96 71 66 bd 38 59 2f 38 59 2f bd aa 47 f2 53 14 3d d8 7d be 7a 2a 2e 17 fa c3 7f c3 7f 17 fa 9c 44 80 db 93 e7 08 a1 0f a3 88 7a c6 0a 57 d3 d3 c6 0a 57 bf 7c 96 79 48 f7 a5 4a f7 8b 33 33 78 90 a3 33 78 90 a3 33 82 bd 45 46 48 f3 cb 3c ca 4e 8e 7a ae da e5 31 da e5 31 ae 43 5c 66 a9 26 1b c3 be 65 47 a5 17 76 0a c4 da c4 da 76 0a 6f 62 39 d7 45 a2 aa 0b 2a c0 93 dc 68 3d c3 c3 c3 68 3d c3 0b 44 c3 6c 20 d7 72 38 2b 93 b1 54 74 2f 19 da 74 2f 19 da ef 23 00 0a fd 0e c5 f9 12 2d c5 f3 4d a0 06 f0 a0 06 f0 4d 70 43 0a 5d 0d 16 d5 6b 7d 55 df 36 e5 ba dc 86 dc 86 e5 ba 17 36 47 bb 42 e0 4a 41 55 d6 0d fa f1 dc c8 20 20 f1 dc c8 a0 08 9d 09 cb 1c 6e 56 6b 14 f3 5f c9 d8 a6 0d c9 d8 a6 0d 7d 62 d9 8b b4 ba 7f 86 f fc 9e 05 fc 9e 05 f 72 06 48 d9 8e 98 4d 26 fc f6 d7 2d d7 2d fc f6 24 3e a5 ee f3 13 59 18 7f fa 0d cf cf 7f fa 0d 9d 31 da 7b 52 4e 20 76 10 3.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))

Ngày đăng: 10/08/2021, 23:25

TỪ KHÓA LIÊN QUAN

w