Bài báo này đề xuất một phương pháp thực hiện hệ mật khóa bí mật nhưng dựa trên bài toán logarit rời rạc, trong đó phép mã hóa và giải mã được thực hiện bằng hàm lũy thừa các đa thức theo modulo, theo cách tương tự như hệ mật Pohlig-Hellman.
Ngô Đức Thiện MỘT PHƯƠNG PHÁP XÂY DỰNG HỆ MẬT POHLIG-HELLMAN TRÊN VÀNH ĐA THỨC Ngô Đức Thiện Học viện Cơng nghệ Bưu Viễn thơng Tóm tắt: Cho đến nay, cách thức mã hóa giải mã hệ mật khóa bí mật chủ yếu sử dụng phép hoán vị, phép thay thế, lai ghép hai phép này, phép xử lý bit Bài báo đề xuất phương pháp thực hệ mật khóa bí mật dựa tốn logarit rời rạc, phép mã hóa giải mã thực hàm lũy thừa đa thức theo modulo, theo cách tương tự hệ mật Pohlig-Hellman Cùng với đó, báo đề xuất thuật toán thực hàm lũy thừa Từ khóa: Hệ mật khóa bí mật, toán logarit rời rạc, hệ mật Pohlig-Hellman, vành đa thức, trường số * I GIỚI THIỆU Hệ mật khóa bí mật [1], [3], [4]) (hay biết đến hệ mật khóa đối xứng) có lịch sử phát triển lâu đời Phương pháp xây dựng hệ mật khóa bí mật đơn giản, khơng có phép tốn học đặc biệt mà chủ yếu dựa vào phép thay thế, phép hoán vị, sử dụng hai phép hệ mật DES hay AES; phương pháp xử lý bít hệ mật mã dòng (Stream cipher) Khi sử dụng lai ghép phép thay với phép hốn vị, thơng thường hệ mật hay sử dụng phép thay phi tuyến nhằm tăng độ an toàn Sơ đồ chức hệ mật khóa bí mật hình Thám mã Bản rõ M Nguồn tin (Alice) Bộ mã hóa Bản mã C Kênh mở (khơng an tồn) K Bản mã C Bộ giải mã K (Oscar) Bản rõ M Nhận tin (Bob) Kênh an tồn Nguồn khóa Hình Sơ đồ chức hệ mật khóa bí mật Hệ mật có ưu điểm bật tốc độ mã hóa giải mã nhanh, hệ số mở rộng tin thấp Chính hệ mật khóa bí mật hay dùng để mã hóa bảo mật liệu ứng dụng bảo mật thời gian thực Tuy nhiên, nhược điểm lớn hệ mật việc sinh khóa, lưu trữ khóa bảo vệ khóa phức tạp, số lượng người dùng mạng tăng cao Ngồi ra, hệ mật cịn phải sử dụng kênh an tồn để phân phối khóa dẫn đến chi phí tăng; phải sử dụng giao thức thỏa thuận khóa an tồn Các hệ mật khó thực dịch vụ xác thực, chữ ký số, thương mại điện tử… Các hệ mật khóa cơng khai (hay hệ mật khóa bất đối xứng) thường xây dựng toán chiều Một hàm chiều sử dụng nhiều toán logarit rời rạc, với hệ mật như: trao đổi thỏa thuận khóa Diffie-Hellman, hệ mật Omura-Massey, PohligHellman, hệ mật chữ ký số ElGamal, hệ mật đường cong elliptic Bài toán logarit rời rạc thường thực trường số, liệu rõ mã biểu diễn số nguyên dương trường số GF ( p) với p số nguyên tố Từ nghiên cứu [6] cho thấy đẳng cấu vành đa thức có lớp kề cyclic với trường số, ta thực tốn logarit rời rạc đa thức, liệu mô tả đa thức Bài báo đề xuất phương pháp thực hệ mật mã khóa bí mật với phép mã hóa giải mã hãm lũy thừa đa thức vành đa thức có hai lớp kề cyclic Cùng với đó, báo đề xuất thuật tốn tính hàm lũy thừa đa thức theo modulo Cấu trúc báo chia thành phần, sau phần giới thiệu phần: phần hệ mật Pohlig-Hellman; phần cấu trúc tựa đẳng cấu vành đa thức có hai lớp kề cyclic trường số; phần đề xuất hệ mật Pohlig-Hellman vành đa thức có lớp kề cyclic cuối phần kết luận II HỆ MẬT POHLIG-HELLMAN A Bài toán logarit rời rạc Cho đến chưa có thuật tốn hiệu để giải tốn logarit rời rạc tổng qt Có nhiều thuật toán phức tạp, thường sinh từ thuật tốn tương tự tốn phân tích thừa số, chúng chạy nhanh thuật tốn thơ sơ, chậm so với thời gian đa thức Có thể kể đến số thuật tốn như: baby-step giant-step, Pollard, Pohlig-Hellman, COS, index calculus Tóm tắt toán logarit rời rạc sau [1], [2]: Tác giả liên hệ: Ngơ Đức Thiện, Email: thiennd@ptit.edu.vn Đến tịa soạn: 5/2020, chỉnh sửa: /2020, chấp nhận đăng: 7/2020 SỐ 02 (CS.01) 2020 TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THÔNG 21 MỘT PHƯƠNG PHÁP XÂY DỰNG HỆ MẬT POHLIG-HELLMAN TRÊN VÀNH ĐA THỨC Xét vành số ℤ𝑝 , 𝑝 nguyên tố ℤ𝑝 trường (ℤ𝑝 = 𝐺𝐹(𝑝)) Tập tất phần tử khác trường tạo nên nhóm nhân cyclic ℤ∗𝑝 - Cho 𝑔 ∈ nhóm nhân - Phép mã hóa thực theo phương trình đồng dư sau: () ℤ∗𝑝 = ℤ𝑝 /{0} = {1,2, … , 𝑝 − 1} ℤ∗𝑝 - Chọn 𝑝 số nguyên tố lớn an toàn phần tử sinh (nguyên thủy) - Cho 𝑦 ∈ ℤ∗𝑝 , yêu cầu tìm 𝑥 (nếu tồn tại) cho: 𝑥 𝑔 = 𝑦, tức là: 𝑥 = log 𝑔 𝑦 Nhận xét: ∀𝑦 ∈ ℤ∗𝑝 thì: - Bài tốn có nghiệm 𝑔 phần tử nguyên thủy c m e mod p - Phép giải mã thực sau: m cd mod p () Trong đó: 𝑚 rõ; 𝑐 mã; 𝑒 số mũ mã hóa 𝑑 số mũ giải mã Số mũ mã hóa 𝑒 (hay khóa) phải số khả nghịch 𝑒 phải thỏa mãn [1], [3], [4]: gcd(e, (p )) = - Bài tốn khơng có nghiệm 𝑔 Ví dụ 1: Xét 𝑝 = 17 𝑔 = phần tử nguyên thủy ∗ nhóm nhân ℤ17 , ta có giá trị 3𝑡 log 𝑡 bảng (Chú ý, phép tính lấy theo modulo 17) BẢNG GIÁ TRỊ HÀM MŨ VÀ LOGARIT RỜI RẠC CƠ SỐ CỦA CÁC PHẦN ∗ TỬ TRONG NHÓM NHÂN ℤ17 𝑡 3𝑡 10 13 15 11 16 log 𝑡 16 14 12 15 11 10 𝑡 10 11 12 13 14 15 16 3𝑡 14 12 𝑙𝑜𝑔3 𝑡 13 Từ bảng ta nhận thấy hàm mũ hàm logarit rời rạc hàm đồng biến phân bố ngẫu nhiên Với trường hợp 𝑝 nhỏ việc tính x = logg y dễ dàng có từ việc tính tồn số y = gx bảng Nhưng 𝑝 lớn (từ vài trăm bit trở lên) số lượng phép tính lớn nhiều khó giải Bài tốn logarit rời rạc khơng phải lúc khó, độ khó phụ thuộc vào nhóm nhân lựa chọn Ví dụ, hệ mật dựa phép logarit rời rạc thường chọn nhóm nhân ℤ𝑝∗ 𝑝 số nguyên tố lớn Tuy nhiên, 𝑝 − có thừa số số ngun tố nhỏ, sử dụng thuật tốn Pohlig-Hellman để giải tốn logarit rời rạc hiệu Vì người ta thường lựa chọn 𝑝 số nguyến tố lớn an tồn, để thành lập nhóm nhân ℤ∗𝑝 cho hệ mật Một số nguyên tố an toàn số nguyên tố có dạng 𝑝 = 2𝑞 + 1, với 𝑞 số nguyên tố lớn Điều đảm bảo 𝑝 − = 2𝑞 có thừa số nguyên tố lớn khơng dễ dàng giải toán logarit rời rạc thuật toán PohligHellman B Hệ mật Pohlig – Hellman Bài toán logarit rời rạc tốn khó, tốn lũy thừa rời rạc lại khơng khó (có thể tính thuật tốn nhân bình phương) Trường hợp này, giống tốn phân tích thừa số hay phép nhân số nguyên, chúng dùng để xây dựng cấu trúc cho hệ mật mã Hệ mật Pohlig-Hellman hệ mật sử dụng toán logarit rời rạc, tóm tắt hệ mật sau [1]: SỐ 02 (CS.01) 2020 () () Với 𝜑(𝑝) hàm Phi-Euler [1] Do 𝑝 số nguyên tố nên 𝜑(𝑝) = 𝑝 − 1, số mũ giải mã tương ứng 𝑑 tính từ phép nghịch đảo 𝑒 mod 𝜑(𝑝) sau: d e mod(p − 1) () Hệ mật Pohlig – Hellman sử dụng làm hệ mật khóa bí mật thơng thường dễ xác định 𝑑 từ 𝑒 𝑝 Thậm chí giữ bí mật 𝑝 suy từ kích thước khối mã III CẤU TRÚC TỰA ĐẲNG CẤU CỦA VÀNH ĐA THỨC CÓ HAI LỚP KỀ CYCLIC VỚI TRƯỜNG SỐ * Định nghĩa 1: Vành đa thức theo modulo Z2[x ]/ (x n + 1) gọi vành đa thức có hai lớp kề cyclic phân tích x n + có dạng sau [5], [6]: n- x n + = (x + 1)å x i () i= Trong đó: (x + 1) å n- i= x i đa thức bất khả quy Chú ý: Các phép tính nhân cộng đa thức tính theo modulo x n + Tức coi x n + = hay x n = = x (phép cộng phép cộng mod 2) Và để thuận tiện, báo tác giả không ghi mod(x n + 1) phép cộng, nhân lũy thừa đa thức Trong vành đa thức tồn nhóm nhân cyclic có cấp cực đại [5], [6]: G = {[a(x )]i , i = 1, 2, 3, , k } () k = max ord a(x ) = 2n - - () Với: * Mối quan hệ Z2[x ]/ (x n + 1) GF ( p) n Xét số nguyên tố p với p = - Khi vành số modulo Z p trở thành trường hữu hạn GF ( p) trường tồn nhóm nhân cyclic [6]: TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG 22 Ngơ Đức Thiện Z*p = Zp / {0} có cấp | ¢ *p |= p - = 2n - v " a ẻ Z*p đ $a - Ỵ Z*p : aa - º 1mod p Xét a(x ) Ỵ Z2[x ]/ (x n + 1) với a(x ) có trọng số lẻ Trong phần tác giả đề xuất phương pháp xây dựng hệ mật khóa bí mật theo cách Pohlig-Hellman Tuy nhiên, hàm mã hóa giải mã hàm lũy thừa đa thức theo modulo, rõ 𝑚(𝑥) mã 𝑐(𝑥) biểu diễn đa thức Mơ hình truyền tin hệ mật mơ tả hình Khi $ a - (x ) với W (a - (x )) lẻ thỏa mãn: () n Do vậy, xây dựng phép tương ứng sau [6]: å a(x ) = iỴ I å iỴ I Bản rõ 𝒎(𝒙) Nguồn tin coi lũy đẳng e0 (x ) = å i= Bộ mã hóa 𝒄(𝒙) Bản mã Kênh mở (khơng an toàn) 𝒄(𝒙) Bản rõ Bộ giải mã 𝒅, 𝒏 𝒎(𝒙) Nhận tin (Bob) Kênh an tồn fi 2i Ỵ Z*p n- Bản mã 𝒆, 𝒏 (Alice) fi x i Ỵ Z2[x ]/ (x n + 1) a a= (Oscar) Thám mã a(x )a (x ) º 1mod(x + 1) - Nguồn khóa Hình Mơ hình truyền tin hệ mật Pohlig-Hellman xây dựng vành đa thức i x = Khi ta coi ánh xạ 1-1 phần tử Z2[x ]/ (x n + 1) với phần tử GF (p ) Như Mô tả hệ mật sau: vậy, vành đa thức có hai lớp kề cyclic trường GF (p ) Bên Alice tạo khóa bí mật: e,d , n theo bước sau: với p = - (𝑝 – nguyên tố) gọi tựa đẳng cấu (quasi-isomorphism) Ta so sánh việc thực phép toán cộng nhân hai cấu trúc bảng Bước 1: chọn số 𝑛 thỏa mãn: n BẢNG 2: PHÉP CỘNG VÀ NHÂN TRÊN CẤU TRÚC VÀNH ĐA THỨC VÀ TRƯỜNG SỐ Phép tính Vành đa thức Trường số Z2[x ]/ (x n + 1) GF ( p) å x i ; a (x ) = Phép cộng i Ỵ I Ì Zn b(x ) = å bj x j j Ỵ J Ì Zn å k Ỵ K Ì Zn • Z2[x ]/ (x n + 1) vành đa thức có lớp kề cyclic • p = 2n − số nguyên tố Bước 2: Tính k = 2n −1 − chọn số mũ mã hóa e thỏa mãn điều kiện: a, b Ỵ GF ( p) c= a+b º (a + b) mod p c(x ) = a(x ) + b(x ) = + Tạo khóa: ck x k gcd(e , k ) = Chú ý: gcd(e , k ) ước chung lớn e , k Sở dĩ ta lấy ước chung lớn e với k k cấp cực đại phần tử vành đa thức Z2[x ]/ (x n + 1) biểu thức (8) Bước 3: tìm số mũ giải mã d thỏa mãn: K = (I È J ) - (I Ç J ) Phép nhân c(x ) = a(x )b(x ) (º a(x )b(x ) mod(x + 1)) n d.e mod k c = a.b (º a.b mod p) Quan hệ tựa đồng cấu xảy số vành đa thức có hai lớp kề cyclic đặc biệt, vành đa thức liệt kê [7] () Có nhiều cách để giải phương trình (10) nhiên cách hiệu sử dụng thuật tốn Euclid [2], [3] Khóa mã hóa Alice e, n cịn khóa giải mã Bob số d , n (hoặc ngược lại) Alice gửi khóa giải mã cho Bob qua kênh an tồn, sử dụng thủ tục trao đổi khóa an tồn n Số nguyên tố Mersenne: p = - n = 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 52, 607, 1279, 2203, 3217, 4253, 9689, 9941, 19937,… , 74207281 + Mã hóa: Bên Alice cần mã hóa tin rõ đa thức m (x ) Z2 [x ] / x n + , Alice tính: Vành đa thức có hai lớp kề cyclic [5], [6]: c (x ) = m e (x ) n = 5, 11, 19, 29, 37, 53, 59, 61, 67, 83, 101, 107, 131,… , 523, 613, 1277, 2213, 3203, 3253, 4253, …, 9941,… IV HỆ MẬT POHLIG-HELLMAN TRÊN VÀNH ĐA THỨC CÓ HAI LỚP KỀ CYCLIC A Mô tả hệ mật SỐ 02 (CS.01) 2020 () Sau Alice gửi c (x ) đến Bob qua kênh mở + Giải mã: Bob nhận mã c (x ) , khóa giải mã d , n tiến hành giải mã theo phương trình sau: TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THÔNG 23 MỘT PHƯƠNG PHÁP XÂY DỰNG HỆ MẬT POHLIG-HELLMAN TRÊN VÀNH ĐA THỨC m (x ) = cd (x ) = [m e (x )]d () = m ed (x ) = m (x ) (aˆ)k = (a0 0k mod n , a11k mod n , a2 2k mod n , , an −1 (n − 1)k mod n ) () Chứng minh: Ví dụ 2: u lÇn + Tạo khóa: Bước 1: Alice chọn n = thỏa mãn x + vành đa thức có hai lớp kề cyclic p = 25 − = 31 số nguyên tố Bước 2: Alice tính k = 25−1 − = 15 chọn e = 13 thỏa mãn gcd(13, k ) = gcd(13, 15) = 6447 448 [a(x )] = [a(x )] = ((([a(x )] )2 )2 ) 2u k Mà : [a(x )]2 = n- ai2x 2i mod n + å aia j x (i + j ) mod n i= i , j = 0; i¹ j å n- Ta thấy với i ¹ j : Bước 3: Tính d = thỏa mãn 7.13 1mod15 2aia j x (i + j ) mod n = aia j x (i + j ) mod n + aia j x (i + j ) mod n = + Mã hóa: Giả sử Alice cần gửi tin rõ m (x ) cho Bob: phép cộng đa thức cộng modulo m (x ) = + x + x (0, 3, 4) Chú ý: (0, 3, 4) biểu diễn dạng số mũ đa thức 1+ x + x = x + x + x n- Vì thế: å aia j x (i + j ) mod n = i , j = 0; i¹ j Alice tính: n- å Vậy ta có: [a(x )]2 = c (x ) = m (x ) = (1 + x + x ) e 13 ai2x 2i mod n i= = x + x + x (1, 2, 3) Tương tự ta tính được: Sau Alice gửi c (x ) qua kênh mở cho Bob n- å [a(x )]4 = ([a(x )]2 )2 = + Giải mã: (ai2x 2i mod n )2 i= n- Bob nhận n = 5, d = c (x ) giải mã: = å i a x 4i mod n i= m (x ) = cd (x ) = (x + x + x )7 Tổng quát: = (1 + x + x ) (0, 3, 4) u B Thuật tốn tính lũy thừa đa thức theo modulo xn +1 Thông thường hệ mật sử dụng toán logarit rời rạc phải thực lũy thừa số theo modulo trường số người ta thường sử dụng thuật tốn nhân bình phương [1], [3], [4] Với hệ mật đề xuất báo phải thực phép lũy thừa lũy thừa đa thức theo modulo x n + Dựa vào tính chất đặc biệt đa thức sau đây, báo đưa thuật tốn tính lũy thừa cho đa thức n Xét đa thức a (x ) Z2 [x ] / x + : a (x ) = a 0x + a1x + a2x + + an −1x u u ai2 x n- i mod n = i= å u x i mod n i= u Chú ý: Ỵ [0,1] nên ai2 = Điều phải chứng minh Ví dụ 3: xét n = 5;a (x ) = + x + x aˆ = (0, 3, 4) - Nếu k = thì: [a (x )]2 = + x 3.2 mod + x 4.2 mod = + x + x - Nếu k = 23 = thì: k Tức để tính lũy thừa [a (x )] ta việc nhân số mũ đơn thức x a (x ) với k lấy modulo theo n biểu thức (13), (14) Biểu diễn dạng số mũ (chỉ cho = ): a (x ) aˆ = (a 0, a1 1, a2 2, , an −1 (n − 1) ) Dựa vào tính chất đa thức ta tính lũy thừa cho đa thức a (x ) sau: + Nếu số k có dạng k = 2u đó: n −1 [a (x )]k = [a (x )]2 = ai x i k modn u i =0 SỐ 02 (CS.01) 2020 n- å (aˆ)8 = (0 * mod 5, * mod 5, * mod 5) = (0, 4, 2) = (0, 2, 4) n −1 với [0, 1] Dạng mũ: [a(x )]2 = Cho k ngun dương có phân tích sau: () k = 2ut = kt t t TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG 24 Ngơ Đức Thiện Ví dụ: k = 19 = 20 + 21 + 24 = + + 16 xét n = 5; a (x ) = + x + x aˆ = (0, 2, 4)13 uˆ = (0,1, 4); k = [kt ] = [1, 2,16] k n Khi phép lũy thừa [a (x )] mod(x + 1) tính sau: a (x )k = [a (x )]k t t k = 13 = + + = 20 + 22 + 23 , biểu diễn k sau: k = [1, 4, 8]13 Ta có: r = 3; t = Khi bˆ = aˆ13 tính sau: [1] bˆ (0) = [a (x )]2 ut t [2] For i from to do: Thuật tốn tính lũy thừa đa thức theo modulo n x + sau: ▪ i = : (với k1 = ) + Aˆ = (A1 , A2 , A3 ) Thuật tốn: Tính lũy thừa đa thức theo modulo x n +1 = (0 *1 mod 5, *1 mod 5, *1 mod 5) = (0, 2, 4) Vào: n , aˆ = (a1 ,a2 , ,ar )1r , k = [k1 , k2 , , kt ]1t Ra: bˆ = (aˆ )k mod(x n + 1) + bˆ (0)*(0, 2, 4) = (0, 2, 4) [1] bˆ (0) , if k = then return bˆ ▪ i = : (với k2 = ) [2] For i from to t do: + Aˆ = (A1 , A2 , A3 ) [2.1] for j from to r do: = (0 * mod 5, * mod 5, * mod 5) = (0, 3, 1) A j a j ki mod n [2.2]: bˆ bˆ.Aˆ + bˆ (0, 2, 4) *(0, 3, 1) = (0, 1, 4) [3] Return ( bˆ ) ▪ i = : (với k = ) + Aˆ = (A1 , A2 , A3 ) Chú thích n + Số n đảm bảo Z2 [x ] / x + vành đa thức có = (0 * mod 5, * mod 5, * mod 5) = (0, 1, 2) lớp kề cyclic p = 2n − số nguyên tố + Đa thức a (x ) Z2 [x ] / x + ; dạng số mũ a (x ) aˆ = (a1 ,a2 , ,ar )1r độ dài aˆ r n n + bˆ (0, 1, 4)*(0, 1, 2) = (1, 3, 4) [3] Return bˆ = (1, 3, 4) n −1 + Số nguyên k , (0 k − 1); k biểu diễn thành vector bao gồm t số thập phân k = [k1 , k2 , , kt ]1t ; ki = 2ut : k = kt k = [kt ]1t Vậy kết có là: (1 + x + x )13 mod(x + 1) = x + x + x Tiến hành mô thuật toán nêu phần mềm Matlab (phiên R2016a), cấu hình máy tính: chip Intel Core i5 (7th gen), RAM 8GB, hệ điều hành Windows 64 bits t + Mục [1] bˆ = (0) b(x ) = = 20 ; + Mục [2.1] tập số A j biểu diễn dạng mũ đa thức A (x ) ; A (x ) Aˆ = (A1 , A2 , , Ar ) Trong số ngơn ngữ lập trình (như Matlab) dễ dàng tính cho tồn phần tử Aˆ mà khơng cần phải dùng vịng lặp Tức ta tính trực tiếp (A j ) (a j ki mod n ): j = 1, 2, , r + Mục [2.2] phép nhân đa thức theo modulo, phép nhân bình thường vành đa thức lấy theo modulo x n +1 Với tham số mô thực 5000 lần sau lấy trung bình thời gian tính tốn, số kết có bảng BẢNG 3: THỜI GIAN XỬ LÝ CỦA THUẬT TỐN TT Tham số mơ Thời gian xử lý (ms) n = 5; k = 13; aˆ = (0, 3, 4) 0, 050 n = 19; k = 103.567 0,164 aˆ = (0,2, 5, 8,10,11,13,15,17) + Kết dạng mũ: bˆ = (aˆ )k mod(x n +1) Ví dụ 4: SỐ 02 (CS.01) 2020 TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG 25 MỘT PHƯƠNG PHÁP XÂY DỰNG HỆ MẬT POHLIG-HELLMAN TRÊN VÀNH ĐA THỨC n = 61; k = 1.239.878 aˆ = (1, 3, 7,12,19, 21, 29, 32, 38, 45, 50, 55, 59) 0, 236 n = 107; k = 2.341.235.671 aˆ = (1, 9,17, 26, 38, 47, 54, 62, 74, 82, 91, 98,105) 0, 436 n = 4253; k = 139.749.574.567 aˆ = (1, 56, 98,147, 209, 300, 478, 698, 1002,1348, 2034, 3045, 4002) 4, 300 n = 9941; k =13.974.957.456.787.957 Jean-Yves Chouinard, ELG 5373, “Secure communications and data encryption,” School of Information Technology and Engineering, University of Ottawa, April 2002 [4] A Menezes, P van Oorschot, and S Vanstone, "Handbook of Applied Cryptography", CRC Press, 1996 [3] [5] Nguyen Trung Hieu, Ngo Duc Thien, Tran Duc Su, "On Constructing Cyclic Multiplicative Groups with Maximum Order over Polynomial Rings with Two Cyclotomic Cosets", Jounal of scientific research and military technology, Vol 17, February - 2012, pp 133-140, ISSN 1859-1043 [6] Lê Danh Cường, Nguyễn Bình, “Cấu trúc tựa đẳng cấu vành đa thức có lớp kề cyclic trường số”, Tạp chí Khoa học Công nghệ trường đại học kỹ thuật, ISSN 2354-1083, số 121, 2017, tr 54-57 [7] Nguyễn Trung Hiếu, Ngô Đức Thiện, "Hệ mật OmuraMassey xây dựng vành đa thức có hai lớp kề cyclic", Tạp chí khoa học Công nghệ trường đại học kỹ thuật, ISSN 2354-1083, số 125, 2018, tr 29-34 19, 300 aˆ = (0,100, 456, 989, 1456, 2002, 2560, 3001, 3982, 4679, 5398, 6003, 7623, 7982, 8567, 9234, 9657) Nhận xét: Với giá trị n nhỏ tốc độ tính tốn nhanh Với trường hợp n = 4253 tương đương với việc tính tốn với số 4252 bit mà thời gian tính tốn phép lũy thừa 4,3ms nói hồn tồn chấp nhận Cho đến để đảm bảo tính an toàn, hệ mật dùng số từ 1000 đến 2000 bit Với trường hợp n = 9941 thời gian tính tốn với khả máy tính laptop cấu hình 19, ms Cho đến chưa cần thiết dùng đến giá trị n lớn vậy, tương lai sử dụng đến với số lớn hơn, tốc độ tính máy tính chip xử lý nhanh thời điểm rút ngắn thời gian tính tốn hồn tồn áp dụng hệ mật V KẾT LUẬN Bài báo đề xuất phương pháp thực hệ mật khóa bí mật theo cách hệ mật Pohlig-Hellman Trong đó, rõ mã mô tả đa thức vành đa thức, thay mơ tả số trường số Sở dĩ thực điều nhờ cấu trúc tựa đẳng cấu vành đa thức có hai lớp kề cyclic với trường số Độ an toàn hệ mật tương đương với độ an toàn hệ mật khác xây dựng toán logarit rời rạc, với giá trị số nguyên tố lớn tốn logarit rời rạc tốn khó Để hệ mật có tính khả thi, báo đề xuất thuật toán thực hàm lũy thừa cho đa thức theo modulo Các kết mơ cho thấy tốc độ tính tốn thuật toán với tường hợp số lớn khả quan để áp dụng vào thực tế SỐ 02 (CS.01) 2020 TÀI LIỆU THAM KHẢO Nguyễn Bình, Giáo trình Mật mã học, Học viện Công nghệ BCVT, 2013 [2] Frederik Vercauteren, Discrete Logarithms in Cryptography, ESAT/COSIC - K.U Leuven ECRYPT Summer School 2008 [1] ONE METHOD OF IMPLEMENTING POHLIG-HELLMAN CRYPTOSYSTEM OVER POLYNOMIAL RINGS Abstract: Until now, the methods of encryption and decryption of a symmetric cryptosystem mainly used some operations, such as permutation, substitution or combine these two operations, or bit processing (in stream ciphers) This paper proposes a new method for implementing a symmetric cryptosystem but is based on discrete logarithm problem, in which encryption and decryption are performed by polynomial exponential function with modulo, in a manner like the Pohlig-Hellman cryptosystem Along with that, this article also proposed an algorithm to implement that exponential function Ngô Đức Thiện, Nhận học vị Tiến sỹ năm 2010 Hiện công tác Học viện Cơng nghệ Bưu Viễn thơng Lĩnh vực nghiên cứu: Lý thuyết thơng tin mã hóa, mật mã TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THÔNG 26 ... tính tốn hồn tồn áp dụng hệ mật V KẾT LUẬN Bài báo đề xuất phương pháp thực hệ mật khóa bí mật theo cách hệ mật Pohlig-Hellman Trong đó, rõ mã mô tả đa thức vành đa thức, thay mơ tả số trường... d , n tiến hành giải mã theo phương trình sau: TẠP CHÍ KHOA HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 23 MỘT PHƯƠNG PHÁP XÂY DỰNG HỆ MẬT POHLIG-HELLMAN TRÊN VÀNH ĐA THỨC m (x ) = cd (x ) = [m e... xuất phương pháp xây dựng hệ mật khóa bí mật theo cách Pohlig-Hellman Tuy nhiên, hàm mã hóa giải mã hàm lũy thừa đa thức theo modulo, rõ