Tài liệu Về một Backdoor trong sinh khóa rsa tuân thủ điều kiện “chặt” theo chuẩn Fips 186-4 - Lê Quang Huy: Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 52, 12 - 2017 131
VỀ MỘT BACKDOOR TRONG SINH KHÓA RSA TUÂN THỦ
ĐIỀU KIỆN “CHẶT” 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 tuân thủ điều kiện “chặt” về tham số khóa theo chuẩn FIPS 186-4 [1].
Thuật toán đề xuất dựa trên cơ sở thuật toán tìm số nguyên tố của John Gordon [2]
để tạo số nguyên tố mạnh và tấn công phân tích nhân tử 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 ĐỀ
Hiện nay, Backdoor trong các hệ mật mã được nghiên cứu và công bố rộng rãi.
Backdoor trong các hệ mật được nghiên cứu chủ yếu tập trung vào phần sinh khóa (key
generation) và phần mã mật (encryption). Tuy nhiên, các nghiên cứu đã công bố về
backdoor đối với một hệ mật xác định chỉ đề xuất các giải pháp chung trên hệ mật đó chứ
chưa đề xuất giải pháp tuân thủ một chuẩn nhất đị...
7 trang |
Chia sẻ: quangot475 | Lượt xem: 563 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Về một Backdoor trong sinh khóa rsa tuân thủ điều kiện “chặt” 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
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 52, 12 - 2017 131
VỀ MỘT BACKDOOR TRONG SINH KHÓA RSA TUÂN THỦ
ĐIỀU KIỆN “CHẶT” 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 tuân thủ điều kiện “chặt” về tham số khóa theo chuẩn FIPS 186-4 [1].
Thuật toán đề xuất dựa trên cơ sở thuật toán tìm số nguyên tố của John Gordon [2]
để tạo số nguyên tố mạnh và tấn công phân tích nhân tử 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 ĐỀ
Hiện nay, Backdoor trong các hệ mật mã được nghiên cứu và công bố rộng rãi.
Backdoor trong các hệ mật được nghiên cứu chủ yếu tập trung vào phần sinh khóa (key
generation) và phần mã mật (encryption). Tuy nhiên, các nghiên cứu đã công bố về
backdoor đối với một hệ mật xác định chỉ đề xuất các giải pháp chung trên hệ mật đó chứ
chưa đề xuất giải pháp tuân thủ một chuẩn nhất định. Với hệ mật RSA, nhiều tổ chức định
chuẩn đã công bố các chuẩn ứng dụng trong thực tế. Do vậy, để các thuật toán backdoor
cho hệ mật RSA có thể ứng dụng được trong thực tế cũng cần thỏa mãn một chuẩn nhất
định. Hiện tại, chuẩn FIPS 186-4 về chữ ký số là chuẩn mới nhất có bao gồm hệ mật RSA,
được nhiều nhà sản xuất các sản phẩm mật mã tuân thủ.
Thuật toán sinh khóa chứa backdoor nhằm đảm bảo an ninh, an toàn cho cộng đồng. Đối
tượng áp dụng là các module mật mã dạng hộp đen. Để có thể ứng dụng được vào các
module mật mã dạng hộp đen hiện có, 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 “chặt” 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ề thuật toán sinh khóa chứa backdoor và các thuộc tính có liên quan (tiêu
chuẩn đánh giá) trì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 (chuẩn) 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 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.
Định nghĩa: 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) với các thuộc tính sau được thỏa mãn:
1. Tính bảo mật:
a) 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) (1)
Công nghệ thông tin & Cơ sở toán học cho tin học
Lê Quang Huy, “Về một backdoor trong sinh khóa RSA theo chuẩn FIPS 186-4.” 132
b) 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)
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, I khả nghịch để
người thiết kế tính được kpriv = I
-1 ◦ E -1 ◦ M-1 (kpub) (3)
3. Khả năng ẩn giấu (khả năng không thể phân biệt được):
a) Đầu ra của B0 và B1 không thể phân biệt được về thống kê hoặc về 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á G1 (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.3. Một số kết quả về hệ mật RSA
2.3.1. Định lý về số các số nguyên tố
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ó ( ) ~
(4)
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 (5)
Xác xuất một số nguyên k bít là số nguyên tố:
Pr[ ố à ố ê ố] =
( )
≈
= 2 =
(6)
2.3.2. Định lý Coppersmith (Theorem 4, 5 trong [3] và được chứng minh trong [7])
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 ¼ log2
n (khoảng ½ độ dài bit của p) các bít thấp (cao) của p.
2.3.3. Điều kiện “chặt” về tham số khóa RSA theo FIPS 186-4
Phần này trình bày điều kiện “chặt” về tham số khóa của hệ mật RSA. “Chặt” ở đây
được hiểu là yêu cầu cao nhất đối với tham số p và q được mô tả tại phần B1 mục B.3.1
appendix B, FIPS 186-4.
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à những số nguyên tố được tạo ngẫu nhiên thỏa mãn điều kiện:
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 52, 12 - 2017 133
- p, q là các số nguyên tố chứng minh được.
- p1, p2, q1, q2 lần lượt là nhân tử nguyên tố của các số (p - 1), (p + 1), (q - 1), (q + 1),
(các số nguyên tố phụ của p, q) là các số nguyên tố có thể chứng minh được.
- Ký hiệu n1, n2, n3, n4 lần lượt là chiều dài theo bit của p1, p2, q1, q2. Chiều dài của các
số nguyên tố phụ tuân thủ các ràng buộc trong bảng 2.
Bảng 2. Chiều dài tối thiểu và tối đa của p1, p2, q1 và q2.
nlen Chiều dài tối thiểu của
p1, p2, q1, q2
Chiều dài tối đa của
len(p1) + len(p2) và len(q1) + len(q2)
1024 > 100 bits > nlen/16 = 64 < 239 bits = nlen/4 - 17
2048 > 140 bits > nlen/16 = 128 < 494 bits = nlen/4 - 18
3072 > 170 bits < nlen/16 = 192 < 750 bits = nlen/4 - 18
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 (7).
c) | − | > 2 / (8).
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-1 mod (LCM (p - 1, q - 1)).
2.3.4. Thuật toán sinh khóa RSA tuân thủ điều kiện 2.3.3 (thuật toán G0)
Các số nguyên tố p, q được tạo dựa trên cơ sở của thuật toán tìm số nguyên tố mạnh
của John Gordon [2], các số nguyên tố phụ p1, p2, q1, q2 được tạo dựa trên thuật toán sinh
số nguyên tố chứng minh được của Maurer ([6]). Giá trị Bp , Bq được tính dựa theo định lý
phần dư Trung Hoa (CRT).
Input: nlen, n1, n2, n3, n4
Output: p, q, n, e, d
// generate e
1. e = RandomOddInteger(216, 2256)
// generate p
2. p1 = RandomProvablePrime(2
, 2 )
3. p2 = RandomProvablePrime (2
, 2 )
4. Ap = p1.p2.
5. =
1
−1
// using CRT
6. Sp = { Ap.i + Bp } (i = 1, 2, 3, )
7. =
∩ √2. 2
/ , 2 / − 1
such that gcd(p - 1, e) = 1
// generate q
8. q1 = RandomProvablePrime(2
, 2 )
9. q2 = RandomProvablePrime(2
, 2 )
10. Aq = q1.q2.
11. =
1
−1
//using CRT
12. Sq ={ Aq.j + Bq } (i = 1, 2, 3, )
13. =
∩ √2. 2
/ , 2 / − 1
such that gcd(q - 1, e) = 1
14. if ( |p – q| ≤ 2
nlen/2 – 100
) then go to step 8.
// compute n, d
15. n = p.q
16. d = e–1 mod (LCM(p - 1, q - 1))
17. if ( d < 2
nlen/ 2 ) then go to step 8.
18. return (p, q, n, e, d)
2.3.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.3.3
Số lượng phần tử e, #{ e }= (2256 - 2
16)/2 = (2255 - 2
15) ≥ 2254 (e là số lẻ).
Xét cách tạo p: Vì p1 , p2 là các số nguyên tố thỏa mãn điều kiện tại bảng 1 nên ước
lượng chiều dài theo bit của p1 , p2 : (nlen/16) ≤ log2 p1 , log2 p2 ≤ (nlen/8 - 9).
Công nghệ thông tin & Cơ sở toán học cho tin học
Lê Quang Huy, “Về một backdoor trong sinh khóa RSA theo chuẩn FIPS 186-4.” 134
Tập Sp được tạo bởi p1 và p2 theo thuật toán sinh số nguyên tố chứng minh được của
Maurer. Số lượng số nguyên tố được sinh bởi thuật toán của Maurer sau vài mức đệ quy
đạt khoảng 10% trong tất cả các số nguyên tố (mục 3.4 trong [6]).
Vậy số lượng các số nguyên tố p1 và p2 = {10% các số nguyên tố (2
nlen/16, 2nlen/8-9)}≈
1/8 * các số nguyên tố (2nlen/16, 2nlen/8-9)
#{ } = #{ } = 2
. 2
− 2
= 2 .
/
( / ) .
−
/
/ .
= 2 .
/ . / ( ). /
( / ). / .
>
/
/
=
/
(9)
Vì p là một số nguyên tố nằm trong tập Sp và nằm trong khoảng
√2. 2 / , 2 / − 1 . Ký hiệu s ∈ Sp , ta có s = Ap.i + Bp, (bước 6), Ta có
√2. 2 / < . + < 2
/ − 1 ⇔
√ . /
≤ ≤
/
⇔
√ . /
.
≤ ≤
/
.
⇔
√ . /
/
≤ ≤
/
/
⇒ #{ } = #{ } =
/ √ . /
/
=
( √ ). /
/
⇔
( √ ). /
/
=
2 . 0,6. 2 / ≈ 2 . 2 / = 2 /
Vậy # Sp với mỗi một cặp giá trị p1, p2 là: 2
/ . (10)
Vậy số lượng các số nguyên có thể được tạo ra bởi tập Sp,
# Sp = #{p1}. #{p2}.#{i} =
/
.
/
. 2 / =
/
Theo (6), ta có Pr[ ố à ê ố] =
Số lượng số nguyên tố p, #{p} =
/ .
. /
=
/
(11)
Xét cách tạo q: Theo (9), ta có: #{ } = #{ } =
/
Ký hiệu u là một số nguyên tố và v là một số nguyên; (u, v ∈ Sq ) và (u, v ∈ {ngoài
khoảng điều kiện (8)} ⇔ {p - 2nlen/2 -100 ≤ u, v ≤ p + 2nlen/2 -100} (12)).
Vì v ∈ Sq, nên v = Aq.j + Bq , do vậy
p - 2nlen/2 -100 ≤ Aq.j + Bq ≤ p + 2nlen/2 -100 ⇔
/
.
≤ ≤
/
.
#{ } =
+ 2 / − ( − 2 / )
2 /
=
2. 2 /
2 /
= 2 /
Vậy #{v} = #{q1}. #{q2}.#{j} =
/
.
/
. 2 / =
/
#{u} = #{v}. Pr[số k bit là số nguyên tố] =
/
.
/
=
/
Vì q được tạo giống như p và sau p thỏa mãn điều kiện (8), nằm ngoài khoảng (12), mà
giá trị khoảng (12) có giá trị: (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 (7)) với giá trị là :
(2 − √2). 2 / ≈ 0,6. 2 / .
Nên #{q} = #{p} - #{u} =
/
−
/
>
/
(13)
Vậy lực lượng khóa của thuật toán là, #{(p, q, d, e)} = #{e}.#{(p}.#{q)}
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 52, 12 - 2017 135
= 2254 .
/
.
/
= 2254 .
(14)
3. ĐỀ XUẤT THUẬT TOÁN SINH KHÓA RSA CHỨA BACKDOOR MỚI
3.1. Giới thiệu thuật toán đề xuất
Thuật toán đề xuất sử dụng ý tưởng của thuật toán tìm số nguyên tố mạnh của John
Gordon [2] thỏa mãn các điều kiện tại 2.3.3, để cài thông tin backdoor vào một nửa các bit
thấp của p. Thông tin backdoor được mã mật hóa (hoặc băm) bởi hàm FK. Giá trị p được
khôi phục thông qua thuật toán của Coppersmith [3].
Các tham số thuật toán:
+ G1 = Thuật toán đề xuất; I(kpriv) = ((p⌋k/2)⌋); E = FK = AES,
E = log2 n = nlen, k(E) = (K); M = n; log2 p = log2 q = nlen/2.
+ Hàm G: {0, 1}2k x {0, 1}k/2 x {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.3.2), ví dụ: p = G(n, 2k/2, p mod 2k/2); (nlen = 2k)
+ Giá trị Bp, Bq: có thể được tính thông qua định lý phần dư Trung Hoa (CRT).
+ Giá trị m là một ngưỡng để chọn giá trị ngẫu nhiên t không quá lớn để có thể dò tìm
lại trong thuật toán khôi phục khóa.
Thuật toán đề xuất: Sinh khóa RSA
Input: nlen, n1, n2, n3, n4, m
Output: p, q, n, e, d
// generate e
1. e = RandomOddInteger(216, 2256)
2. u = FK(e) //encryption or hash with
key
3. t = Random(m) // t < m
4. C = ut mod 2nlen/4
// generate p
5. p1 = RandomProvablePrime(2
, 2 )
6. p2 = RandomProvablePrime (2
, 2 )
7. Ap = p1.p2. 2
nlen/4
8. =
1
−1
2 /
// using CRT
9. Sp = { Ap.i + Bp } (i = 1, 2, 3, )
10. =
∩ √2. 2
/ , 2 / − 1
such that gcd(p - 1, e) = 1
// generate q
11. q1 = RandomProvablePrime(2
, 2 )
12. q2 = RandomProvablePrime(2
, 2 )
13. Aq = q1.q2.
14. =
1
−1
//using CRT
15. Sq ={ Aq.j + Bq } (i = 1, 2, 3, )
16. =
∩ √2. 2
/ , 2 / − 1
such that gcd(q - 1, e) = 1
17. if ( |p – q| ≤ 2
nlen/2 – 100
) then go to step
11.
// compute n, d
18. n = p.q
19. d = e–1 mod (LCM(p - 1, q - 1))
17. if ( d < 2
nlen/ 2 ) then go to step 11.
18. return (p, q, n, e, d).
Thuật toán đề xuất: khôi phục khóa RSA
Input: n, e, m
Output: p, q, d
1. t = 1, C = 1
2. u = FK(e)
3. repeat
4. C = C.u mod 2nlen/4
//(C = ut mod 2nlen/4)
5. if C mod 2 = 1 then
6. p = G(n, 2nlen/4, C) //Coppersmith (2.3.2)
7. t = t + 1
8. until (p mod 2nlen/4 = C) and (p is prime) and (t < m)
9. q =n / p;
10. d = e–1 mod (LCM(p - 1, q - 1))
11. return (p, q, d)
3.2. Đánh giá thuật toán đề xuất
Công nghệ thông tin & Cơ sở toán học cho tin học
Lê Quang Huy, “Về một backdoor trong sinh khóa RSA theo chuẩn FIPS 186-4.” 136
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 hệ mật đối
xứng, hoặc hàm băm có khóa với độ dài tham số an toàn tương đương với độ dài tham số
an toàn của người dùng.
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 và kẻ tấn công không thể
tính toán được khóa riêng, từ khóa công khai của người dùng.
Lực lượng khóa:
Xét việc tạo p (bước 5 đến 10). Theo (9), ta có #{ } = #{ } ≈
/
Ký hiệu s ∈ Sp , ta có s = Ap.i + Bp , (bước 9) và #{ s } = #{ i }
√ . /
≤
/
⇔
√ . /
/ . .
≤ ≤
/
/ . .
√ . /
/ . /
≤ ≤
/
/ . /
⇔
√ . /
/
≤ ≤
/
. /
⇒#{ } =
/ √ . /
/
=
( √ ). /
/
=
( √ ). /
/
= 2 . 0,6 ≈ 2
Vậy số lượng các số nguyên của bởi tập Sp,
# Sp = #{p1}. #{p2}.#{i } =
/
.
/
. 2 =
/
Theo (6), ta có Pr[ ố à ê ố] =
,
Vậy số lượng p, #{p}= # Sp . Pr[số k bit là nguyên tố] =
/ .
. /
=
/
(15)
Xét cách tạo q, vì q được tạo giống như q trong thuật toán mục 2.3.4, độc lập với p và
thỏa mãn điều kiện (8). Theo (13), vậy #{ } ≈
/
(16)
Cách tạo d, cũng giống như trong thuật toán mục 2.3.4.
Xét tỷ lệ giữa lực lượng của G1 và G0, vì e, q, d được sinh trong G1 giống như trong G0
nên hạng tử #{e}, #{q} có thể bỏ qua, nên tỷ lệ lực lượng giữa G1 và G0 là:
=
,
,
≈
/ /
/ /
= 2 / = 2
.
(17)
Vì hằng số c = -1/2 trong tỷ lệ giữa hai lực lượng, , nên theo bảng 1, lực lượng của
G1 được đánh giá ở mức tốt.
Tính chất phân phối: Thông tin backdoor được tạo ngẫu nhiên và được nhúng vào các bit
thấp của p 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, q ngẫu nhiên nên phân phối của n có thể gần với phân bố đều và do 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: Thông tin backdoor đựợc nhúng vào tham số p.
Theo cách thực hiện của thuật toán tham số q được tạo độc lập. Nếu người dùng cố định p
hoặc q và yêu cầu sinh lại q hoặc p thì có thể thực hiện được. 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 tốt.
Độ phức tạp tính toán:
Vì p được tạo gần giống như trong G0 (chỉ khác A, B) nên ta có tp(G0) = tp(G1).
Việc tạo e, q, d giống như trong G0 nên độ phức tạp tạo n là: tn(G1) = tp + tq = tn và độ
phức tạp tạo e là: te (G1) = te (G0).
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 52, 12 - 2017 137
Vậy độ phức tạp của thuật toán là: T(G1) = tn + te . Nên độ phức tạp của G1 được đánh giá
là “tốt” vì nó khác biệt không đáng kể đố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.
4. KẾT LUẬN
Dựa trên thuật toán sinh số nguyên tố chứng minh được của Maurer và thuật toán tìm
số nguyên tố mạnh của John Gordon và tấn công phân tích nhân tử của Coppersmith, một
thuật toán sinh khóa RSA chứa backdoor mới thỏa mãn các điều kiện chặt theo chuẩn
FIPS 186-4 được đề xuất. Thuật toán đề xuất được đánh giá tốt trên 7 thuộc tính và có thể
ứng dụng tốt trong phần sinh khóa của 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.
TÀI LIỆU THAM KHẢO
[1]. FIPS, 2013, FIPS PUB 186-4; Digital Signature Standard,
[2]. John Gordon, 1985, Strong Primes are Easy to Find. In: Beth T., Cot N., Ingemarsson
I. (eds) Advances in Cryptology
[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]. U. Maurer, 1994, Fast Generation of Prime Numbers and Secure Public Key
Cryptographic Parameters, https://pdfs.semanticscholar.org/e
[7]. Alexander May, 2007, Using LLL-Reduction for Solving RSA and Factorization
Problems, https://pdfs.
ABSTRACT
A BACKDOOR IN RSA KEY GENERATION STRICTLY COMPLY WITH FIPS 186-4
In this paper, a proposal of backdoored RSA key generation algorithm strictly
comply with conditions of key parameter in FIPS 186-4 [1] is presented. The
proposed algorithm use John Gordon’s strong prime finding algorithm [2] and using
Coppersmith’s factoring attack [3] to reduce backdoor information for embedding.
Keywords: Cryptography, Key generation, RSA, Backdoor.
Nhận bài ngày 24 tháng 7 năm 2017
Hoàn thiện ngày 13 tháng 10 năm 2017
Chấp nhận đăng ngày 20 tháng 12 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_huy_067_2151730.pdf