Tham khảo tài liệu ''book mã hóa ứng dụng update 2 phần 7'', công nghệ thông tin, an ninh - bảo mật phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Chương Chương Một số hệ thống mã hóa khóa cơng cộng " Nội dung chương giới thiệu khái niệm hệ thống mã hóa khóa cơng cộng Phương pháp RSA tiếng trình bày chi tiết chương Ở cuối chương phần so sánh hệ thống mã hóa quy ước hệ thống mã hóa khóa cơng cộng với mơ hình kết hợp hai hệ thống 6.1 Hệ thống mã hóa khóa cơng cộng Vấn đề phát sinh hệ thống mã hóa quy ước việc quy ước chung mã khóa k người gửi A người nhận B Trên thực tế, nhu cầu thay đổi nội dung mã khóa k cần thiết, đó, cần có trao đổi thơng tin mã khóa k A B Để bảo mật mã khóa k, A B phải trao đổi với kênh liên lạc thật an tồn bí mật Tuy nhiên, khó bảo đảm an toàn kênh liên lạc nên mã khóa k bị phát người C! Ý tưởng hệ thống mã hóa khóa cơng cộng Martin Hellman, Ralph Merkle Whitfield Diffie Đại học Stanford giới thiệu vào năm 1976 Sau đó, 172 Một số hệ thống mã hóa khóa công cộng phương pháp Diffie-Hellman Martin Hellman Whitfield Diffie công bố [45] Năm 1977, báo "The Scientific American", nhóm tác giả Ronald Rivest, Adi Shamir Leonard Adleman công bố phương pháp RSA, phương pháp mã hóa khóa cơng cộng tiếng sử dụng nhiều ứng dụng mã hóa bảo vệ thơng tin [39] RSA nhanh chóng trở thành chuẩn mã hóa khóa cơng cộng tồn giới tính an tồn khả ứng dụng Một hệ thống khóa cơng cộng sử dụng hai loại khóa cặp khóa: khóa cơng cộng (public key) cơng bố rộng rãi sử dụng mã hóa thơng tin, khóa riêng (private key) người nắm giữ sử dụng để giải mã thông tin mã hóa khóa cơng cộng Các phương pháp mã hóa khai thác ánh xạ f mà việc thực ánh xạ ngược f –1 khó so với việc thực ánh xạ f Chỉ biết mã khóa riêng thực ánh xạ ngược f –1 khóa cơng cộng Thơng điệp gốc Mã hóa khóa riêng Thơng điệp mã hóa Giải mã Thơng điệp giải mã 173 Chương Hình 6.1 Mơ hình hệ thống mã hóa với khóa cơng cộng Khi áp dụng hệ thống mã hóa khóa cơng cộng, người A sử dụng mã khóa cơng cộng để mã hóa thơng điệp gửi cho người B Do biết mã khóa riêng nên B giải mã thơng điệp mà A mã hóa Người C phát thơng điệp mà A gửi cho B, kết hợp với thông tin mã khóa cơng cộng cơng bố, khó có khả giải mã thơng điệp khơng nắm mã khóa riêng B 6.2 6.2.1 Phương pháp RSA Phương pháp RSA Năm 1978, R.L.Rivest, A.Shamir L.Adleman đề xuất hệ thống mã hóa khóa cơng cộng RSA (hay cịn gọi “hệ thống MIT”) Trong phương pháp này, tất phép tính thực Zn với n tích hai số nguyên tố lẻ p q khác Khi đó, ta có φ(n) = (p–1) (q–1) Thuật tốn 6.1 Phương pháp mã hóa RSA n = pq với p q hai số nguyên tố lẻ phân biệt Cho P = C = Z n định nghĩa: K = {((n, p, q, a, b): n = pq, p, q số nguyên tố, ab ≡ (mod φ(n))} Với k = (n, p, q, a, b) ∈ K, định nghĩa: ek(x) = xb mod n dk(y) = ya mod n, với x, y ∈ Z n Giá trị n b công bố, giá trị p, q, a giữ bí mật 174 Một số hệ thống mã hóa khóa cơng cộng Dựa định nghĩa phương pháp mã hóa RSA, việc áp dụng vào thực tế tiến hành theo bước sau: Thuật toán 6.2 Sử dụng phương pháp RSA Phát sinh hai số nguyên tố có giá trị lớn p q Tính n = pq φ(n) = (p – 1) (q – 1) Chọn ngẫu nhiên số nguyên b (1 < b < φ(n)) thỏa gcd(b, φ(n)) = Tính giá trị a = b–1 mod φ(n) (bằng thuật toán Euclide mở rộng) Giá trị n b cơng bố (khóa công cộng), giá trị p, q, a giữ bí mật (khóa riêng) 6.2.2 Một số phương pháp cơng giải thuật RSA Tính chất an tồn phương pháp RSA dựa sở chi phí cho việc giải mã bất hợp lệ thông tin mã hóa q lớn nên xem khơng thể thực Vì khóa cơng cộng nên việc cơng bẻ khóa phương pháp RSA thường dựa vào khóa cơng cộng để xác định khóa riêng tương ứng Điều quan trọng dựa vào n để tính p, q n, từ tính d 6.2.2.1 Phương pháp sử dụng φ(n) Giả sử người công biết giá trị φ(n) Khi việc xác định giá trị p, q đưa việc giải hai phương trình sau: n = p⋅q 175 Chương φ (n ) = ( p − 1)(q − 1) (6.1) Thay q = n/p, ta phương trình bậc hai: p − (n − φ (n ) + 1) p + n = (6.2) p, q hai nghiệm phương trình bậc hai Tuy nhiên vấn đề phát giá trị φ(n) cịn khó việc xác định hai thừa số nguyên tố n 6.2.2.2 Thuật tốn phân tích thừa số p-1 Thuật tốn 6.3 Thuật tốn phân tích thừa số p-1 Nhập n B a=2 for j = to B a = aj mod n d = gcd(a − 1, n) if < d < n then d thừa số nguyên tố n (thành công) else không xác định thừa số nguyên tố n (thất bại) Thuật toán Pollard p-1 (1974) thuật toán đơn giản hiệu dùng để phân tích thừa số nguyên tố số nguyên lớn Tham số đầu vào thuật toán số nguyên (lẻ) n cần phân tích thừa số nguyên tố giá trị giới hạn B 176 Một số hệ thống mã hóa khóa cơng cộng Giả sử n = p.q (p, q chưa biết) B số nguyên đủ lớn, với thừa số nguyên tố k, k ≤ B ∧ k ( p − 1) ⇒ ( p − 1) B! Ở cuối vịng lặp (bước 2), ta có a ≡ 2B! (mod n) (6.3) a ≡ 2B! (mod p) (6.4) Suy Do p|n nên theo định lý Fermat, ta có : 2p-1 ≡ (mod p) (6.5) Do (p-1)|B!, nên bước thuật toán, ta có: a ≡ (mod p) (6.6) p|(a − 1) p|n, (6.7) Vì thế, bước 4: nên d = gcd(a − 1,n) d = p Ví dụ: Giả sử n = 15770708441 Áp dụng thuật toán p – với B = 180, xác định a = 11620221425 bước thuật toán xác định giá trị d = 135979 Trong trường hợp này, việc phân tích thừa số nguyên tố thành công giá trị 135978 có thừa số ngun tố nhỏ phân tích thừa số nguyên tố: 135978 = × × 131 × 173 177 Chương Do đó, chọn B ≥ 173 đảm bảo điều kiện 135978⏐ B! Trong thuật tốn p − có B − phép tính lũy thừa modulo, phép địi hỏi tối đa 2log2B phép nhân modulo sử dụng thuật toán bình phương nhân (xem 6.2.6 - Xử lý số học) Việc tính USCLN sử dụng thuật tốn Euclide có độ phức tạp ( O((log n)3) Như vậy, độ phức tạp thuật toán O B log B(log n )2 + (log n )3 ) Tuy nhiên xác suất chọn giá trị B tương đối nhỏ thỏa điều kiện ( p − 1) B! thấp Ngược lại, tăng giá trị B (chẳng hạn B ≈ n ) giải thuật thành cơng, thuật tốn khơng nhanh giải thuật chia dần trình bày Giải thuật hiệu công phương pháp RSA trường hợp n có thừa số nguyên tố p mà (p − 1) có ước số nguyên tố nhỏ Do đó, dễ dàng xây dựng hệ thống mã hóa khóa cơng cộng RSA an tồn giải thuật cơng p − Cách đơn giản tìm số nguyên tố p1 lớn, mà p = 2p1 + số nguyên tố, tương tự tìm q1 nguyên tố lớn q = 2q1 + nguyên tố 6.2.2.3 Bẻ khóa biết số mũ d hàm giải mã Việc tính giá trị d khơng dễ dàng, khóa riêng nên biết giải mã đoạn tin tương ứng Tuy nhiên giải thuật mang ý nghĩa mặt lý thuyết, cho biết có d ta tính 178 Một số hệ thống mã hóa khóa cơng cộng thừa số n Nếu điều xảy người sở hữu khóa khơng thể thay đổi khóa cơng cộng, mà phải thay ln số n Nhắc lại: phương trình x2 ≡ (mod p) có hai nghiệm (modulo p) x = ±1 mod p Tương tự, phương trình x2 ≡ (mod q) có hai nghiệm (modulo q) x = ±1 mod q Do x2 ≡ (mod n) ⇔ x2 ≡ (mod p) ∧ x2 ≡ (mod q) (6.8) x2 ≡ (mod n) ⇔ x = ± (mod p) ∧ x = ± (mod q) (6.9) nên ta có Sử dụng lý thuyết số dư Trung Hoa, xác định bốn bậc hai modulo n Nếu chọn w bội số p hay q bước thuật tốn, phân tích n thừa số nguyên tố Nếu w nguyên tố với n, tính wr,w2r,w4r,… tồn t cho: w2 r ≡ ( mod n ) t (6.10) Do ab − = s r ≡ (mod φ (n)) nên w2 r ≡ ( mod n ) Vậy, vòng lặp while s bước thuật toán thực tối đa s lần lặp Sau thực xong vòng lặp while, tìm giá trị v0 thỏa v 02 ≡ (mod n) hay v0 ≡ ± (mod n) Nếu v0 ≡ −1 (mod n) thuật toán thất bại; 179 Chương ngược lại, v0 bậc không tầm thường modulo n phân tích n thừa số nguyên tố Thuật toán 6.4 Thuật toán phân tích thừa số nguyên tố, biết trước giá trị số mũ giải mã a Chọn ngẫu nhiên w thỏa ≤ w ≤ n − Tính x = gcd(w, n) if < x < n then Chấm dứt thuật tốn (thành cơng với x = q hay x = p) end if Tính a = A(b) Đặt ab − = 2sr với r lẻ Tính v = wr mod n if v ≡ (mod n) then Chấm dứt thuật toán (thất bại) end if while v (mod n) v0 = v v = v2 mod n if v0 ≡ -1(mod n) then Chấm dứt thuật tốn (thất bại) else Tính x = gcd(v0+1, n) Chấm dứt thuật tốn (thành cơng với x = q hay x = p) end if end while 180 Một số hệ thống mã hóa khóa cơng cộng 6.2.2.4 Bẻ khóa dựa cơng lặp lại Siimons Norris hệ thống RSA bị tổn thương sử dụng cơng lặp liên tiếp Đó đối thủ biết cặp khóa cơng cộng {n, b} từ khóa C tính chuỗi từ khóa sau: C1=Ce (mod n) C2=C1e (mod n) … Ci=Ci-1e (mod n) (6.11) Nếu có phần tử Cj chuỗi C1, C2, C3,…., Ci cho Cj = C tìm M = Cj-1 vì: Cj = Cj-1e (mod n) C = Me (mod n) (6.12) Ví dụ: Giả sử biết {n, b, C}={35, 17, 3},anh ta tính: C1 = Ce (mod n) = 317 (mod 35) = 33 C2 = C1e (mod n) = 3317 (mod 35) = Vì C2 = C nên M = C1 = 33 181 Chương 6.2.3 Sự che dấu thông tin hệ thống RSA Hệ thống RSA có đặc điểm thông tin che dấu Giả sử người gởi có e = 17, n = 35 Nếu muốn gởi liệu thuộc tập sau: {1, 6, 7, 8, 13, 14, 15, 20, 21, 22, 27, 28, 29, 34} kết việc mã hóa lại liệu ban đầu Nghĩa là, M = Me mod n Còn p = 109, q = 97, e = 865 hệ thống hồn tồn khơng có che dấu thơng tin, vì: ∀M, M = M865 mod (109*97), Với giá trị n, có trường hợp kết mã hóa liệu nguồn ban đầu Thật vậy, M = Me mod n (6.1) M = Me mod p M = Me mod q (6.2) hay: Với e, (6.2) có ba giải pháp thuộc tập {0, 1, -1} Để xác định xác số thông điệp không che dấu (không bị thay đổi sau mã hóa) ta sử dụng định lý sau: “Nếu thơng điệp mã hóa hệ thống RSA xác định số modulus n = p.q (p,q số ngun tố) khóa cơng cộng e có: m = [1+gcd(e-1, p-1)][1+gcd(e-1), q-1] thơng điệp không bị che dấu 182 Một số hệ thống mã hóa khóa cơng cộng Mấu chốt để giải mã thơng tin có giá trị p q tạo nên giá trị n Khi có hai giá trị này, ta dễ dàng tính φ(n) = (p – 1)(q – 1) giá trị a = b–1 mod φ(n) theo thuật tốn Euclide mở rộng Nếu số ngun n phân tích thừa số nguyên tố, tức giá trị p q xác định xem tính an tồn phương pháp RSA khơng cịn bảo đảm Như vậy, tính an toàn phương pháp RSA dựa sở máy tính thời điểm chưa đủ khả giải việc phân tích số nguyên lớn thừa số nguyên tố Tuy nhiên, với phát triển ngày nhanh chóng máy tính bước đột phá lĩnh vực toán học, phương pháp RSA gạp phải khó khăn việc bảo mật thông tin Năm 1994, Peter Shor, nhà khoa học phịng thí nghiệm AT&T, đưa thuật tốn phân tích cách hiệu số nguyên lớn máy tính lượng tử Mặc dù máy tính lượng tử chưa thể chế tạo rõ ràng phương pháp RSA gặp phải nhiều thách thức lớn tương lai 6.2.4 Vấn đề số nguyên tố Để bảo đảm an tồn cho hệ thống mã hóa RSA, số ngun n = pq phải đủ lớn để dễ dàng tiến hành việc phân tích n thừa số nguyên tố Hiện tại, thuật tốn phân tích thừa số nguyên tố giải số nguyên có 130 chữ số (thập phân) Để an toàn, số nguyên tố p q cần phải đủ lớn, ví dụ 100 chữ số Vấn đề đặt giải toán: làm để kiểm tra cách nhanh chóng xác số nguyên dương n số nguyên tố hay hợp số? Theo định nghĩa, số nguyên dương n số nguyên tố n chia hết cho n (ở xét số nguyên dương) Từ suy ra, n số nguyên 183 Chương tố n khơng có ước số dương thuộc đoạn ⎡ 2, , ⎡⎣ n ⎤⎦ ⎤ Như ⎣ ⎦ vậy, ta có: n số nguyên tố ⇔ ∀i ∈ ⎡ 2, , ⎡⎣ n ⎤⎦ ⎤ , ¬ ( n ≡ ( mod i ) ) ⎣ ⎦ Việc kiểm tra số nguyên dương n số nguyên tố theo phương pháp đưa kết hồn tồn xác Tuy nhiên, thời gian xử lý thuật toán rõ ràng lớn, chí khơng thể thực được, trường hợp n tương đối lớn 6.2.5 Thuật toán Miller-Rabin Trên thực tế, việc kiểm tra số nguyên dương n số nguyên tố thường áp dụng phương pháp thuộc nhóm thuật tốn Monte Carlo, ví dụ thuật tốn Solovay-Strassen hay thuật tốn Miller-Robin; đó, thuật toán Miller-Robin thường sử dụng phổ biến Các thuật tốn có ưu điểm xử lý nhanh chóng (số nguyên dương n kiểm tra thời gian tỉ lệ với log2n, tức số lượng bit biểu diễn nhị phân n) có khả kết luận thuật tốn khơng hồn tồn xác, nghĩa có khả hợp số n lại kết luận số nguyên tố, xác suất xảy kết luận khơng xác khơng cao Tuy nhiên, vấn đề khắc phục cách thực thuật toán số lần đủ lớn, ta làm giảm khả xảy kết luận sai xuống ngưỡng cho phép đó, xem kết luận có độ tin cậy cao Định nghĩa 6.1: Thuật tốn thuộc nhóm Monte Carlo sử dụng việc khẳng định hay phủ định vấn đề Thuật tốn ln đưa câu trả lời câu trả lời thu có khả “Có” (yes) “Khơng” (no) 184 Một số hệ thống mã hóa khóa cơng cộng Định nghĩa 6.2: Thuật toán “yes-biased Monte Carlo” thuật tốn Monte Carlo, đó, câu trả lời “Có” (Yes) ln xác câu trả lời “Khơng” (No) khơng xác Thuật tốn 6.5 Thuật tốn Miller-Rabin Phân tích số nguyên dương p dạng n = 2km + với m lẻ Chọn ngẫu nhiên số nguyên dương a ∈ {1, 2, , n-1} Tính b = am mod p if b ≡ (mod p) then Kết luận “p số nguyên tố” dừng thuật toán end if for i = to k − if b ≡ p − (mod p) then Kết luận “p số nguyên tố” dừng thuật toán else b = b2 mod p end if end for Kết luận “p hợp số” Thuật toán Miller-Rabin thuật toán “yes-biased Monte Carlo” vị từ “số nguyên dương n hợp số” Xác suất xảy kết luận sai, nghĩa thuật toán đưa kết luận “n số nguyên tố” n thật hợp số, tối đa 25% Nếu áp dụng thuật toán k lần với giá trị a khác mà ta thu kết luận “n số nguyên tố” xác suất xác kết luận − 4k → , với k đủ lớn 185 Chương 6.2.6 Xử lý số học Trong phương pháp mã hóa RSA, nhu cầu tính giá trị biểu thức z = xb mod n đặt thao tác mã hóa giải mã Nếu thực việc tính giá trị theo cách thơng thường rõ ràng không hiệu thời gian xử lý q lớn Thuật tốn “bình phương nhân” (square-and-multiply) sử dụng để tính giá trị biểu thức z = xb mod n cách nhanh chóng hiệu Thuật tốn 6.6 Thuật tốn “bình phương nhân” để tính giá trị z = x b mod n Biểu diễn b dạng nhị phân bl-1bl-2 b1b0, bi∈{0, 1}, 0≤ i < l z=1 x = x mod n for i = l-1 downto z = z2 mod n if bi = then z = z×x mod n end if end for 6.3 Mã hóa quy ước mã hóa khóa cơng cộng Các phương pháp mã hóa quy ước có ưu điểm xử lý nhanh so với phương pháp mã hóa khóa cơng cộng Do khóa dùng để mã hóa dùng để giải mã nên cần phải giữ bí mật nội dung khóa mã khóa gọi khóa bí 186 Một số hệ thống mã hóa khóa công cộng mật (secret key) Ngay trường hợp khóa trao đổi trực tiếp mã khóa có khả bị phát Vấn đề khó khăn đặt phương pháp mã hóa tốn trao đổi mã khóa Ngược lại, phương pháp mã hóa khóa cơng cộng giúp cho việc trao đổi mã khóa trở nên dễ dàng Nội dung khóa cơng cộng (public key) khơng cần phải giữ bí mật khóa bí mật phương pháp mã hóa quy ước Sử dụng khóa cơng cộng, mã khóa bí mật trao đổi an tồn theo quy trình Hình 6.2 Khóa bí mật Mã hóa công khai Dữ liệu cần mã hóa Khóa bí mật mã hóa Mã khóa Khóa công khai B Khóa riêng B Mã khóa Dữ liệu cần giải mã Giải mã công khai A Khóa bí mật B Hình 6.2 Quy trình trao đổi khóa bí mật sử dụng khóa cơng cộng Vấn đề cịn lại khóa cơng cộng làm cách xác nhận xác người chủ thật khóa cơng cộng (xem Chương 10) Dựa vào Bảng 6.1, nhận thấy để có mức độ an tồn tương đương với phương pháp mã hóa quy ước, phương pháp mã hóa 187 Chương khóa cơng cộng phải sử dụng mã khóa có độ dài lớn nhiều lần mã khóa bí mật sử dụng mã hóa quy ước Điều thể rõ qua đồ thị so sánh chi phí cần thiết để cơng phá khóa bí mật khóa cơng cộng Hình 6.3 Kích thước mã khóa tính dựa mơ hình đánh giá, ước lượng chi phí phân tích mật mã Hội đồng Nghiên cứu Quốc gia Hoa Kỳ (National Research Council) đề nghị [43] Bảng 6.1 So sánh độ an tồn khóa bí mật khóa cơng cộng Phương pháp mã hóa quy ước Kích thước Thuật tốn mã khóa (bit) 56 DES 70 80 SKIPJACK 96 112 3DES với khóa 128 150 168 192 256 188 IDEA, AES 3DES với khóa AES AES Phương pháp mã hóa khóa cơng cộng Kích thước Ứng dụng mã khóa (bit) 256 384 Phiên PGP cũ (kích thước tối thiểu) 512 Short DSS, PGP “low grade” 768 PGP “high grade” 1024 Long DSS, PGP “military grade” 1440 2047 PGP “alien grade” 2880 3000 4096 4K 2K 1K 512 256 128 64 Chi phí Một số hệ thống mã hóa khóa cơng cộng Độ dài mã khóa (bits) Hình 6.3 Đồ thị so sánh chi phí cơng phá khóa bí mật khóa cơng cộng Trên thực tế, khóa cơng cộng dễ bị cơng khóa bí mật Để tìm khóa bí mật, người giải mã cần phải có thêm số thơng tin liên quan đến đặc tính văn nguồn trước mã hóa để tìm manh mối giải mã thay phải sử dụng phương pháp vét cạn mã khóa Ngồi ra, việc xác định xem thơng điệp sau giải mã có thơng điệp ban đầu trước mã hóa hay khơng lại vấn đề khó khăn Ngược lại, khóa cơng cộng, việc cơng phá hồn tồn thực với điều kiện có đủ tài nguyên thời gian xử lý Ngồi ra, để giải mã thơng điệp sử dụng phương pháp mã hóa khóa cơng cộng, người giải mã khơng cần phải vét cạn tồn khơng gian mã khóa mà cần khảo sát tập không gian 189 Chương Bên cạnh đó, khóa cơng cộng cịn mục tiêu công đáng giá người giải mã khóa bí mật Khóa cơng cộng thường dùng để mã hóa khóa bí mật thực việc trao đổi mã khóa bí mật Nếu khóa cơng cộng bị phá thơng điệp sau sử dụng mã khóa bị giải mã Trong đó, phát mã khóa bí mật có thơng điệp sử dụng mã khóa bị giải mã Trên thực tế, mã khóa bí mật thường sử dụng lần nên có giá trị so với khóa cơng cộng Tóm lại, khóa cơng cộng dùng để mã hóa thơng tin ngắn lại thông tin quan trọng 190 Chữ ký điện tử Chương Chữ ký điện tử " Nội dung chương giới thiệu khái niệm chữ ký điện tử với số phương pháp chữ ký điện tử phổ biến RSA, ElGamal DSS 7.1 Giới thiệu Chữ ký điện tử không sử dụng nhằm bảo mật thông tin mà nhằm bảo vệ thông tin không bị người khác cố tình thay đổi để tạo thơng tin sai lệch Nói cách khác, chữ ký điện tử giúp xác định người tạo hay chịu trách nhiệm thông điệp Một phương pháp chữ ký điện tử bao gồm hai thành phần chính: thuật tốn dùng để tạo chữ ký điện tử thuật toán tương ứng để xác nhận chữ ký điện tử Định nghĩa 7.1: Một phương pháp chữ ký điện tử định nghĩa bộnăm (P, A, K, S, V) thỏa điều kiện sau: 191 ... liệu cần mã hóa Khóa bí mật mã hóa Mã khóa Khóa công khai B Khóa riêng B Mã khóa Dữ liệu cần giải mã Giải mã công khai A Khóa bí mật B Hình 6 .2 Quy trình trao đổi khóa bí mật sử dụng khóa cơng... điệp mã hóa Giải mã Thơng điệp giải mã 173 Chương Hình 6.1 Mơ hình hệ thống mã hóa với khóa cơng cộng Khi áp dụng hệ thống mã hóa khóa cơng cộng, người A sử dụng mã khóa cơng cộng để mã hóa thơng... giải mã khóa bí mật Khóa cơng cộng thường dùng để mã hóa khóa bí mật thực việc trao đổi mã khóa bí mật Nếu khóa cơng cộng bị phá thơng điệp sau sử dụng mã khóa bị giải mã Trong đó, phát mã khóa