Bao gồm các dạng bài tập an toàn và bảo mật thông tin như tính lũy thừa nhanh, tính phần tử nghịch đảo trên hệ module, phương trình đồng dư bậc nhất, hệ mã Knapsack, Affine, Hill, RSA, El Gammal, đổi chỗ, Caesar và các hệ chữ ký điện tử RSA, El Gammal.
ÔN TẬP AN TOÀN VÀ BẢO MẬT HỆ THỐNG THÔNG TIN I – THUẬT TỐN LŨY THỪA NHANH Ví dụ: Tính 876611 mod899 Giải 611 Ta có 876 876 876 876 8762.8761 512 64 32 876mod899 876 8762 mod899 876.876 mod899 876 mod899 876 mod899 mod899 = 876 mod899 mod899 8762 mod899 529 876 mod899 876 mod899 mod899 252 mod899 574 876 mod899 876 mod899 mod899 574 mod899 442 876 mod899 876 mod899 mod899 442 mod899 281 876 mod899 876 mod899 mod899 281 mod899 748 876 mod899 876 mod899 mod899 748 mod899 326 876 mod899 876 mod899 mod899 326 mod899 194 876 mod899 876 mod899 mod899 194 mod899 777 876 mod899 876 876 876 876 876 mod899 876 mod899 876 mod899 876 mod899 876 mod899 876 mod899 mod899 8764 mod899 8762 mod899 mod899 5292 mod899 252 2 16 32 16 2 64 32 2 2 128 64 256 128 2 512 256 2 611 512 512 64 64 32 32 777.748.281.529.876 mod899 777.748 mod899 281.529.876 mod899 mod899 442.869 mod899 225 II – HÀM PHI Ơ-LE Với số nguyên N, giá trị hàm Phi Ơ-le N tổng số tất số nguyên thuộc Z N nguyên tố với N Nếu P số nguyên tố P P 1 Nếu N PQ với P Q hai số nguyên tố N P 1 Q 1 Trong trường hợp tổng quát dạng phân tích thừa số nguyên tố N N p1 p2 pk k pi số nguyên tố, i số nguyên dương giá trị hàm Phi Ơle tính sau: N p1 1 p1 k 1 p2 1 p2 1 pk 1 pk 1 k k Ví dụ: Tính 26 Giải Ta có 26 13.2 26 13 1 1 12 III – TÌM PHẦN TỬ NGHỊCH ĐẢO a Z N tồn b Z N cho ab ab mod N Khi b gọi phần tử nghịch đảo a Z N ký hiệu a 1 b Giải thuật tìm phần tử nghịch đảo Z N ReverseModulo(b, a) { int y0 = 0, y1 = 1, a0 = a; while (b > 0) { int r = a % b; if (r == 0) break; int q = a / b; y = y0 – y1 * q; a = b; b = r; y0 = y1; y1 = y; } while (y < 0) y += a0; return y; } Ví dụ: Tìm phần tử nghịch đảo 30 theo Module 101 a b r q y0 y1 y 101 30 11 3 30 11 3 11 3 10 2 10 27 1 10 27 37 Vậy phần tử nghịch đảo 30 theo Module 101 37 101 64 IV – PHƯƠNG TRÌNH ĐỒNG DƯ BẬC NHẤT MỘT ẨN Dạng: ax b mod N a, b Z N hệ số, x ẩn số (1) Giả sử g GCD a, N b chia hết cho g phương trình (1) có g nghiệm có dạng: b N x x0 t mod N g g t = 0, 1, 2, …, g – x0 nghiệm phương trình: a N x 1mod g g Ví dụ: Giải phương trình sau a) 5x 2mod7 b) 5x 4mod11 Giải a) 5x 2mod7 (1) Ta có g GCD 5,7 nên phương trình (1) có nghiệm Nghiệm phương trình có dạng x x0 7t mod với x0 nghiệm phương trình 5x0 1mod x0 51 mod Vậy phương trình có nghiệm x 2.3 7.0 mod b) 5x 4mod11 (2) Ta có g GCD 5,11 nên phương trình (2) có nghiệm Nghiệm phương trình có dạng x x0 11t mod11 với x0 nghiệm phương trình 5x0 1mod11 x0 51 mod11 Vậy phương trình có nghiệm x 4.9 11.0 mod11 V – HỆ MÃ CAESAR Hệ mã Caesar hệ mã thay đơn âm làm việc bảng chữ tiếng Anh Để mã hóa, người ta đánh số chữ từ đến N – Khơng gian khóa K Z N Với khóa k K hàm mã hóa giải mã ký tự có số thứ tự I thực sau: Mã hóa: EK i i k mod N Giaỉ mã: DK i i k mod N A B C D E F G H I J K L M 10 11 12 N O P Q R S T U V W X Y Z 13 14 15 16 17 18 19 20 21 22 23 24 25 VI – HỆ MÃ AFFINE K a, b : a, b Z N ,GCD a, N 1 Mã hóa: EK x ax b mod N Giải mã: Tính a 1 tiến hành giải mã DK y a 1 y b mod N Số khóa sử dụng cho hệ mã Affine: K N N Ví dụ 1: Mã hóa xâu “ADVENGER” với khơng gian khóa bảng mã (27, 7) Giải Ta có: A: EK 0 27.0 mod 26 nên A H D: EK 3 27.3 mod 26 10 nên D K V: EK 21 27.21 mod 26 nên V C E: EK 4 27.4 mod 26 11 nên E L N: EK 13 27.13 mod 26 20 nên N U G: EK 6 27.6 mod 26 13 nên G N R: EK 17 27.17 mod 26 24 nên R Y Vậy mã hóa xâu “ADVENGER” ta “HKCLUNLY” Ví dụ 2: Cho hệ mã Affine cài đặt Z 99 Khi khóa cặp a, b a, b Z99 với GCD a,99 Hàm mã hóa EK x ax b mod99 hàm giải mã DK x a 1 x b mod99 a) Hãy xác định số khóa sử dụng cho hệ mã b) Nếu khóa giải mã K 1 16,7 , thực mã hóa xâu m = “DANGER” Giải a) Số khóa sử dụng cho hệ mã là: K N N 99 99 111 1 99 7920 (khóa) b) Khóa giải mã K 1 16,7 a 1 16, b a a 1 Ta có 1 mod99 161 mod99 31 D: EK 3 31.3 mod 26 22 nên D W A: EK 0 31.0 mod 26 nên A H N: EK 13 31.13 mod 26 20 nên N U G: EK 6 31.6 mod 26 11 nên G L E: EK 4 31.4 mod 26 nên E B R: EK 17 31.17 mod 26 14 nên R O Mã hóa xâu “DANGER” ta xâu “WHULBO” Ví dụ 3: Giả sử hệ mã Affine cài đặt Z126 a) Hãy xác định số khóa có hệ mã b) Giả sử khóa mã hóa (23, 7), xác định khóa giải mã Giải a) Số khóa có hệ mã: K N N 1 1 3. 1.126 4536 (khóa) b) Khóa mã hóa (23, 7) a 23, b a1 a1 mod N 231 mod126 107 Vậy khóa giải mã (107, 7) VII – HỆ MÃ HILL Tồn ma trận K kích thước M × M gồm phần tử số nguyên thuộc Z N với N phần tử thuộc bảng chữ Điều kiện để ma trận K sử dụng làm khóa hệ mã tồn ma trận nghịch đảo ma trận K Z N Mã hóa: C P K Giải mã: P C K 1 k11 k12 Với K det K k11k22 k21k12 mod N phần tử nghịch đảo k21 k22 k22 k12 Z N khóa giải mã K 1 det 1 K k21 k11 Ví dụ 1: Cho hệ mã Hill có M = 5 3 a) Ma trận A sử dụng làm khóa cho hệ mã khơng? Hãy 13 17 giải thích 12 b) Cho A , thực mã hóa giải mã với xâu S = “HARD” 7 Giải a) Điều kiện để ma trận A sử dụng làm khóa hệ mã tồn ma trận nghịch đảo ma trận A Z 26 , tức tồn det 1 A , det A 26 có ước chung lớn Ta có det A 5.17 13.3 mod 26 20, mà GCD 20, 26 nên ma trận A khơng thể sử dụng làm khóa cho hệ mã Affne b) Để mã hóa, ta chia xâu rõ thành hai ma trận hàng hai chiều “HA” 7 0 “RD” 17 3 tiến hành mã hóa Với P1 7 0 ta có: 12 C1 P1 K 7 0 7.12 0.3 mod 26 7.5 0.7 mod 26 6 9 “GJ” Với P2 17 3 ta có: 12 C2 17 3 17.12 3.3 mod 26 7 17.5 3.7 mod 26 5 2 “FC” Vậy bãn mã thu “GJFC” Để giải mã, ta tìm K 1 Ta có det K 12.7 3.5 mod 26 17 det 1 K det 1 K mod 26 171 mod 26 23 5 5 161 115 K 1 det 1 K 23 3 12 3 12 69 276 Quá trình giải mã tương tự với trình mã hóa Giải mã C1 G J ta được: 161 115 P C1 K 1 6 9 69 276 6.161 69.9 mod 26 115.6 276.9 mod 26 7 0 H A Giải mã C2 F C ta được: 161 115 P2 C2 K 1 5 2 17 3 R D 69 276 Vậy giải mã mã thu được, ta có “HARD” Ví dụ 2: Cho hệ mã Hill có M = 3 a) Ma trận A sử dụng làm khóa cho hệ mã Hãy tìm tất 11 a khóa sử dụng hệ mã b) Giả sử người ta sử dụng hệ mã để mã hóa rõ P = “EASY” thu mã “UMQA” Hãy thực giải mã với mã C = “MCDZUZ” đưa rõ Giải a) Điều kiện để ma trận A sử dụng làm khóa hệ mã tồn ma trận nghịch đảo ma trận A Z 26 , tức ta có det A 5a 33 mod 26 Tức GCD 5a 33, 26 5a 33 1,3,5,7,9,11,15,17,19, 21, 23, 25 a 8,10 b) Mã hóa rõ “EASY” thi “UMQA” với M = ta có P1 E A 0 thu C1 U M 20 12 , P2 S Y 18 24 thu C2 Q A 16 0 3 C1 P1 K 20 12 0 20 12 (Luôn thỏa mãn với a) 11 a 3 C2 P2 K 16 0 18 24 16 11 a 54 24a mod 26 54 24a mod 26 54 mod 26 24a mod 26 mod 26 24a mod 26 mod 26 24a mod 26 24 a 3 Khóa K 11 1 VIII – HỆ MÃ ĐỔI CHỖ Một hệ mã hóa đổi chỗ hệ mã hóa ký tự rõ giữ nguyên, thứ tự chúng đổi chỗ cho Các kỹ thuật: - Đảo ngược toàn rõ: nghĩa rõ viết theo thứ tự ngược lại để tạo mã - Mã hóa theo mẫu hình học: rõ xếp lại theo mẫu hình học đó, thường mảng ma trận hai chiều - Hoán vị ký tự rõ theo chu kỳ cố định d: hàm f hoán vị khối gồm d ký tự khóa mã hóa biểu diễn K d , f IX – HỆ MÃ KNAPSACK Bài tốn xếp ba lơ tổng qt Cho M, N A1 , A2 , …, AN số ngun dương, tìm số xi khơng âm N cho M xi Ai i 1 Vector A A1 , A2 , , AN gọi vector xếp ba lơ, vector X x1 , x2 , , xN vector nghiệm Một trường hợp riêng đáng quan tâm tốn xếp ba lơ tổng qt trường hợp mà xi 0,1 Khi ta có tốn xếp ba lơ 0/1 Vector xếp ba lô siêu tăng Trong trường hợp vector A A1 , A2 , , AN lại thành A A1, A2 , , AN cho với i ta có A A vector j i j i A A1 , A2 , , AN gọi vector xếp ba lô siêu tăng Khi A A1 , A2 , , AN vector xếp ba lơ siêu tăng, ta có tính chất: M Aii Do việc giải tốn xếp ba lô 0/1 trở nên dễ dàng nhiều Cách xây dựng - Chọn vector siêu tăng A a1, a2 , , aN , chọn số M 2aN , chọn ngẫu nhiên số u M GCD u, M - Xây dựng vector A a1 , a2 , , aN aiu mod M - Khóa K P A, M , K S u, u 1 - Không gian rõ không gian dãy N bit: P x1 , x2 , , xN N Mã hóa: C xi mod M i 1 Giải mã: Tính C Cu 1 mod M sau giải tốn xếp ba lơ 0/1 với A, C từ tìm P x1 , x2 , , xN Ví dụ: Cho hệ mã Knapsack có A 11,15,30,60 , M 150 u 77 a) Hãy tìm khóa cơng khai K P khóa bí mật K S hệ mã b) Để mã hóa thơng điệp viết tiếng Anh, người ta dùng hàm chuyển đổi từ ký tự thành xâu nhị phân sau: Ký tự Xâu bít Ký tự Xâu bít Ký tự Xâu bít Ký tự Xâu bít A 00000 H 00111 O 01110 V 10101 B 00001 I 01000 P 01111 W 10110 C 00010 J 01001 Q 10000 X 10111 E 00100 L 01011 S 10010 Z 11001 F 00101 M 01100 T 10011 G 00110 N 01101 U 10100 Khi ví dụ xâu ABCD chuyển thành 00000 00001 00010 00011 cắt thành xâu có độ dài để thực mã hóa Kết thu mã dãy số thuộc Z M Hãy thực mã hóa xâu P = “ANTI” Giải a) Ta có u 1 u 1 mod M 771 mod150 113 Nên K P 11,150 , 15,150 , 30,150 , 60,150 , K S 77,113 b) Xâu “ANTI” chuyển thành xâu nhị phân, ta được: 00000 01101 10011 01000 Cắt thành xâu có độ dài 4, ta xâu “0000”, “0011”, “0110”, “0110”, “1000” Mã hóa xâu C1 11.0 15.0 30.0 60.0 mod150 C2 11.0 15.0 30.1 60.1 mod150 90 C3 11.0 15.1 30.1 60.0 mod150 45 C4 11.0 15.1 30.1 60.0 mod150 45 C5 11.1 15.0 30.0 60.0 mod150 11 Bản mã thu C 0,90,45,45,11 10 X – HỆ MÃ RSA Để cài đặt RSA ban đầu người dùng sinh khóa cơng khai khóa bí mật cách: Chọn hai số nguyên tố lớn ngẫu nhiên (cỡ gần 100 chữ số) khác p q Tính N pq Chọn số e nhỏ N GCD e, N 1, e gọi số mũ lập mã Tìm phần tử nghịch đảo e modulo N , d số mũ giải mã Tức d e1 mod N Khóa cơng khai K P e, N Khóa bí mật K S K P1 d , p, q Sử dụng RSA Để mã hóa thơng điệp M: C M e mod N M N Giải mã: M C d mod N Ví dụ 1: Cho hệ mã RSA có p 31, q 41, e 271 a) Hãy tìm khóa cơng khai K P khóa bí mật K S hệ mã b) Để mã hóa thơng điệp viết tiếng Anh, người ta dùng hàm chuyển đổi ký tự thành số thập phân có hai chữ số sau: A B C D E F G H I J K L M 00 01 02 03 04 05 06 07 08 09 10 11 12 N O P Q R S T U V W X Y Z 13 14 15 16 17 18 19 20 21 22 23 24 25 Khi ví dụ xâu ABC chuyển thành 00 01 02 sau cắt thành số có chữ số 000 (bằng 0) 102 để mã hóa Bản mã thu tập số thuộc Z N Hãy thực mã hóa xâu P = “SERIUS” c) Giả sử mã thu C 201,793,442,18 , thực giải mã để tìm thơng điệp rõ ban đầu 11 Giải a) Ta có N pq 31.41 1271, N 31 1 41 1 1200 d e1 mod N 271mod1200 31 Vậy khóa cơng khai K P 271,1271 , khóa bí mật K S 31,31, 41 b) Chuyển xâu “SERIUS” thành số thập phân có hai chữ số, ta được: 18 04 17 08 20 18 Cắt thành số có chữ số, ta số: 180, 417, 82, 18 Mã hóa số trên: C1 M 1e mod N 180271 mod1271 180 C2 M 2e mod N 417 271 mod1271 634 C3 M 3e mod N 82271 mod1271 82 C4 M 4e mod N 18271 mod1271 18 Bản mã thu C 180,634,82,18 c) Giải mã số rõ trên: M C1d mod N 20131 mod1271 201 M C2d mod N 79331 mod1271 700 M C3d mod N 44231 mod1271 132 M C4d mod N 1831 mod1271 18 Từ ta chuyển thành xâu: 201700132018 Tách thành xâu có chữ số, ta 20 (U), 17 (R), 00 (A), 13 (N), 20 (U), 18 (S) Vậy, thông điệp ban đầu URANUS X – HỆ MÃ EL GAMMAL Ban đầu, người ta chọn số nguyên tố lớn p hai số nguyên tùy ý nhỏ p a (a phần tử nguyên thủy Z P* ) x (x người nhận, bí mật), sau tính: y a x mod p Để mã hóa thông điệp M (là số nguyên Z P ) thành mã C, người gửi chọn số ngẫu nhiên k nhỏ p tính khóa mã hóa K y k mod p a xk mod p, sau tính cặp mã C1 a k mod p C2 KM mod p gửi mã C C1 , C2 12 Để giải mã thông điệp, ta cần tính lại mã hóa thơng điệp K: K C1x mod p a kx mod p Sau tính M cách giải phương trình M C2 K 1 mod p Việc giải mã bao gồm việc tính lại khóa tạm thời K Khóa cơng khai hệ mã p, a, y , khóa bí mật x Ví dụ 1: Cho hệ mã El Gammal có p 31, a 11, x Để mã hóa M 18 người ta chọn k Hãy thực tính toán đưa mã kết Giải Ta có y a x mod p 116 mod31 Khóa mã hóa K y k mod p 47 mod31 16 Cặp mã C1 a k mod p 117 mod31 13, C2 KM mod p 16.18mod31 Vậy mã kết C 13,9 Ví dụ 2: Cho hệ mã mật El Gammal có p 1187, a 79 phần tử nguyên thủy Z P* , x 113 a) Hãy tìm khóa cơng khai K P khóa bí mật K S hệ mã b) Để mã hóa thơng điệp viết tiếng Anh, người ta dùng hàm chuyển đổi ký tự thành số thập phân có hai chữ số sau: A B C D E F G H I J K L M 00 01 02 03 04 05 06 07 08 09 10 11 12 N O P Q R S T U V W X Y Z 13 14 15 16 17 18 19 20 21 22 23 24 25 Khi ví dụ xâu ABC chuyển thành 00 01 02 sau cắt thành số có chữ số 000 (bằng 0) 102 để mã hóa Bản mã thu tập cặp số C1, C2 thuộc Z P Hãy thực mã hóa xâu m = “TAURUS” với giá trị 13 k 19 c) Giả sử thu mã tập cặp C1 , C2 358,305 , 1079,283 , 608,925 , 786,391 Hãy giải mã đưa thông điệp ban đầu Giải a) Ta có y a x mod p 79113 mod1187 76 Khóa cơng khai KP = (p, a, y) = (1187, 79, 76) khóa bí mật KS = 113 13 b) Xâu “TAURUS” chuyển đổi thành số thập phân có hai chữ số, ta được: 19 00 20 17 20 18 Cắt thành số có chữ số, ta số 190, 20, 172, 18 Với k 14, ta có: K y k mod p 7614 mod1187 1025 C1 a k mod p 7914 mod1187 981 M 190 C2 KM mod p 1025.190 mod1187 82 M 20 C2 KM mod p 1025.20 mod1187 321 M 172 C2 KM mod p 1025.172 mod1187 624 M 18 C2 KM mod p 1025.18mod1187 645 Ta có tập cặp số C 981,82 , 981,321 , 981,624 , 981,645 Với k 15, 16, 17, 18 làm tương tự (lười làm lắm, ahihi) c) Với cặp 358,305 , ta có K C1x mod p 358113 mod1187 279, K 1 K 1 mod1187 2791 mod1187 234 M C2 K 1 mod p 305.234mod1187 150 Với cặp 1079,283 , ta có K C1x mod p 1079113 mod1187 212 K 1 K 1 mod1187 2121 mod1187 28 M C2 K 1 mod1187 283.28mod1187 802 Với cặp 608,925 , ta có K C1x mod p 608113 mod1187 925 K 1 K 1 mod1187 9251 mod1187 965 M C2 K 1 mod1187 925.965mod1187 Với cặp 786,391 , ta có K C1x mod p 786113 mod1187 858 K 1 K 1 mod1187 8581 mod1187 184 M C2 K 1 mod1187 391.184mod1187 724 Ta xâu “150 802 001 724” Tách thành xâu có hai chữ số, ta 15 (P), (I), (C), (A), 17 (R), 24 (Y) Vậy, thông điệp ban đầu PICARY 14 XI – CHỮ KÝ ĐIỆN TỬ Một sơ đồ chữ ký điện tử năm P, A, K , S ,V thỏa mãn điều kiện đây: P tập hữu hạn điện (thơng điệp, rõ) A tập hữu hạn chữ ký K tập khơng gian khóa (tập hữu hạn khóa có thể) Với khóa K K tồn thuật toán ký sig K S thuật toán xác minh verK V Mỗi sig K : P A verK : P A true, false hàm cho điện x P chữ ký y A thỏa mãn phương trình đây: true if y sig x ver x, y false if y sig x XII – HỆ CHỮ KÝ RSA Cho n pq, p, q số nguyên tố Đặt P A Z N định nghĩa: K { n, p, q, a, b : n pq, p q số nguyên tố, ab 1mod N } Các giá trị n b cơng khai, p, q, a bí mật Với K n, p, q, a, b ta xác định sig K x x a mod n verK x, y true x yb mod n với x, y Z n Ví dụ: Cho hệ chữ ký điện tử RSA có p 31, q 41, b 271 a) Hãy tìm khóa cơng khai K P khóa bí mật K S hệ mã b) Hãy tính chữ ký cho thơng điệp M 100 Giải a) Ta có n pq 31.41 1271, n p 1 q 1 31 1 41 1 1200 ab 1mod n a b1 mod n 2711 mod1200 31 Vậy khóa cơng khai K P 1271,271 , khóa bí mật K S 31,41,31 b) Ta có sig M M a mod n 10031 mod1271 100 15 XIII – HỆ CHỮ KÝ EL GAMMAL Cho p số nguyên tố toán logarit rời rạc Z P , Z P* phần tử nguyên tử P Z P* , A Z P* Z P1 , định nghĩa K p, , a, : a mod p giá trị p, α, β cơng khai, a bí mật Với K p, , a, chọn số ngẫu nhiên k Z P* 1 , định nghĩa: sig K x, k , , k mod p, x a k 1 mod p 1 Với x, Z P* Z P1 , định nghĩa ver x, , true x mod p Ví dụ: Cho hệ chữ ký điện tử El Gammal có p 1019, a 191 phần tử nguyên thủy Z P* , 37 a) Hãy tìm khóa cơng khai K P khóa bí mật K S hệ chữ ký b) Để ký lên rõ M 102, người ta chọn k 143, thực ký đưa chữ ký tương ứng c) Kiểm tra xem cặp K , S 251,507 có chữ ký lên văn M 127 hay khơng Giải a) Ta có a mod p 37191 mod1019 611 Khóa cơng khai K P 1019,37,611 , khóa bí mật K S 191 b) Ta có sig M , k , k mod p 37143 mod1019 644 M a k 1 mod p 1 102 191.644 mod 1019 1 143 mod 1019 1 mod 1019 1 M a mod p 1 k 1 mod p 1 mod p 1 1 122902 mod1018 1431 mod1018 mod1018 276.299 mod1018 66 sig M , k 644,66 16 c) Ta cần tính ver 127,251,507 Ta kiểm tra a x mod p mod1019 mod1019 mod1019 mod1019 611 mod1019 251 mod1019 mod1019 251 507 593.310 mod1019 410 x mod p 37127 mod1019 975 a x mod p Vậy ver 127,251,507 false Hay cặp (251, 507) không chữ ký lên M = 127 17 ... 18 (S) Vậy, thông điệp ban đầu URANUS X – HỆ MÃ EL GAMMAL Ban đầu, người ta chọn số nguyên tố lớn p hai số nguyên tùy ý nhỏ p a (a phần tử nguyên thủy Z P* ) x (x người nhận, bí mật) , sau tính:... Vậy, thông điệp ban đầu PICARY 14 XI – CHỮ KÝ ĐIỆN TỬ Một sơ đồ chữ ký điện tử năm P, A, K , S ,V thỏa mãn điều kiện đây: P tập hữu hạn điện (thơng điệp, rõ) A tập hữu hạn chữ ký K tập. .. nghiệm x 4.9 11.0 mod11 V – HỆ MÃ CAESAR Hệ mã Caesar hệ mã thay đơn âm làm việc bảng chữ tiếng Anh Để mã hóa, người ta đánh số chữ từ đến N – Khơng gian khóa K Z N Với khóa k K hàm