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á...
8 trang |
Chia sẻ: quangot475 | Lượt xem: 569 | Lượt tải: 0
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:
- 16_8879_2151887.pdf