Về một Backdoor bất đối xứng trong sinh khóa RSA tuân thủ điều kiện “lỏng” theo chuẩn Fips 186-4 - Lê Quang huy

Tài liệu Về một Backdoor bất đối xứng trong sinh khóa RSA tuân thủ điều kiện “lỏng” theo chuẩn Fips 186-4 - Lê Quang huy: Công nghệ thông tin Lê Quang Huy, “Về một backdoor bất đối xứng trong sinh khóa RSA FIPS 186-4.” 162 VỀ MỘT BACKDOOR BẤT ĐỐI XỨNG TRONG SINH KHÓA RSA TUÂN THỦ ĐIỀU KIỆN “LỎNG” THEO CHUẨN FIPS 186-4 Lê Quang Huy* Tóm tắt: Bài báo trình bày đề xuất về một thuật toán sinh khóa RSA chứa backdoor bất đối xứng tuân thủ điều kiện “lỏng” về tham số khóa theo chuẩn FIPS 186-4 [1]. Thuật toán đề xuất dựa trên ý tưởng của thuật toán PAP trong [2] và sử dụng kết quả của Coppersmith [3] để giảm lượng thông tin backdoor cần nhúng. Từ khóa: Mật mã, Sinh khóa, RSA, Backdoor. 1. ĐẶT VẤN ĐỀ Mật mã (khóa công khai) được sử dụng rộng rãi để đảm bảo an toàn cho các giao dịch điện tử. Tuy nhiên, khi ứng dụng mật mã, thì xuất hiện nguy cơ sử dụng mật mã để thực hiện các hành vi tội phạm: tạo mã độc tấn công hệ thống thông tin của nhà máy điện hạt nhân, vệ tinh, vũ khí quân sự;giữ bí mật thông tin phục vụ hoạt động: khủng bố, buôn bán vũ khí, ma túy, tống tiền, giết người. Từ cá...

pdf8 trang | Chia sẻ: quangot475 | Lượt xem: 549 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Về một Backdoor bất đối xứng trong sinh khóa RSA tuân thủ điều kiện “lỏng” theo chuẩn Fips 186-4 - Lê Quang huy, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Công nghệ thông tin Lê Quang Huy, “Về một backdoor bất đối xứng trong sinh khóa RSA FIPS 186-4.” 162 VỀ MỘT BACKDOOR BẤT ĐỐI XỨNG TRONG SINH KHÓA RSA TUÂN THỦ ĐIỀU KIỆN “LỎNG” THEO CHUẨN FIPS 186-4 Lê Quang Huy* Tóm tắt: Bài báo trình bày đề xuất về một thuật toán sinh khóa RSA chứa backdoor bất đối xứng tuân thủ điều kiện “lỏng” về tham số khóa theo chuẩn FIPS 186-4 [1]. Thuật toán đề xuất dựa trên ý tưởng của thuật toán PAP trong [2] và sử dụng kết quả của Coppersmith [3] để giảm lượng thông tin backdoor cần nhúng. Từ khóa: Mật mã, Sinh khóa, RSA, Backdoor. 1. ĐẶT VẤN ĐỀ Mật mã (khóa công khai) được sử dụng rộng rãi để đảm bảo an toàn cho các giao dịch điện tử. Tuy nhiên, khi ứng dụng mật mã, thì xuất hiện nguy cơ sử dụng mật mã để thực hiện các hành vi tội phạm: tạo mã độc tấn công hệ thống thông tin của nhà máy điện hạt nhân, vệ tinh, vũ khí quân sự;giữ bí mật thông tin phục vụ hoạt động: khủng bố, buôn bán vũ khí, ma túy, tống tiền, giết người. Từ các nguy cơ nêu trên nảy sinh nhu cầu khôi phục, giải mã (lấy được bản rõ) các dữ liệu đã mã mật (phá vỡ tính bảo mật) để đảm bảo an ninh cho cộng đồng. Để phá vỡ tính bảo mật cách truyền thống là sử dụng thám mã (phá vỡ hệ mật bằng phương pháp toán học), tuy nhiên, với sự phát triển của các hệ mật mã hiện đại, việc thám mã trở nên ngày càng khó và không khả thi. Sử dụng backdoor để phá vỡ tính bảo mật là hướng được nghiên cứu mới trong thời gian gần đây. Backdoor có nhược điểm làm giảm không gian khóa nhưng có ưu điểm khôi phục lại bản mã nhanh, tất định, chi phí thấp, khó bị phát hiện khi cài đặt trong những sản phẩm mật mã dạng hộp đen. Hiện tại hệ mật RSA được dùng phổ biến trong các sản phẩm mật mã ở thế giới và Việt Nam. Do đó, nghiên cứu backdoor trong hệ mật RSA là việc làm cần thiết để đảm bảo an ninh cho cộng đồng khi sử dụng mật mã. Để có thể xây dựng được thuật toán backdoor trong sinh khóa RSA hiệu quả, bài báo tập trung nghiên cứu các thuật toán sinh khóa RSA chứa backdoor và đề xuất một thuật toán sinh khóa RSA chứa backdoor mới tuân thủ điều kiện “lỏng” về tham số khóa tại Appendix B.3.1. FIPS 186-4 [1]. Thực hiện mục tiêu trên, bài báo được tổ chức thành 4 phần: Mục 1 - Đặt vấn đề, nêu lên sự cần thiết nghiên cứu; Mục 2 - Các định nghĩa và cơ sở phục vụ cho việc phân tích backdoor; Mục 3 - Đề xuất backdoor mới; Mục 4 - Kết luận tóm tắt các kết quả nghiên cứu và hướng phát triển. 2. CÁC ĐỊNH NGHĨA VÀ CƠ SỞ 2.1. Thuật toán sinh khóa chứa backdoor Định nghĩa và các tiêu chuẩn đánh giáthuật toán sinh khóa chứa backdoortrình bày trong phần này sử dụng các kết quả trong [4]. 2.1.1. Định nghĩa thuật toán sinh khóa chứa backdoor Ký hiệu G0, G1 lần lượt là thuật toán sinh khóa trung thực và thuật toán sinh khóa chứa backdoor. Ký hiệu (kpriv , kpub) lần lượt là khóa riêng và khóa công khai được tạo bởi G0 hoặc G1. Ký hiệu kpub* là khóa công khai hoặc một phần của khóa Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 163 công khai. Ký hiệu  là tham số an toàn của hệ mật. Ký hiệu B0 , B1 lần lượt là sản phẩm hộp đen được cài đặt thuật toán sinh khóa G0,G1. Ký hiệu R1 là thuật toán khôi phục cặp khóa được tạo bởi G1. Thuật toán sinh khóa chứa backdoor được biểu diễn thông qua 3 hàm sau và các hàm nghịch đảo tương ứng: - Hàm trích thông tin, ký hiệu I, trích từ khóa riêng kpriv thông tin, I(kpriv), để giấu trong khóa công khai kpub sao cho thông tin được trích đủ để khôi phụckpriv. - Hàm giấu thông tin, ký hiệu E, mã mật hóa thông được trích, I(kpriv), tạo ra thông tin che giấu E(I(kpriv)). Hàm E sử dụng hệ mật đối xứng hoặc bất đối xứng sao cho phân phối đầu ra của E không thể phân biệt được với phân phối đều. - Hàm nhúng thông tin, ký hiệu M, nhúng thông tin backdoor đã mã mật hóa, E(I(kpriv)), vào trong khóa công khai, kpub* = M ◦ E ◦ I(kpriv). Định nghĩa thuật toán sinh khóa chứa backdoor an toàn: Các cặp khóa được tạo ra bởi G1 là các cặp khóa chứa backdoor an toàn nếu G1 tạo ra cặp khóa (kpub,kpriv) thỏa mãn các thuộc tính sau: 1. Tính bảo mật: Người thiết kế nhúng một phần khóa riêng vào trong khóa công khai tương ứng, kpub* = M◦E ◦ I(kpriv), người dùng, kẻ tấn công không thể tính toán được khóa riêng từ khóa công khai tương ứng, kpriv ≠ I -1◦E-1◦M-1(kpub). 2. Tính hoàn chỉnh: Tồn tại thuật toán R1 , để người thiết kế có thể khôi phục được khóa riêng từ khóa công khai tương ứng,kpriv = R1(kpub). Hay các hàm M , E , Ikhả nghịch để người thiết kế tính được kpriv= I -1◦E-1◦M-1(kpub). 3. Khả năng ẩn (che) giấu (khả năng không thể phân biệt được): a) Kết quả đầu ra của B0 và B1 không thể phân biệt được về thống kê, tính toán. b) Các đo đạc bên ngoài B0 và B1 không thể phân biệt được một cách rõ ràng. 2.1.2. Một số tiêu chuẩn đánh giá thuật toán sinh khóa chứa backdoor Các tiêu chuẩn đánh giá thuật toán sinh khóa chứa backdoor (mục 5 trong [4]) được tóm tắt trong bảng sau: Bảng 1. Các tiêu chuẩn đánh giá thuật toán sinh khóa chứa backdoor. Đánh giá Tốt Trung bình Kém (thất bại) Tiêu chuẩn Bảo mật lE>= lG1 lG1>= lE>= lG1 /2 lE<lG1 /2 Hoàn chỉnh ∀ kpub kẻ tấn công kpriv ≠ F-1(kpub) - ∃ kpub kẻ tấn công kpriv = F -1(kpub) Lực lượng khóa c >= - ½ -1/2 > c >= -3/2 c < -3/2 Tính phân phối D G1≈ 0 D G1≈ 0 D G1> 0 Tính tương quan Không tương quan - ∃ thành phần khóa tương quan Độ phức tạp Tuyến tính (a =< 1 và c =< 1) a > 1 hoặc 2 > c > 1) >= bậc 2 (a >= 2 hoặc c >= 2) Bộ nhớ Không dùng VM, NM Chỉ dùng VM Dùng NM 2.2. Một số kết quả về hệ mật RSA 2.2.1. Định lý về số các số nguyên tố Công nghệ thông tin Lê Quang Huy, “Về một backdoor bất đối xứng trong sinh khóa RSA FIPS 186-4.” 164 Ký hiệu π(n) là số lượng các số nguyên tố nhỏ hơn hoặc bằng n. Thì khi n lớn, ta có () ~ ;Fact 2.95 trong [5] (1) Giả sử p là số nguyên tố k bít, số lượng các số nguyên tố k-bit #{} = (2) − (2) = () () ≈ = ≈ 2 (2) Xác suất một số nguyên k bít là số nguyên tố: Pr[ố à ố ê ố] = () ≈ = 2 = (3) 2.2.2. Định lý Coppersmith (Theorem 4, 5 trong [3]) Trong thời gian đa thức, có thể tìm được phân tích nhân tử của n = p.q nếu biết ¼ log2n (khoảng ½ độ dài bit của p) các bít thấp (cao) của p. 2.2.3. Điều kiện“lỏng”về tham số khóa RSA theo FIPS 186-4 Điều kiện“lỏng” về tham số khóa của hệ mật RSA được hiểu là sự so sánh tương đối về điều kiện về tham số p và q giữa các mục A2 với mục A1 và mục B tại phần B.3.1 appendix B, FIPS 186-4[1]. Ký hiệu khóa công khai (n, e), khóa riêng (n, d), n=p.q, với p, q là các số nguyên tố. Ký hiệu nlen là độ dài theo bit của n. Các tham số thỏa mãn điều kiện sau: 1. p và q là các số có thể nguyên tố (probable prime) ngẫu nhiên (nlen≥ 2048). 2. e được chọn trước khi tạo p, q; e là một số lẻ thỏa mãn: 216<e<2256. 3. Các số nguyên tố p và q thỏa mãn các ràng buộc sau: a) (p - 1), (q - 1) nguyên tố cùng nhau với số mũ công khai e. b) √2. 2/ ≤ , ≤ 2/ − 1 (4) c) | − | > 2/ (5) 4. Số mũ riêng d, được tạo sau khi tạo p và q, thỏa mãn: 2nlen / 2<d< LCM (p- 1, q- 1) và d = e-1mod (LCM (p- 1, q- 1)). 2.2.4. Thuật toán sinh khóa RSA tuân thủ điều kiện 2.2.3 (thuật toán G0) Phần này trình bày thuật toán sinh khóa RSA trung thực tuân thủ điều kiện tại mục 2.2.3 và được tóm tắt theo thuật toán mục B.3.3. appendix B FIPS 186-4. Tham số an toàn của thuật toán G0 (sinh khóa RSA): G0 =nlen ≥ 2048. Input (nlen, e) Output (p, q, n, e, d) 1:if (e 2256)then return failure // generate p 2:p = RandomOddInteger() //log2p =nlen/2 3:if ( < √2. 2/) then goto step 2 4:if(gcd(p - 1, e) ≠ 1) then goto step 2 5:if (not (PrimalityTest (p))) then goto step 2 // generate q 6:q = RandomOddInteger() //log2q =nlen/2 7:if ( < √2. 2/) then goto step 6 8:if ( |p – q| ≤ 2 nlen/2 – 100 ) then go to step 6 9:if (gcd(q- 1, e) ≠ 1) then goto step 6 10:if (not (PrimalityTest (q))) then goto step 6 // compute n, d 11:n = p.q 12:d = e–1 mod (LCM(p - 1, q - 1)) 13:if (d< 2 nlen/ 2 ) then go to step 6. 14: return(p, q, n, d) Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 165 2.2.5. Lực lượng khóa của thuật toán sinh khóa RSA tuân thủ điều kiện 2.2.3 Số lượng phần tử e, #{e }= (2256- 216)/2= (2255- 215) >2254(e là số lẻ). Xét cách tạo p: Vì p là một số nguyên tố nằm trong khoảng √2. 2/, 2/ − 1 . Nên #{p } = Pr[số nlen/2 bit là số nguyên tố]. 2/ − √2. 2/ ≈ / . 0,6. 2/ = 1,2. / > / = 2/ (6) Xét cách tạo q: Ký hiệu u là số nguyên tố trong khoảng (p - 2nlen/2 -100, p + 2nlen/2 -100) (7) Vậy #{u}= Pr[số nlen/2 bit là số nguyên tố].(p + 2nlen/2 -100 – (p - 2nlen/2 -100) = / . 2/ = / (8) Vì q được tạo giống như p và sau p thỏa mãn điều kiện (5), nằm ngoài khoảng (p + 2nlen/2 -100 – (p - 2nlen/2 -100) = 2nlen/2 -99), nhỏ hơn rất nhiều so với khoảng tồn tại của p và q (điều kiện (4)) với giá trị là:(2 − √2). 2/ > 2/ . Nên #{q} = #{p} - #{u} = / − / > / = 2/(9) Vậy lực lượng khóa của thuật toán là: #{(p,q,d,e)} = #{e}.#{p}.#{q)} = 2254 . / . / = 2254 . (10) 3. ĐỀ XUẤT THUẬT TOÁN SINH KHÓA RSA CHỨA BACKDOOR MỚI 3.1. Bổ đề 1 Ký hiệu p là một số nguyên tố, r là một số nguyên lẻ với log2p = 2.log2r = k. Gọi u = 2kmodp; v0 = vmodp ; s0 = (v0 + u 2).u-1modp; s = 2k – s0 ; n = s.2k + v (nối s với v, ký hiệu s:v). Thì ta có p | n. Chứng minh: u = 2kmodp⇔ 2k = m.p + u với m∈ Z v0 = vmodp⇔v = l.p + v0 với l∈ Z Từ n = s.2k+v = 2k. (2k – s0) + l.p + v0 = (m.p + u).(m.p + u – s0) + l.p + v0 = m2p2 + (2mu – ms0).p +u 2 – us0 + l.p+ v0 = m2p2 + (2mu – ms0 + l).p + u 2 + v0 – u(v0 + u 2).u-1modp = (m2p + 2mu – ms0 + l).p mod p Vậy p | n. 3.2. Thuật toán đề xuất thoả mãn điều kiện 2.2.3 Thuật toán sinh khóa RSA chứa backdoor bất đối xứng đề xuất dựa trên ý tưởng của thuật toán PAP trong [2] thỏa mãn các điều kiện ở mục 2.2.3. Thông tin backdoor là một nửa các bit cao của p được mã mật hóa bởi lược đồ mã mật ECIES của hệ mật EC và được giấu trong các bit thấp của n. (Hiện có hai phương pháp nhúng thông tin backdoor là: nhúng vào n hoặc nhúng vào e. Phương pháp nhúng thông tin backdoor vào n có nhiều ưu điểm nên được nghiên cứu nhiều hơn.) Công nghệ thông tin Lê Quang Huy, “Về một backdoor bất đối xứng trong sinh khóa RSA FIPS 186-4.” 166 Các tham số thuật toán đề xuất: + G1 = Thuật toán đề xuất; I(kpriv) = (p⌉k/2); G1 =G0 =nlen ≥ 2048; E = ECIES;E≥ 128 ; M = n; log2p = log2q = k=nlen/2. + Các hàm của lược đồ mã mật ECIES: hàm mã mật hóa EncECIES() và hàm giải mã mật DecECIES(). + Hàm G: {0, 1}2k x {0, 1}k/2x {0, 1}k/2 → {0, 1}k, hàm này thực hiện kết quả của định lý Coppersmith (mục 2.2.2), ví dụ: p = G(n, 2k/2, p div 2k/2) Thuật toán đề xuất [sinh khóa RSA] Input (e, Kpub, B1) Output (p, q, d, e) 1:if (e 2256) then return failure // generate p 2:p = RandomPrime() //log2p =k 3:if ( < √2. 2/) then goto step 2 4:if (gcd(p - 1, e) ≠ 1) then goto step 2 5:if (not (PrimalityTest (p))) then goto step 2 // generate q 6:u = 2kmodp//log2q =nlen/2 7: v1 = Enc ECIES (p⌉k/2, Kpub) 8:for i = 0 toB1 9: r = RandomOddInteger() //log2r = k/2 10: v = v1.2 k/2 + r //v = v1 : r 11:v0 = vmodp 12: s0 = (v0 + u 2).u-1modp 13: if (s0≤ 2 k-1) then 14: s = 2k – s0 15: n = s.2k +v; // n = s : v 16: q = n / p//Bổ đề 1 17: if ( < √2. 2/) thennext i 18: if ( |p – q| ≤ 2 nlen/2 – 100 ) thennext i 19: if (gcd(q - 1, e) ≠ 1) thennext i 20:if (PrimalityTest (q)))then break 21: endfor 21: if (PrimalityTest (q)))then goto step 6 22:n = p.q 23:d = e–1 mod (LCM(p - 1, q - 1)) 24:if ( d < 2 nlen/ 2 ) then go to step 6. 25:return (p, q, d, e) Thuật toán đề xuất [khôi phục khóa RSA] Input (n, e, Kpriv) Output (d) 1:v = nmod 2k 2: v1 = v div 2 k/2 3:p1 = Dec ECIES(v1, Kpriv) 4: p =G (n, 2k/2, p1) //định lý Coppersmith 5: q = n / p 6: d ≡ e−1 mod φ(n). 7: return (d). 3.3. Đánh giá thuật toán đề xuất Tính bảo mật: Tính bảo mật được đánh giá ở mức tốt vì người thiết kế sử dụng lược độ mã mật ECIEScủa hệ mật EC có độ dài tham số an toàn E≥ 128 tương đương với độ dài tham số an toàn của người dùng G1 ≥ 2048(bảng 7.9 trong [6]). Tính hoàn chỉnh: Tính hoàn chỉnh được đánh giá ở mức tốt. Với thuật toán đề xuất người thiết kế luôn tính được khóa riêng từ khóa công khai tương ứng (thuật toán khôi phục khóa). Kẻ tấn công chỉ tính được khóa riêng của người dùng khi phá vỡ được hệ mật của người thiết kế (lược đồ mã mật ECIES). Lực lượng khóa: Xét việc tạo p (từ bước 2 đến bước 5). Vì p được tạo ngẫu nhiên và giống như trong thuật toán mục 2.2.4 nên theo (6), ta có #{p} = / = 2/. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 167 Xét việc tạo q(từ bước 6 đến bước 21). Với mỗi p có thể chọn ngẫu nhiên 2k/2-1 giá trị r , do đó, tạo được 2k/2 - 1 giá trị n và tạo được 2k/2 - 1giá trị q. Vì q được tính theo n và p (bước 16), nên #{ q}= #{n / p } . Pr[ à ố ê ố] #{ q} = 2/. 2(/) = 2/(/) = 2/ Vậy số lượng n là: #{n} = #{p} . #{q} = 2/. 2/(/) = 2/ Xét tỷ lệ giữa lực lượng của G1 và G0, vì p được sinh trong G1 giống trong G0 nên hạng tử #{p} có thể bỏ qua, ta có: = , , ≈ 2/ 2 = 2/ = 2/ Vì hằng số c= -1/2 trong nên lực lượng của G1 được đánh giá là tốt. Tính chất phân phối: Thông tin backdoor được mã mật hóa và nhúng vào vị trí cố định trong n. Tuy nhiên, vì thông tin backdoor được mã mật hóa bằng lược đồ mã mật ECIES (có phân phối đầu ra gần với phân bố đều) nên phần nhúng thông tin backdoor cũng có phân phối gần với phân phối đều. Việc sinh p ngẫu nhiên và q được tạo thông qua việc chia n cho p với giá trị n phụ thuộc một phần vào p, tham số ngẫu nhiên r. Do vậy, phân phối của n có thể gần với phân bố đều và vì vậy khoảng cách thống kê giữa thành phần n của G1 và G0 là xấp xỉ bằng 0, DG1≈ 0. Vậy tính chất phân phối của G1 được đánh giá là tốt. Tương quan giữa các thành phần khóa: Theo cách tạo q (từ bước 6 đến bước 21), q phụ thuộc vào một phần của p, tham số ngẫu nhiên r. Nếu người dùng cố định p và yêu cầu sinh lại q thì việc sinh lại khóa tổng quát thực hiện được. Tuy nhiên, nếu người dùng yêu cầu ngược lại, tức là cố định q và sinh lại p là không khả thi. (Việc sinh lại khóa trong trường hợp này chỉ khả thi nếu thuật toán cho phép hoán đổi được vai trò của p và q). Do vậy, tính tương quan giữa các thành phần khóa của G1 được đánh giá đạt mức trung bình. Độ phức tạp tính toán: Vì p được tạo giống như trong G0 nên ta có tp(G0) = tp(G1). Trong vòng lặp tạo q (từ bước 6 đến bước 21) có thêm việc mã mật hóa thông tin backdoor bằng lược đồ mã mật ECIES và vòng lặp (for) với số lần cố định (B1). Do đó, độ phức tạp của việc tạo q trong G1 là: tq (G1) = tq (G0) + T(ECIES). Vậy độ phức tạp tạo n là: tn(G1) = tp + tq+ T(ECIES). Vì độ phức tạp của lược đồ mã mật ECIES không đáng kể so độ phức tạp của việc tạo p hoặc q, do đó, độ phức tạp của G1 được đánh giá là “tốt” vì nó tuyến tính đối với độ phức tạp của G0. Bộ nhớ sử dụng: Thuật toán không sử dụng bộ nhớ NM và VM nên nó có thuộc tính bộ nhớ sử dụng được đánh giá là tốt. 3.4. Tóm tắt các ưu điểm của thuật toán đề xuất so với thuật toán PAP Thuật toán đề xuất ưu điểm hơn so với thuật toán PAP ở những điểm sau: - Các tham số khóa của thuật toán đề xuất thỏa mãn điều kiện 2.3.3 (tuân thủ FIPS 186-4), các tham số thuật toán PAP không đề cập tuân thủ chuẩn nào. Công nghệ thông tin Lê Quang Huy, “Về một backdoor bất đối xứng trong sinh khóa RSA FIPS 186-4.” 168 - Tính bảo mật: thuật toán đề xuất sử dụng lược đồ mã mật ECIES (có độ an toàn tương đương với độ an toàn hệ mật của người dùng) để mã mật thông tin backdoor nên tính bảo mật được đảm bảo. Thuật toán PAP có độ dài khóa của người thiết kế bằng một nửa độ dài khóa của người dùng nên tính bảo mật có điểm yếu. - Lực lượng: Tỷ lệ lực lượng của thuật toán đề xuất = 2 / được đánh giá là tốt, và lớn hơn (tốt hơn) so với tỷ lệ lực lượng thuật toán PAP = 2 , được đánh giá trung bình. - Độ phức tạp của thuật toán đề xuất, T(G1) = tp + tq+ T(ECIES) ít phức tạp hơn độ phức tạp của thuật toán PAP, T(G1) = tp + tq+ T(FK) + T(GK) + T(RSA-k). - Thuật toán khôi phục khóa của thuật toán đề xuất đơn giản hơn (không phải thử 2 trường hợp) so với thuật toán khôi phục khóa của thuật toán PAP. 4. KẾT LUẬN Dựa trên ý tưởng của thuật toán PAP, một thuật toán sinh khóa chứa backdoor bất đối xứng mới được đề xuất có các ưu điểm tốt hơn so với thuật toán PAP và thỏa mãn điều kiện về tham số khóa tạiphần A2 mục B.3.1 appendix B, FIPS 186- 4. Thuật toán đề xuất có thể ứng dụng tốt trong phần sinh khóa của các module mật mã dạng hộp đen như thiết bị PKI Token hoặc HSM (Hardware Security Module). Ngoài ra, thuật toán có thể được xem xét cải tiến theo hướng tăng lực lượng khóa hoặc rút bớt thông tin backdoor để backdoor càng khó bị phát hiện hơn. TÀI LIỆU THAM KHẢO [1]. FIPS, 2013, FIPS PUB 186-4;Digital Signature Standard, [2]. Young A and Yung M, 1996, The Dark Side of “Black-Box” Cryptography or: Should We Trust Capstone?, ype=pdf [3]. D Coppersmith, 1995, Small Solutions to Polynomial Equations, and Low Exponent RSA Vulnerabilities, https://www.di.ens.fr/~fouque/ens-rennes/coppersmith.pdf [4]. G.Arboit, 2008, Two mathematical security aspects of the rsa cryptosystem, [5]. A. Menezes, P. van Oorschot, and S. Vanstone, 2001,Handbook of Applied Cryptography, CRC Press. [6]. Bruce Schneier, 1996, Applied Cryptography: Second Edition, Wiley Computer Publishing, John Wiley & Sons, Inc. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 169 ABSTRACT A ASYMMETRIC BACKDOOR INRSA KEY GENERATIONEASILY COMPLY WITH FIPS 186-4 In this paper, a propose of a asymmetric backdoored RSA key generationalgorithmeasily comply with conditions of key parameter in FIPS 186-4 [1] is presented. The proposed algorithm use the idea of PAP’s algorithm [2] anduse Coppersmith’s factoring attack[3]to reduce backdoor information for embedding. Keywords: Cryptography, Key generation, RSA, Backdoor. Nhận bài ngày 15 tháng8năm 2017 Hoàn thiện ngày 16 tháng10 năm 2017 Chấp nhận đăng ngày 28 tháng 11 năm 2017 Địa chỉ: Cục Chứng thực số và Bảo mật thông tin - Ban Cơ yếu Chính phủ. *Email: lequanghuyabc@gmail.com.

Các file đính kèm theo tài liệu này:

  • pdf16_8879_2151887.pdf