nguyên tố cùng nhau với m thường được ký hiệu là φ(m) (hàm này được gọi là hàm Euler). Một kết quả quan trọng trong lý thuyết số cho ta giá trị của φ(m) theo các thừa số trong phép phân tích theo luỹ thừa các số nguyên tố của m. (Một số nguyên p >1 là số nguyên tố nếu nó không có ước dương nào khác ngoài 1 và p. Mọi số nguyên m >1 có thể phân tích được thành tích của các luỹ thừa các số nguyên tố theo cách duy nhất.Thuật toán Euclide mở rộng:VÀO: Hai số nguyên không âm a và b với RA: và các số nguyên x và y thoả mãn .(1) Nếu thì đặt và (2) Đặt (3) While do3.1. 3.2. (4) Đặt và Câu 3. Định nghĩa đồng dư. Tính chất của đồng dư?
ĐỀ CƯƠNG MƠN BẢO MẬT THƠNG TIN Câu 1: Trình bày thành phần hệ mật mã, loại hệ mật mã, tiêu chuẩn đánh giá hệ mật mã ? * Các thành phần hệ mật mã Hệ mật mã 5(P,C,K,E,D) P: tập hữu hạn rõ Plantex hay gọi không gian rõ C: tập hữu hạn mã Crypto hay cịn gọi khơng gian mã K: tập hữu hạn khóa hay cịn gọi khơng gian khóa *Các loại hệ mật mã Có hai loại hệ mật mã: - Hệ mật mã đối xứng hay cịn gọi hệ mật mã khóa bí mật - Hệ mật mã bất đối xứng hay gọi hệ mật mã khóa cơng khai Hệ thống mật mã đối xứng (Hệ mật mã khóa bí mật - Symmetric Key Cryptosystem - SKC) Trong mơ hình hệ thống này, khóa hai thuật tốn sinh mã giải mã giống bí mật tất người khác; nói cách khác, hai bên gửi nhận tin chia sẻ chung khóa bí mật nhật Vai trị hai phía tham gia giống đánh đổi vai trò, gửi nhận tin, hệ thống gọi “mã hóa đối xứng” Hệ thống mật mã khóa bí mật đối xứng có nhược điểm như: - Nhược điểm lớn phương diện quản lý lưu trữ, đặc biệt bộc lộ rõ giới đại liên lạc qua Internet phát triển - Số lượng khóa bí mật mà cơng ty hay cá nhân cần thiết lập với đối tác khác lớn khó quản lý lưu trữ an tồn thơng tin khóa riêng biệt Khó khăn vấn đề xác lập phân phối khóa bí mật hai bên Hệ thống mật mã khóa cơng khai hay phi đối xứng (Public Key Cryptosystem – PKC) Khác với SKC, mơ hình khóa thuật toán sinh mã giải mã khác từ thơng tin khóa sinh mã, lý thuyết tìm khóa giải mã (có thể thử vét cạn) khả thực tế việc không (bất khả thi khối lượng tính tốn) -Ý tưởng cho phép thực thể cá nhân công ty cần tạo cho cặp khóa, với hai thành phần: - Thành phần khóa cơng khai, đăng ký phổ biến rộng khắp, dùng để sinh mã để xác thực chữ ký điện tử (cụ thể chương 3) - Thành phần khóa bí mật, dành riêng cho thân, dùng để giải mã tạo chữ ký điện tử a Các tiêu chuẩn đánh giá hệ mật mã - Đánh giá hệ mật mã thơng qua số mơ hình công phổ biến: + Tấn công chỉ-biết-bản-mã (ciphertext-only attack): Ở kẻ địch E kẻ hoàn tồn bên ngồi, tìm cách nghe trộm đường truyền để lấy giá trị Y, mã thông tin gửi Mục tiêu hướng tới khám phá nội dung một/nhiều rõ X lấy khóa mật Z (trường hợp phá giải hồn tồn) + Tấn cơng biết-bản-rõ (known-plaintext attack):Trong mơ hình giả thiết E biết số cặp X-Y (bản rõ mật tương ứng) Mục tiêu E khám phá nội dung rõ quan trọng khác và/hoặc lấy khóa mật + Tấn cơng bản-rõ-chọn-sẵn (chosen-plaintext attack): Trong mơ hình này, khơng E thu nhặt số cặp X-Y mà số rõ X thân E soạn (chosen plaintext) Có thể nhận xét thấy rằng, việc tự chọn giá trị số rõ X thêm nhiều lợi ích cho E phân tích quan hệ mã rõ để từ lần tìm giá trị khóa ** Đánh giá tính an toàn hệ mã mật (khi áp vào hay số mơ hình cơng cụ thể) áp dụng mơ hình đánh giá với mức độ mạnh đến yếu: Bảo mật vơ điều kiện (unconditional security): Đây mơ hình đánh giá ATBM mức cao nhất, “vơ điều kiện” hiểu theo ý nghĩa lý thuyết thông tin (information theory), ý niệm “lượng tin” hình thức hóa thơng qua phép tốn xác suất Bảo mật chứng minh (provable security): Một hệ mật mã đạt mức đánh giá mo hình cơng cụ thể đó, ta chứng tốn học tính an tồn hệ mật qui tính NP-khó tốn biết từ lâu Bảo mật tính tốn được, hay bảo mật thực tiễn (computational security hay practical security: Khi đánh giá mức với hệ mã cụ thể, người ta lượng hóa khối lượng tính tốn đặt để phá hệ mã này, sử dụng kiểu công mạnh biết Bảo mật tự tác (ad hoc security): sử dụng lập luận đánh giá hợp lý định dựa việc ước đốn khối lượng tính tốn kẻ địch sử dụng công mạnh nhấn biết lập luận tính bất khả thi thực tiễn để thực Câu Định nghĩa hai số nguyên tố Trình bày thuật tốn Euclide? Giả sử a ≥ m ≥ số nguyên UCLN(a,m) = ta nói a m nguyên tố Số số nguyên Zm nguyên tố với m thường ký hiệu φ(m) (hàm gọi hàm Euler) Một kết quan trọng lý thuyết số cho ta giá trị φ(m) theo thừa số phép phân tích theo luỹ thừa số nguyên tố m (Một số nguyên p >1 số nguyên tố khơng có ước dương khác ngồi p Mọi số nguyên m >1 phân tích thành tích luỹ thừa số nguyên tố theo cách Thuật toán Euclide mở rộng: VÀO: Hai số nguyên không âm a b với a ≥ b RA: d = UCLN( a , b ) số nguyên x y thoả mãn ax + by = d (1) Nếu b = đặt d ← a , x ← , y ← return ( d, x , y ) (2) Đặt x ← , x ← , y ← , y1 ← (3) While b > 3.1 q ¬ a mod b, r ¬ a − qb, x ¬ x2 − qx1 , y ¬ y2 − qy1 3.2 a ← b , b ← r , x ← x1 , x1 ← x , y ← y1 , y1 ← y (4) Đặt d ← a , x ← x , y ← y return ( d, x , y ) Câu Định nghĩa đồng dư Tính chất đồng dư? • Định nghĩa Giả sử a b số nguyên m số nguyên dương Khi ta viết a ≡ b (mod m) m chia hết cho b-a Mệnh đề a ≡ b (mod m) gọi " a đồng dư với b theo modulo m" Số nguyên m gọi mudulus Giả sử chia a b cho m ta thu phần thương nguyên phần dư, phần dư nằm m-1, nghĩa a = q1m + r1 b = q2m + r2 ≤ r1 ≤ m-1 ≤ r2 ≤ m-1 Khi dễ dàng thấy a ≡ b (mod m) r1 = r2 • Tính chất đồng dư - Phép cộng đóng với a,b ∈ Zm, a+ b ∈ Zm - Phép cộng giao hoán tức với a,b ∈ Zm a + b = b + a - Phép cộng kết hợp, tức với a,b,c ∈ Zm(a + b) + c = a +(b+c) - phần tử đơn vị phép cộng có nghĩa với a ∈ Zm a + = + a =a - Phần tử nghịch đảo phép cộng phần tử a ∈ Zm m – a, nghĩa a +(m-a) =(m-a) + a = với a ∈ Zm - Phép nhân đóng tức với a,b,bất kì ∈ Zm, ab∈ Zm - Phép nhân giao hoán, nghĩa với a,b ∈ Zm, ab = ba - Phép nhân kết hợp, nghĩa với a,b,c ∈ Zm, (ab)c= a(cb) - phần tử đơn vị phép nhân, tức với a ∈ Zm a x = x a = a - Phép nhân có tính chat phân phối phép cộng, tức a,b,c ∈ Zm (a+b)c = (a.c) +(bc) a(b+c) = (ab) + (ac) Câu Định nghĩa hệ thống mật mã Trình bày tốn an tồn thơng tin? Cho ví dụ *Hệ thống mật mã ngành khoa học chuyên nghiên cứu phương pháp truyền tin bí mật Mật mã bao gồm : Lập mã phá mã Lập mã bao gồm hai q trình: mã hóa giải mã * Bài tốn an tồn thơng tin Để bảo vệ thông tin đường truyền người ta thường biến đổi từ dạng nhận thức sang dạng khơng nhận thức trước truyền mạng, trình gọi mã hố thơng tin (encryption), trạm nhận phải thực trình ngược lại, tức biến đổi thông tin từ dạng không nhận thức (dữ liệu mã hoá) dạng nhận thức (dạng gốc), trình gọi giải mã Câu Phân biệt hệ mã dòng mã khối Lấy ví dụ hệ mã dịng Đối với mã khối, mã hóa, liệu ban đầu chia thành khối (block) thường có kích thước nhau, kích thước tùy thuộc vào thuật tốn mã hóa dùng DES, 3DES, AES, RC2,… Nếu áp dụng DES khối liệu phải có kích thước 64 bits, cịn áp dụng AES kích thước phải 128 bits Mã khối cần đến khóa k suốt q trình mã hóa, khóa tùy thuộc vào thuật tốn mã hóa áp dụng Trong thực tế áp dụng mã khối liệu ban đầu phải biết trước kích thước Nghĩa áp dụng mã khối cho liệu biết trước cụ thể Sau liệu ban đầu chia thành khối có kích thước định, q trình mã hóa sử dụng đến kiểu hoạt động (mode of operation) để tạo thành mã tương ứng cho liệu ban đầu Các mode of operations ECB, CBC, CFB, OFB, CTR Đối với mã dịng, thực tế áp dụng liệu thường dạng biến thiên theo thời gian Nghĩa trước liệu ban đầu Mỗi phần liệu mã hóa với khóa zj tương ứng, j ∈ [0, ∞) Các zj tạo thành dịng khóa (keystream), zj gọi keyword Hàm mã hóa đơn giản thực tế đơn giản phép XOR bits rõ keystream tương ứng Chính xác ký tự (character) rõ XOR với zj Mô hình mã dịng sử dụng khóa k ban đầu để sinh zj Câu Định nghĩa hệ mã dịch chuyển, cho ví dụ minh họa Giả sử a b số nguyên m số nguyên dương Khi ta viết a ≡ b (mod m) m chia hết cho b-a Mệnh đề a ≡ b (mod m) gọi " a đồng dư với b theo modulo m" Số nguyên m gọi mudulus Ví dụ: Bản rõ P = ‘ HELLO’ K= 13 B1: rõ chữ -> rõ số HELLO -> 11 11 14 B2: rõ số -> mã số (cộng k = 13) 20 17 24 24 B3: mã số -> mã chữ URYYB Câu Định nghĩa hệ mã hốn vị, cho ví dụ minh họa K chứa hốn vị 26 kí hiệu 0,1 …,25 Với phép hốn vị π ∈ K eπ(x) = π(x) dπ(y) = π-1(y) π-1 hốn vị ngược π Ví dụ Hãy giải mã mã ‘goodbye’ Sử dụng hàm mã hóa eπ(x) = π(x) Mã hóa : g o o d b y e -> O F F A N D H Hàm giải mã hoán vị ngược điều thực cách viết hàng thứ hai trước xếp theo thứ tự chữ Giải mã: O F F A N D H -> g o o d b y e Câu Định nghĩa hệ mã Affine Cho ví dụ minh họa Định nghĩa Giả sử a ≥ m ≥ số ngun UCLN(a,m) = ta nói a m nguyên tố Số số nguyên Zm nguyên tố với m thường ký hiệu φ(m) (hàm gọi hàm Euler) Cho P = C = Z26 giả sử P{ (a,b) ∈ Z26 Z26 : UCLN (a,26) = 1} Với K = (a,b) ∈ K , ta định nghĩa eK(x) = ax + b mod 26 dK(y) = a-1(y-b) mod 26, x,y ∈ Z26 Ví dụ: cho a = b = mã hóa ‘HELLO’ ADCT: eK(x) = ax + b mod 26 X= a ek + b mod 26 H = 7.7 + mod 26 = 25 -> Z E = 7.4 + mod 26 = -> E L = 7.11 + mod 26 = -> B L = 7.11 + mod 26 = -> B O = 7.14 + mod 26 = 22 -> W Vậy giải mã ZEBBW Câu Định nghĩa hệ mã Vigenere, cho ví dụ minh họa Định nghĩa P = C = K = (Z26) m Với khoá K = (k1, k2, ,km) ta xác định : eK(x1, x2, ,xm) = (x1+k1, x2+k2, , xm+km) dK(y1, y2, ,ym) = (y1k1, y2-k2, , ym-km) tất phép tốn thực Z26 Ví dụ: Giả sử m = từ khóa NGAT tương ứng với K = ( 13 - - -19) Mã hóa NGUYEN THI NGAT N G U Y E N T H I N G A T 13 20 24 13 19 13 19 13 19 13 19 13 19 13 Mod 26 12 20 17 17 19 19 21 19 19 Kí tự tương ứng mã hóa A M U R R T T A V T G T G Câu 10 Định nghĩa hệ mã Hill Cho ví dụ minh họa Cho số nguyên dương m, định nghĩa P = C = (Z26)m Mỗi phần tử x∈P m thành phần, thành phần thuộc Z26 Ý tưởng phương pháp sử dụng m tổ hợp tuyến tính m thành phần phần tử x∈P để phát sinh m thành phần tạo thành phần tử y∈C Phương pháp mã hóa Hill Cipher Chọn số nguyên dương m Định nghĩa: P = C = (Z26)m K tập hợp ma trận m×m khả nghịch k1,1 k 2,1 Với khóa k = k m ,1 k1, k1,m k ,m ∈ K , định nghĩa: k m, k m ,m k1,1 k1, k1,m k 2,1 k 2,m ek ( x ) = xk = ( x1 , x2 , , x m ) với x=(x1, x2, , xm) ∈ P k k k m, m,m m,1 dk(y) = yk–1 với y∈ C Mọi phép toán số học thực Zn Câu 11 Cho khóa hệ mã dịch vòng k = a Hãy mã hóa tin x = “Fallinlove” Bản rõ P=“Fallinlove” K= B1: rõ chữ -> rõ số F A L L I 11 11 B2: rõ số -> mã số (cộng k =7 ) 11 11 Cộng k = 12 18 18 mod 26 B3: mã số -> mã chữ 12 18 18 15 M H S S P N 13 L 11 O 14 E 17 T E 15 13 20 11 18 14 21 21 28 20 U 18 S 21 V 28 C 11 L F L 11 b Hãy giải mã tin y = “WVDLYVMLFLZ” B1: rõ chữ -> rõ số W V D L Y V M L 21 11 24 21 12 11 B2: rõ số -> mã số ( trừ k =7 ) 21 11 24 21 12 11 Trừ k = -2 14 -4 17 14 Mod 26 24 14 22 17 14 B3: mã số -> mã chữ 24 14 22 Y O W V 21 14 O F E -2 24 24 Y Vậy giải mã tin :YOWETOFEYES Câu 12 Cho mã khóa Affine (a,b) = (19,3) a Hãy trình bày q trình mã hóa tin sau: “Hello” a = 19 , b = xâu “Hello” chuyến thành số 7-4-11-11-14 ADCT: eK(x) = ax + b mod 26 X= a ek + b mod 26 H = 19.7 + mod 26 = -> G E = 19.4 + mod 26 = -> B L = 19.11 + mod 26 = -> E 11 4 E 11 Z 25 25 18 18 18 S L = 19.11 + mod 26 = -> E O = 19.14 + mod 26 = -> J Vậy tin mã hóa là: GBEEJ b Trình bày trình giải mã: “IJMB” Chuyển kí tự thành số 8-912-1 Ta có a mũ -1 trrong modun 26 19−1 = 11 ADCT giải mã ta dK(8)= 19−1 (8-3) mod 26 = 55 mod 26 = -> D dK(9)= 19−1 (9-3) mod 26 = 66 mod 26 = 14 -> O dK(12)= 19−1 (12-3) mod 26 = 99 mod 26 = 21 -> V dK(1)= 19−1 (1-3) mod 26 = -22 mod 26 = -22+ 26*1 = -> E Vậy xâu giải mã là: DOVE Câu 13 Cho hệ mã viginere có từ khóa INFORMATION a Trình bày q trình mã rõ x = “technologydepartment” Từ khóa INFORMATION tương ứng k= 8-13-5-14-17-12-0-19-8-14-13 Mã hóa “technologydepartment” T E 19 + C H N 13 11 10 17 12 19 13 27 16 Mod26 16 7 O L O G 21 30 26 11 29 21 11 Y D E P A R 15 13 13 38 16 12 28 12 16 12 T M E N 17 19 12 13 19 17 12 31 36 4 10 4 19 32 27 Kí tự tương ứng mã hóa là: BQHVEALDOMQMCFFKYEGB b.Trình bày cách giải mã mã: y = “pbhhrbcaia” Mod 26 P 15 7 B 13 -12 14 H 2 H 14 -7 19 R 17 17 0 B 12 -11 15 C 2 T A 19 -19 I 8 0 A 14 -14 12 Kí tự tương ứng giải mã : HOCTAPCHAM Câu 14 Trình bày hệ mã Affine Trong Z26 cho rõ x= “ UNINSTALL” với khóa sau (9,15); (6,3); (11,25) Hãy chọn khóa cho phù hợp khóa để lập rõ x Trình bày hệ mã Affine: Định nghĩa Giả sử a ≥ m ≥ số nguyên UCLN(a,m) = ta nói a m nguyên tố Số số nguyên Zm nguyên tố với m thường ký hiệu φ(m) (hàm gọi hàm Euler) Cho P = C = Z26 giả sử P{ (a,b) ∈ Z26 Z26 : UCLN (a,26) = 1} Với K = (a,b) ∈ K , ta định nghĩa eK(x) = ax + b mod 26 dK(y) = a-1(y-b) mod 26, x,y ∈ Z26 Cho rõ x = “ UNINSTALL” chọn khóa (6,3) a = b = ADCT: eK(x) = ax + b mod 26 X= a ek + b mod 26 Đổi xâu: UNINSTALL thành chữ số 20-13-8-13-18-0-11-11 eK(20) = 6*20 +3 mod 26 = 19 => T eK(13) = 6*13 +3 mod 26 = => D eK(8) = 6*8 +3 mod 26 = 25 => Z eK(13) = 6*13 +3 mod 26 = => D eK(18) = 6*18 +3 mod 26 = =>H eK(0) = 6*0 +3 mod 26 = => D eK(11) = 6*11 +3 mod 26 = 17 => R eK(11) = 6*11 +3 mod 26 = 17 => R Vậy rõ : TDZDHDRR Câu 15 Cho khóa mã Affine (a,b) = (5,17) a Hãy trình bày trình mã hóa tin sau: “Antoanthongtin” K(5,17) a = b= 17 Đổi xâu “Antoanthongtin” thành chữ số 0-13-19-14-0-13-19-7-14-13-6-198-13 eK(0) = 5*0 + 17 mod 26 = 17 -> R eK(13) = 5*13 + 17 mod 26 = -> E eK(19) = 5*19 + 17 mod 26 = -> I eK(14) = 5*14 + 17 mod 26 = -> J eK(0) = 5*0 + 17 mod 26 = 17 ->R eK(13) = 5*13 + 17 mod 26 = 4->E eK(19) = 5*19 + 17 mod 26 = -> I eK(7) = 5*7 + 17 mod 26 = -> A eK(14) = 5*14 + 17 mod 26 = -> J eK(13) = 5*13 + 17 mod 26 = -> E eK(6) = 5*6 + 17 mod 26 = 21 -> V eK(19) = 5*19 + 17 mod 26 = -> I eK(8) = 5*8 + 17 mod 26 = -> F eK(13) = 5*13 + 17 mod 26 = -> E Vậy tin mã hóa là: REIJREIAJEVIFE b.Hãy trình bày q trình giải mã: “AJBIROBARZBAF” Chuyển kí tự thành số 0-9-1-8-17-14-1-0-17-25-1-0-5 Ta có a mũ -1 trrong modun 26 5−1 = 21 ADCT giải mã ta dK(0)= 5−1 (0-17) mod 26 = (-357) mod 26 = -357+ 14*26 = -> H dK(9)= 5−1 (9-17) mod 26 = (-168 )mod 26 = -168 +7*26 = 14 -> O dK(1)= 5−1 (1-17) mod 26 = (-336) mod 26 = -336+ 13*26 = -> C dK(8)= 5−1 (8-17) mod 26 = (-189) mod 26 = -189+ 8*26 = 19 -> T dK(17)= 5−1 (17-17) mod 26 = ->A dK(14)= 5−1 (14-17) mod 26 = (-63) mod 26 = -63+ 3*26 = 15 -> P dK(1)= 5−1 (1-17) mod 26 = (-336) mod 26 = -336+ 13*26 = -> C dK(0)= 5−1 (0-17) mod 26 = (-357) mod 26 = -357+ 14*26 = -> H dK(17)= 5−1 (17-17) mod 26 = ->A dK(25)= 5−1 (25-17) mod 26 = 168 mod 26 = 12 -> M dK(1)= 5−1 (1-17) mod 26 = (-336) mod 26 = -336+ 13*26 = -> C dK(0)= 5−1 (0-17) mod 26 = (-357) mod 26 = -357+ 14*26 = -> H dK(5)= 5−1 (5-17) mod 26 = (-252) mod 26 = -252+ 10*26 = -> I Vậy xâu giải mã là: HOCTAPCHAMCHI Câu 16 Trình bày hệ mã khóa Vigenere Z26 cho rõ x= “TOIYEUVIETNAM” với m= khóa k=(2,8,15,7) tìm rõ x Định nghĩa P = C = K = (Z26) m Với khoá K = (k1, k2, ,km) ta xác định : eK(x1, x2, ,xm) = (x1+k1, x2+k2, , xm+km) dK(y1, y2, ,ym) = (y1k1, y2-k2, , ym-km) tất phép tốn thực Z26 M=4 tương ứng với khóa K = (2-8-15-7) Mã hóa x = “TOIYEUVIETNAM” T O I Y E U V I E T N A M 19 14 24 20 21 19 13 12 + Mod 26 21 21 22 22 15 23 23 31 6 28 15 36 15 15 6 27 15 28 7 14 14 Kí tự tương ứng mã hóa là: VWXFGCIPGBCHO Câu 17 Cho khóa mã Affine (a,b) = (19,3) a Hãy trình bày q trình mã hóa tin sau: “Hello” K(19,3) a = 19 b= Đổi xâu “Hello” thành chữ số 7-4-11-11-14 eK(7) = 19*7 + mod 26 = -> G eK(4) = 19*4 + mod 26 = 1-> B eK(11) = 19*11 + mod 26 = -> E eK(11) = 19*11 + mod 26 = 4-> E eK(14) = 19*14 + mod 26 = -> J Vậy tin mã hóa là: GBEEJ b.Hãy trình bày q trình giải mã: “IJMB” Chuyển kí tự thành số 8-912-1 Ta có a mũ -1 trrong modun 26 19−1 = 11 ADCT giải mã ta dK(8)= 19−1 (8-3) mod 26 = 55 mod 26 = -> D dK(9)= 19−1 (9-3) mod 26 = 66 mod 26 = 14 -> O dK(12)= 19−1 (12-3) mod 26 = 99 mod 26 = 21 -> V dK(1)= 19−1 (1-3) mod 26 = -22 mod 26 = -22+ 26*1 = -> E Vậy xâu giải mã là: DOVE Câu 18 Định nghĩa hệ mã Hill Cho ví dụ minh họa Cho số nguyên dương m, định nghĩa P = C = (Z26)m Mỗi phần tử x∈P m thành phần, thành phần thuộc Z26 Ý tưởng phương pháp sử dụng m tổ hợp tuyến tính m thành phần phần tử x∈P để phát sinh m thành phần tạo thành phần tử y∈C Phương pháp mã hóa Hill Cipher Chọn số nguyên dương m Định nghĩa: P = C = (Z26)m K tập hợp ma trận m×m khả nghịch k1,1 k 2,1 Với khóa k = k m ,1 k1, k1,m k ,m ∈ K , định nghĩa: k m, k m ,m k1,1 k1, k1,m k 2,1 k 2,m ek ( x ) = xk = ( x1 , x2 , , x m ) với x=(x1, x2, , xm) ∈ P k k k m , m , m , m dk(y) = yk–1 với y∈ C Mọi phép toán số học thực Zn Câu 19 Cho khóa mã Affine (a,b) = (23,5) a Hãy trình bày cách mã hóa tin: “Hero” K(23,5) a = 23 b= Đổi xâu “Hero” thành chữ số 7-4-17-14 eK(7) = 23*7 + mod 26 = 10-> K eK(4) = 23*4 + mod 26 = 19-> T eK(17) = 23*17 + mod 26 = 6-> G eK(4) = 23*14 + mod 26 = 15 -> P Vậy tin mã hóa là: KTGP b.Hãy trình bày cách giải mã mã: “ZKTTG” Chuyển kí tự thành số 25-10-19-19-6 Ta có a mũ -1 trrong modun 26 23−1 = 17 ADCT giải mã ta dK(25)= 23−1 (25-5) mod 26 = 340 mod 26 = 2-> C dK(10)= 23−1 (10-5) mod 26 = 85 mod 26 = -> H dK(19)= 23−1 (19-5) mod 26 = 238 mod 26 = -> E dK(19)= 23−1 (19-5) mod 26 = 238 mod 26 = -> E dK(6)= 23−1 (6-5) mod 26 = 17 mod 26 = 17 - > R Vậy xâu giải mã là: CHEER Câu 20 Biết khóa mã Affine (a,b) =(21,4) a Hãy giải mã mã: “XIREYEO” K(21,4) a = 21 b= Đổi xâu “XIREYEO” thành chữ số 23-8-17-4-24-4-14 Ta có a mũ -1 trrong modun 26 21−1 = ADCT giải mã ta dK(23)= 21−1 (23-4) mod 26 = -95 mod 26 = -95 + 26*3= 17-> R dK(8)= 21−1 (8-4) mod 26 = 20 mod 26 = 20 -> U dK(17)= 21−1 (17-4) mod 26 = -65 mod 26 = -65 + 26*2= 13-> N dK(4)= 21−1 (4-4) mod 26 = mod 26 = -> A dK(24)= 21−1 (24-4) mod 26 = 100 mod 26 = 22 -> W dK(4)= 21−1 (4-4) mod 26 = mod 26 0-> A dK(14)= 21−1 (14-4) mod 26 = 260 mod 26 = -> A Vậy xâu giải mã là: RUNAWAA b.Hãy giải mã rõ: “Data” K(21,4) a = 21 b= Đổi xâu “DATA” thành chữ số 3-0-19-0 eK(3) = 21*3 + mod 26 = 15 -> P eK(0) = 21*0 + mod 26 = -> E eK(19) = 21*19 + mod 26 = 13 -> N eK(0) = 21*0 + mod 26 = -> E Vậy tin mã hóa là: PENE Câu 21 Cho khóa hệ viginere là: DEMECIN a Hãy trình bày cách mã hóa tin: “Student” Từ khóa DEMECIN tương ứng k = 3-4-12-4-2-8-13 Mã hóa “Student” + Mod26 S 18 21 21 T 19 23 23 U 20 12 32 D 7 E 6 Kí tự tương ứng mã hóa là: VXGHGVG b.Trình bày cách giải mã mã: “WIMGJME” N 13 21 21 T 19 13 32 Mod26 W 22 19 19 I 4 M 12 12 0 G 2 J 7 M 12 4 E 13 -9 17 Kí tự tương ứng giải mã là: TEACHER Câu 22 Cho từ khóa PROTECT hệ mật viginene a Hãy mã hóa rõ: “paintmylove” Từ khóa PROTECT tương ứng = 15-17-14-19-4-2-19 Mã hóa “paintmylove” P 15 15 + 30 Mod26 A 17 17 17 I 14 22 22 N 13 19 32 T 19 23 23 M 12 14 14 Y 24 19 43 17 L 11 15 26 O 14 17 31 V 21 14 35 E 19 23 23 Kí tự tương ứng mã hóa : ERWGXORAFJX b.Hãy giải mã mã: “HVOZEOX” Mod26 H 15 -8 18 V 21 17 4 O 14 14 0 Z 25 19 6 E 4 0 O 14 12 12 X 23 19 4 Kí tự tương ứng giải mã là: SEAGAME Câu 23 Cho từ khóa BAOMAT từ khóa hệ mã viginere a Hãy mã hóa tin: “Anninhmang” Từ khóa BAOMAT tương ứng k= 1-0-14-12-0-19 Mã hóa “Anninhmang” A + Mod 26 N 13 13 13 N 13 14 27 I 12 20 20 N 13 13 13 H 19 26 M 12 13 13 A 0 0 N 13 14 27 G 12 18 18 Kí tự tương ứng mã hóa là: BNBUNANABS b.Hãy giải mã mã: “UUCZGEVA” U U C Z G 20 20 25 14 12 19 20 -12 13 Mod26 19 20 14 13 E 19 -15 11 V 21 20 20 A 0 0 Kí tự tương ứng giải mã : TUONGLUA Câu 24 Trình bày hệ mã Affine Trong Z26 cho rõ x= “ UNINSTALL” với khóa sau (9,15); (6,3); (11,25) Hãy chọn khóa cho phù hợp khóa để lập rõ x * Trình bày hệ mã Affine: Định nghĩa Giả sử a ≥ m ≥ số nguyên UCLN(a,m) = ta nói a m nguyên tố Số số nguyên Zm nguyên tố với m thường ký hiệu φ(m) (hàm gọi hàm Euler) Cho P = C = Z26 giả sử P{ (a,b) ∈ Z26 Z26 : UCLN (a,26) = 1} Với K = (a,b) ∈ K , ta định nghĩa eK(x) = ax + b mod 26 dK(y) = a-1(y-b) mod 26, x,y ∈ Z26 Ví dụ: Cho rõ x = “ UNINSTALL” chọn khóa (6,3) a = b = ADCT: eK(x) = ax + b mod 26 X= a ek + b mod 26 Đổi xâu: UNINSTALL thành chữ số 20-13-8-13-18-0-11-11 eK(20) = 6*20 +3 mod 26 = 19 => T eK(13) = 6*13 +3 mod 26 = => D eK(8) = 6*8 +3 mod 26 = 25 => Z eK(13) = 6*13 +3 mod 26 = => D eK(18) = 6*18 +3 mod 26 = =>H eK(0) = 6*0 +3 mod 26 = => D eK(11) = 6*11 +3 mod 26 = 17 => R eK(11) = 6*11 +3 mod 26 = 17 => R Vậy rõ : TDZDHDRR Câu 25 Trình bày hệ mã khóa Vigenere Z26 cho rõ x= “TOIYEUVIETNAM” với m= khóa k=(2,8,15,7) tìm rõ x Định nghĩa P = C = K = (Z26) m Với khoá K = (k1, k2, ,km) ta xác định : eK(x1, x2, ,xm) = (x1+k1, x2+k2, , xm+km) dK(y1, y2, ,ym) = (y1k1, y2-k2, , ym-km) tất phép toán thực Z26 T 19 O 14 I Y 24 E U 20 V 21 I E T 19 N 13 A M 12 + 21 Mod26 21 22 22 15 23 23 31 6 28 15 36 15 15 6 27 15 28 7 14 14 Kí tự tương ứng mã hóa : VWXFGCIPGBCHO Câu 26 Mơ tả thuật toán DES Đầu vào, đầu ra, vẽ sơ đồ tổng thuật tốn, giải thích sơ đồ Mơ tả DES: DES mã hố xâu bit x rõ độ dài 64 khoá 56 bit Bản mã nhận xâu bit có độ dài 64 Thuật tốn tiến hành theo bước: B1: Với rõ cho trước x, xâu bit x xây dựng cách hoán vị bit x theo phép hoán vị cố định ban đầu IP Ta viết: x = IP(x) = L0R0, L0 gồm 32 bit đầu R0 32 bit cuối B2: Sau tính tốn 16 lần lặp theo hàm xác định Ta tính LiRi, 1≤ i ≤ 16 theo quy tắc sau: Li = Ri-1; Ri = Li-1 ⊕ f(Ri-1, ki) Trong đó: ⊕ phép loại trừ hai xâu bit f hàm mô tả sau k1, k2, …, k16 xâu bit có độ dài 48 tính hàm khóa k (ki phép chọn hoán vị bit k) Một vịng phép mã hóa mơ tả sau: B3: Áp dụng phép hoán vị ngược IP-1 cho xâu bit R16L16, ta thu mã y Tức y = IP-1(R16L16) Hãy ý thứ tự đảo L16 R16 Câu 27 Trình bày hàm mật mã f thuật tốn mã hóa khối DES Đầu vào, đầu ra, vẽ sơ đồ thực hàm f Mô tả hàm f: Hàm f có biến vào: Xâu bit A có độ dài 32 Xâu bit J có độ dài 48 Đầu f xâu bit có độ dài 32 Các bước thực hiện: B1: Biến thứ A mở rộng thành xâu bit độ dài 48 theo hàm mở rộng cố định E E(A) gồm 32 bit A (được hoán vị theo cách cố định) với 16 bit xuất hai lần B2: Tính E(A) ⊕ J viết kết thành chuỗi xâu bit B1B2B3B4B5B6B7B8 B3: Bước dùng bảng S 1S2,…,S8 ( gọi hộp S ) Với Si bảng 4×16 cố định có hàng số nguyên từ đến 15 Với xâu bit có độ dài (kí hiệu B i = b1 b2 b3 b4 b5 b6), ta tính Sj(Bj) sau: (0≤ r ≤ 3) Hai bit b1b6 xác định biểu diễn nhị phân hàng r Sj Bốn bit (b2 b3 b4 b5) xác định biểu diễn nhị phân cột c Sj (0≤ c ≤ 15) Khi Sj(Bj) xác định phần tử Sj(r, c) ; phần tử viết dạng nhị phân xâu bit có độ dài Bằng cách tương tự tính Cj = Sj(Bj) , (1 ≤ j ≤ 8) B4: Xâu bit C = C1 C2 … C8 có độ dài 32 hoán vị theo phép hoán vị cố định P Xâu kết P(C) xác định f(A, J) Câu 28 Trình bày thuận tốn tạo khóa hệ mã hóa khối DES Đầu vào, đầu ra, vẽ sơ đồ thực Từ khoá mẹ 64 bit ban đầu sinh 16 khố ứng với vịng theo sơ đồ sau: …………………… Sinh khoá Khoá ban đầu nhập vào chuỗi 64 bit, vòng khoá 64 bit cho qua hộp PC-1(Permuted Choice) để hốn vị có lựa chọn thành khố 56 bit Hộp PC-1 Theo đó, bit thứ 57 trở thành bit đầu tiên, bit thứ 49, 41, 33, … bit tiếp theo, bit thứ trở thành bit cuối chuỗi khoá Tiếp theo chia đơi khố 56 bit thành hai nửa trái phải, nửa dịch vòng sang trái bit tuỳ vòng theo quy tắc sau: Sau dịch, hai nửa khoá lại ghép lại cho vào hộp PC-2 để tiếp tục hốn vị có lựa chọn thành khố 48 bit khố cho vịng tương ứng Hộp PC-2 Khố qua PC-2 bit thứ 14 trở thành bit đầu tiên, bit thứ 17, 11, 24, … bit tiếp theo, bit thứ 32 bit cuối khoá Câu 29 Thế hệ mã hóa khóa cơng khai? Cho ví dụ Khố cơng khai đời vào đầu năm 1970 Có thể nói bước tiến quan trọng lịch sử 3000 năm mã hoá Ở người ta sử dụng khoá: khoá riêng khố cơng khai Hai khố khác nhau, khơng đối xứng với nhau, mã khố cơng khai, cịn gọi mã khơng đối xứng Người ta ứng dụng cách thông minh kết lý thuyết số hàm số Khố cơng khai đời hỗ trợ thêm để giải số tốn an tồn, khơng phải thay khoá riêng Cả hai khoá tồn tại, phát triển bổ sung cho Khố cơng khai/hai khố/khơng đối xừng bao gồm việc sử dụng khoá: o Khoá công khai, mà người biết, dùng để mã hoá mẩu tin kiểm chứng chữ ký o Khoá riêng, người nhận biết, đề giải mã tin để tạo chữ ký o Là không đối xứng người mã hố kiểm chứng chữ ký giải mã tạo chữ ký Sơ đồ mã khố cơng khai Khố cơng khai sử dụng để giải hai vấn đề sau khoá nảy sinh thực tế: o Phân phối khoá - phân phối khóa an tồn mà khơng cần trung tâm phân phối khoá tin cậy o Chữ ký điện tử - kiểm chứng mẩu tin gửi đến nguyên vẹn từ người đứng tên gửi Ví dụ f: pq →n la hàm chiều với p q số nguyên tố lớn Có thể dễ dàng thực hiên phép nhân đa thức (độ phức tạp đa thức) Tính f-1 (phân tích thành thừa số nguyên tố độ phức tạp mũ ) tốn khó Câu 30 Trình bày cách tính khóa giải thuật mã hóa DES DES tạo 16 khóa, khóa chiều dài 48 bit từ khóa input 56 bit, dùng cho 16 vịng lặp Khóa input khối 64 bit, với 8bit parity vị trí 8, 16,.…, 64 Permutation PC-1 loại bỏ bit parity hốn vị 56 bit cịn lại theo bảng Kết quả, PC-1(K) sau chia thành hai phần C D0 phần 28 bit Khóa Ki dùng vòng thứ i tạo từ C i-1 Di-1 theo quy tắc sau: vòng 1, 2, 16, C i-1 Di-1 quay vịng bít qua trái, vịng cịn lại quay vịng hai bít qua trái Qua phép quay vòng C i-1 Di-1 biến đổi thành Ci Di Hốn vị Ci Di Sau hốn vị Ci bỏ qua bít 9, 18, 22, 25 tạo thành trái K i (24 bít), cịn Di bỏ bít 35, 38, 43, 54 tạo phải Ki (24 bít) Ghép trái phải tạo khóa Ki 48 bít Câu 31 So sánh mã hóa đối xứng với hệ mã hóa cơng khai So sánh mã hóa đối xứng mã hóa bất đối xứng: - Mã khóa bí mật (mã hóa đối xứng-mã hóa khóa riêng): + Sử dụng khóa người gửi (cho việc mã hóa) người nhận (cho việc giải mã) + Thuật toán chấp nhận rộng rãi cho việc mã hóa khóa bí mật thuật tốn chuẩn mã hóa liệu (DES) Giao thức SET chấp nhận thuật tốn DES với chìa khóa 64 bit Thuật tốn phá mã phải nhiều năm với chi phí hàng triệu đôla + Người gửi người nhận thông điệp phải chia sẻ bí mật, gọi chìa khóa - Mã khóa cơng khai (mã hóa khơng đối xứng ): + Sử dụng khóa khác nhau, khóa cơng khai (để mã hóa thơng điệp tất người sử dụng phép biết) khóa riêng (để giải mã thơng điệp có người sở hữu biết) + Thuật tốn chấp nhận rộng rãi cho việc mã hóa cơng khai thuật tốn RSA với nhiều kích cỡ khác (1024 bit) Thuật tốn khơng bị phá hacker, xem phương pháp mã hóa an tồn biết + Thơng điệp mã hóa giải mã với chìa khóa riêng người nhận Câu 32 Tính an tồn hệ mã hóa cơng khai? Cho ví dụ minh họa Cũng giống khố riêng việc tìm kiếm vét cạn ln ln có thể, tức biết hai khoá thuật toán mã hoá ngun tắc ta dị tìm khố thứ hai cách tính tốn giá trị liên quan Nói chung khối lượng cần tính tốn lớn độ phức tạp toán xác định khoá Nếu khoá sử dụng lớn cỡ 512 bit, tốn tìm khố thứ hai không khả thi, thực thời gian có nghĩa, cho dù nguồn lực lớn Tính an tồn dựa khác biệt đủ lớn toán dễ mã/giải mã biết khố tốn khó thám mã khơng biết khố tương ứng Vì tốn thám mã nằm lớp tốn khó tổng qt biết đến mặt lý thuyết chứng minh khó thực thực tế Bởi địi hỏi sử dụng số lớn, nên số phép toán cần thực nhiều Đây ý tưởng để tạo nên mã cơng khai Ta tìm kiếm tốn mà biết thơng tin mật che dấu dễ thực hiện, cịn khơng thuộc lớp tốn khó giải, khơng thể giải thực tế Mã công khai thường chậm nhiều so với mã đối xứng, nên thường dùng mã thơng tin nhỏ quan trọng Câu 33 Trình bày sơ đồ hệ mã hóa cơng khai RSA Câu 34 Cơ sở hệ mật RSA Nêu cách công hệ mật mã RSA Cơ sở hệ mật RSA • Để mã hoá mẩu tin, người gủi: o lấy khoá cơng khai người nhận KU={e,N} o Tính C=Me mod N, 0≤M