Về một backdoor trong sinh khóa RSA

Với hạ tầng mật mã khóa công khai (PKI), một vấn đề được quan tâm là việc

khôi phục cặp khóa (dùng để mã) của người dùng khi có yêu cầu từ người dùng

(mất khóa) hoặc từ cơ quan nhà nước (liên quan đến an ninh). Để giải quyết vấn đề

trên người ta sử dụng hai cách. Cách thứ nhất là sử dụng giải pháp cơ sở dữ liệu

(CSDL) khóa và các biện pháp đảm bảo an toàn cho CSDL khóa như giải pháp

mềm (mã mật CSDL khóa) và giải pháp vật lý (bảo vệ máy tính ). Giải pháp sử

dụng CSDL khóa có ưu điểm là các tính chất của khóa không bị giới hạn (so với

thuật toán chuẩn) nhưng có nhược điểm là chi phí lớn và vận hành phức tạp. Cách

thứ hai là sử dụng thuật toán sinh khóa chứa backdoor. Ưu điểm của giải pháp sử

dụng backdoor là chi phí thấp, vì khi sử dụng, hệ thống không cần lưu giữ khóa

riêng của người dùng (không duy trì CSDL khóa) mà chỉ cần lưu giữ và bảo vệ

khóa của người thiết kế. Nhược điểm của giải pháp sử dụng thuật toán sinh khóa

chứa backdoor là các tính chất khóa bị thu hẹp so với thuật toán sinh khóa chuẩn.

Với giải pháp thứ hai, nhiều thuật toán sinh khóa chứa backdoor trên một số hệ

mật đã được công bố như: RSA, Elgamal, Eliptic Curve. Các thuật toán sinh khóa

RSA chứa backdoor trong [1], [2] được đánh giá là kém an toàn vì độ dài khóa của

người thiết kế bằng một nửa so với độ dài khóa của người dùng. Các thuật toán

sinh khóa RSA chứa backdoor trong [3], [4] có độ phức tạp gần với bậc hai, có lực

lượng ít hơn so với thuật toán trong [1] và cần sử dụng bộ nhớ không mất dữ liệu

để lưu thông tin. Các thuật toán sinh khóa Elgamal trong [1] cũng bị đánh giá là

kém an toàn vì độ dài khóa của người thiết kế (Elgamal) không tương đương với

độ dài khóa của người dùng (RSA).

pdf 8 trang kimcuc 9960
Bạn đang xem tài liệu "Về một backdoor trong sinh khóa RSA", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Về một backdoor trong sinh khóa RSA

Về một backdoor trong sinh khóa RSA
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 48, 04 - 2017 111
VỀ MỘT BACKDOOR TRONG SINH KHÓA RSA 
Bạch Nhật Hồng1, Lê Quang Huy2* 
Tóm tắt: Bài báo trình bày một đề xuất về thuật toán sinh khóa RSA chứa 
backdoor trên cơ sở cải tiến thuật toán PAP trong [1]. Thuật toán đề xuất sử dụng 
một hệ mật đối xứng để mã mật thông tin backdoor. Thuật toán đề xuất tốt hơn 
thuật toán PAP về tính bảo mật, lực lượng khóa và độ phức tạp tính toán. 
Từ khóa: Mật mã, Sinh khóa, RSA, Backdoor. 
1. ĐẶT VẤN ĐỀ 
Với hạ tầng mật mã khóa công khai (PKI), một vấn đề được quan tâm là việc 
khôi phục cặp khóa (dùng để mã) của người dùng khi có yêu cầu từ người dùng 
(mất khóa) hoặc từ cơ quan nhà nước (liên quan đến an ninh). Để giải quyết vấn đề 
trên người ta sử dụng hai cách. Cách thứ nhất là sử dụng giải pháp cơ sở dữ liệu 
(CSDL) khóa và các biện pháp đảm bảo an toàn cho CSDL khóa như giải pháp 
mềm (mã mật CSDL khóa) và giải pháp vật lý (bảo vệ máy tính). Giải pháp sử 
dụng CSDL khóa có ưu điểm là các tính chất của khóa không bị giới hạn (so với 
thuật toán chuẩn) nhưng có nhược điểm là chi phí lớn và vận hành phức tạp. Cách 
thứ hai là sử dụng thuật toán sinh khóa chứa backdoor. Ưu điểm của giải pháp sử 
dụng backdoor là chi phí thấp, vì khi sử dụng, hệ thống không cần lưu giữ khóa 
riêng của người dùng (không duy trì CSDL khóa) mà chỉ cần lưu giữ và bảo vệ 
khóa của người thiết kế. Nhược điểm của giải pháp sử dụng thuật toán sinh khóa 
chứa backdoor là các tính chất khóa bị thu hẹp so với thuật toán sinh khóa chuẩn. 
Với giải pháp thứ hai, nhiều thuật toán sinh khóa chứa backdoor trên một số hệ 
mật đã được công bố như: RSA, Elgamal, Eliptic Curve. Các thuật toán sinh khóa 
RSA chứa backdoor trong [1], [2] được đánh giá là kém an toàn vì độ dài khóa của 
người thiết kế bằng một nửa so với độ dài khóa của người dùng. Các thuật toán 
sinh khóa RSA chứa backdoor trong [3], [4] có độ phức tạp gần với bậc hai, có lực 
lượng ít hơn so với thuật toán trong [1] và cần sử dụng bộ nhớ không mất dữ liệu 
để lưu thông tin. Các thuật toán sinh khóa Elgamal trong [1] cũng bị đánh giá là 
kém an toàn vì độ dài khóa của người thiết kế (Elgamal) không tương đương với 
độ dài khóa của người dùng (RSA). 
Do vậy, mục tiêu nghiên cứu ngoài việc tăng thêm hiểu biết để có giải pháp 
phòng vệ tốt hơn trong việc sử dụng các sản phẩm mật mã khi không làm chủ được 
mà còn có khả năng ứng dụng, 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 trên cơ sở cải tiến thuật toán PAP trong [1]. Thực hiện mục tiêu trên, bài báo 
được tổ chức thành 5 phần: mục 1-Đặt vấn đề, nêu lên sự cần thiết nghiên cứu và 
một số kết quả nghiên cứu của các tác giả đi trước; Mục 2-Các định nghĩa và cơ sở 
phục vụ cho việc phân tích thuật toán sinh khóa chứa backdoor; Mục 3-Trình bày 
và đánh giá thuật toán PAP; Mục 4-Đề xuất thuật toán sinh khóa chứa backdoor 
mới; Mục 5-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 
2.1.1. Một số ký hiệu 
Công nghệ thông tin & Cơ sở toán học cho tin học 
B. N. Hồng, L. Q. Huy, “Về một backdoor trong sinh khóa RSA.” 112 
Gọi người thiết kế thuật toán sinh khóa chứa backdoor là người thiết kế và 
người dùng cặp khóa do thuật toán sinh khóa chứa backdoor tạo ra là người dùng. 
1. Ký hiệu các thuật toán: Ký hiệu G0 là thuật toán tạo khóa trung thực, tạo các 
khóa hợp lệ thuộc không gian khóa KS. Ký hiệu G1 là thuật toán tạo khóa độc hại 
tạo các khóa chứa backdoor thuộc không gian khóa KSM. Ký hiệu k là tham số an 
toàn của thuật toán sinh khóa. Ta có: 
trong đó: 
- ∈U KS, ∈U KSM nghĩa là các khóa được chọn ngẫu nhiên trong KS, KSM. 
- lần lượt là ký hiệu khóa riêng và khóa công khai của G0. 
- lần lượt là ký hiệu khóa riêng và khóa công khai của G1. 
Ký hiệu R1 là thuật toán khôi phục cặp khóa sao cho từ khóa công khai có thể 
khôi phục lại khóa riêng tương ứng. Ta có: . 
2. Ký hiệu các hàm bên trong KSM: Cấu trúc của KSM được diễn đạt bởi hai hàm 
EKSM và DKSM được mô tả như sau: 
a) , ký hiệu là một phần khóa công khai của G1, hàm 
EKSM đưa thông tin khóa riêng vào khóa công khai. 
b) , hàm DKSM khôi phục khóa riêng từ khóa công khai. 
Các hàm EKSM và DKSM là sự kết hợp của ba hàm sau và các hàm nghịch đảo 
tương ứng: 
Hàm thứ nhất: Gọi là hàm trích thông tin, ký hiệu là I, với mục đích trích từ khóa 
riêng các thông tin để nhúng trong khóa công khai sao cho 
thông tin được nhúng đủ để khôi phục . Hàm I cần thỏa mãn: 
a) ; Với là độ dài tính theo bit của 
b) ; Với là độ dài tính theo bit của 
Hàm thứ hai: Gọi là hàm che giấu thông tin, ký hiệu E. Hàm E dựa trên hệ mật 
đối xứng hoặc hệ mật 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 về mặt tính toán. Thông tin giấu: . 
Hàm thứ ba: Được gọi là hàm nhúng, ký hiệu f. Nó xác định vị trí nhúng thông 
tin backdoor (đã được mã mật) và gắn giá trị ngẫu nhiên cùng thông tin backdoor 
(đã mã mật) vào trong các phần (bộ phận) của khóa công khai. 
. 
Vậy ta có , và 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 48, 04 - 2017 113
Ký hiệu kB là một bộ phận của khóa công khai chứa thông tin backdoor đã 
được mã mật hóa (nhúng).VD với sinh khóa RSA chứa backdoor, kB là n hoặc e. 
2.1.2. Định nghĩa thuật toán sinh khóa chứa backdoors 
Ký hiệu thuật toán sinh khóa của một hệ mật mã khóa công khai là G0. Một 
người thiết kế tạo ra một thuật toán sinh cặp khóa, G1, và một thuật toán khôi phục 
cặp khóa R1. Gọi I là hàm nén thông tin, gọi E là hàm mã mật hóa và D là hàm giải 
mã mật của E, gọi fR là hàm nhúng thông tin của G1. Cặp khóa là 
các khóa chứa backdoor an toàn nếu các thuộc tính sau được thỏa mãn: 
1. Bảo mật: Từ khóa công khai , người dùng không thể tính toán (khôi phục) 
được khóa riêng tương ứng . 
2. Hoàn chỉnh: Các hàm I và f khả nghịch, để 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, 
3. Không thể phân biệt được: Với các thuật toán sinh khóa G1 và G0. Thì: 
a) Các kết quả đầu ra của G0, G1 là không thể phân biệt được về mặt thống kê, 
hoặc về mặt tính toán. 
b) Các đo đạc bên ngoài của G0, G1 là không thể phân biệt được một cách rõ 
ràng cái này với cái kia. 
2.2. Một số kết quả của hệ mật RSA 
2.2.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ó: 
Vậy xác suất một số nguyên ngẫu nhiên k-bit là số nguyên tố là: 
2.2.2. Số lượng khóa có thể sinh được 
Số lượng các số nguyên tố k-bit: 
Với mỗi tham số e xác định một tham số d duy nhất, tham số e có thể được chọn 
ngẫu nhiên trong Z*φ(n). Số các số nguyên như vậy là số các số nguyên nguyên tố 
cùng nhau với φ(n), và bằng φ(φ(n)). Từ [5, Fact 2, p102], ta có: 
, 
Trong đó, ln ln n là viết tắt của ln(ln(n)). 
Chia n cho ln n không ảnh hưởng nhiều đến kết quả nên ta xấp xỉ . φ(n) 
hoặc φ(φ(n)) có thể được xấp xỉ bằng n. Với mỗi giá trị của e xác định duy nhất 
một nghịch đảo d, nên ta có lực lượng khóa của thuật toán sinh khóa RSA là: 
# {(p,q,d,e)} = #{(p, q)} • #{e} ≈ (1,44. 2k-1-log2
 k)2 • φ(φ(n)) ≈ n. 2. 22k-2-2log2
 k 
Công nghệ thông tin & Cơ sở toán học cho tin học 
B. N. Hồng, L. Q. Huy, “Về một backdoor trong sinh khóa RSA.” 114 
3. THUẬT TOÁN PAP 
3.1. Giới thiệu thuật toán PAP 
Thuật toán sinh khóa RSA chứa backdoor trong [1] được gọi là PAP, G1 = 
PAP). Thuật toán PAP sử dụng chính hệ mật RSA để mã mật thông tin backdoor, 
E = RSA. Tham số modulus của người thiết kế (N) có độ dài bằng một nửa so với 
độ dài tham số modulus của người dùng (n). Thông tin backdoor (số nguyên tố p, 
 được giấu ở nửa các bit cao của n, kB = n, f = ρ.2
k + r // (ρ : r) (ρ nối 
với r). Các tham số thuật toán gồm: 
+ Ký hiệu khóa công khai của người thiết kế là (N, E1) và khóa riêng là D1. 
+ Hàm giả ngẫu nhiên FK: {0, 1}
k → {0, 1}k, khả nghịch và chỉ xét các giá trị 
thỏa mãn FK(x) < N. 
+ Hàm GK: {0, 1}
k → {0, 1}k là hàm giả ngẫu nhiên khả nghịch và để đảm bảo | 
GK (x) | = k. 
+ Ký hiệu a : b là xâu a nối với xâu b, xâu nối có giá trị a.2k + b 
Thuật toán PAP [sinh khóa RSA] Thuật toán PAP [khôi phục khóa 
RSA] 
Input (k, K, E1, N, B1, B2) 
Output (p, q, d, e) 
1. repeat 
2. repeat 
3. Generate random prime p//| p | = k 
4. for i = 0 to B1 
5. ρ1 = FK+i(p) 
6. if ρ1 < N then break 
7. until ρ1 < N 
8. 
9. for j = 0 to B2 
10. ρ = GK+j(ρ2) //| ρ | = k 
11. Generate a random r //| r | = k 
12. n1 = ρ.2
k + r //(ρ : r) 
13. q = [n1 / p] 
14. if q is prime then break 
15. until q is prime 
16. n = p.q 
17. Generate a random e 
 // until gcd(e, φ(n)) = 1) 
18. d ≡ e-1 mod φ(n) 
19. return (p, q, d, e) 
Input (n, e, D1, N, K, B1, B2) 
Output (d) 
1. for m = 0 to 1 
2. ρ. 2k + r = n 
3. ρ = ρ + m 
4. for j = 0 to B2 
5. ρ2 = G
-1
K + j(ρ) 
6. 
7. for i = 0 to B1 
8. p = F-1K+i (ρ3) 
9. if (p | n) then break 
10. if (p | n) then break 
11. if (p | n) then break 
12. q = n / p 
13. d ≡ e-1 mod φ(n) 
14. return (d) 
3.2. Đánh giá thuật toán PAP 
Tính bảo mật: Tham số modulus của người thiết kế có chiều dài bằng một nửa 
tham số modulus của người dùng khiến cho backdoor có điểm yếu và do đó, tính 
bảo mật có thể không được đảm bảo. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 48, 04 - 2017 115
Lực lượng: 
Vì p được sinh ngẫu nhiên nên theo định lý về số lượng các số nguyên tố, ta có: 
#{p} = . 
Xét cách tạo q (từ bước 7 đến bước 12): Số lượng xâu ρ: r chia hết cho p là 
Theo định lý về số các số nguyên tố: một số nguyên k-bit là số nguyên tố với 
xác xuất khoảng 2-ln k. 
# {q} = Số lượng xâu ρ: r chia hết cho p là số nguyên tố là 
Vậy, số lượng phần tử n (#{n}) là: 
Xét tỷ lệ giữa lực lượng của KSM và KS, vì hạng tử #{e} giống nhau giữa hai 
thuật toán sinh khóa nên có thể bỏ qua. Do đó, tỷ lệ giữa hai lực lượng: 
Độ phức tạp: Vì |p| = |N| và FK+i(p) có thể xem là một hoán vị, do đó xác xuất 
FK+i(p) < N lớn hơn ½. Do vậy, vòng lặp từ 2 đến 7 là không đáng kể. Tương tự, 
vòng lặp cố định từ bước 9 đến bước 14 với tối đa B2 = 16. Do đó, thuật toán có 
bước lặp tạo q từ bước 1 đến bước 15, vì q = [(ρ.2k + r) / p] là một số nguyên giả 
ngẫu nhiên, nên độ phức tạp của việc tạo q trong G1 cũng giống như trong G0; 
tq(G1) =B2. tq(G0) tương đương với tq(G1) = tq(G0). Cách tạo p cũng giống như 
trong G0, tuy nhiên p được tạo bên trong vòng lặp tạo q nên và tp(G1) = tp(G0). 
tq(G0). Độ phức tạp trong tạo n là: 
tn (G1) = tp . tq + tq + T (FK) + T (RSA-k) + T (GK) 
Việc tạo e giống như G0 nên ta có te (G1) = te (G0) 
Vậy độ phức tạp của thuật toán là: 
T(G1) = te + tp . tq + tq + T (FK) + T (GK) + T (RSA-k). 
4. ĐỀ XUẤT THUẬT TOÁN SINH KHÓA RSA CHỨA BACKDOOR MỚI 
4.1. Giới thiệu thuật toán 
Phần này, trình bày một thuật toán sinh khóa RSA chứa backdoor trên cơ sở cải 
tiến thuật toán PAP trong [1]. Thuật toán đề xuất (G1
’=thuật toán đề xuất) sử dụng 
một mã khối đối xứng (E = mã khối đối xứng) để mã mật thông tin backdoor (số 
nguyên tố p, . Thông tin backdoor được giấu trong các bit thấp của n, 
kB = n; f = s.2
k + r //(s : r) (s nối với r). Thuật toán đề xuất sử dụng kết quả của định 
lý sau: 
Định lý 4.1. Ký hiệu p là một số nguyên tố, r là một số nguyên lẻ với | p | = | r | 
= k. Gọi u = 2k mod p; r0 = r mod p ; s0 = (r0 + u
2).u-1 mod p; s = 2k – s0 ; 
n = r + s.2k. Thì ta có p | n. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
B. N. Hồng, L. Q. Huy, “Về một backdoor trong sinh khóa RSA.” 116 
Chứng minh: 
u = 2k mod p ⇔ 2k = m.p + u với m ∈ Z 
r0 = r mod p ⇔ r = l.p + r0 với l ∈ Z 
Từ n = s.2k + r = 2k. (2k – s0) + l.p + r0 = (m.p + u).( m.p + u – s0) + l.p + r0 
= m2p2 + (2mu – ms0).p +u
2 – us0 + l.p + r0 
= m2p2 + (2mu – ms0 + l).p + u
2 + r0 – u (r0 + u
2).u-1 mod p 
= (m2p + 2mu – ms0 + l).p mod p 
Vậy p | n 
Các tham số thuật toán đề xuất: 
+ Hàm mã khối đối xứng FK: {0, 1}
l → {0, 1}l để che giấu thông tin backdoor 
(số nguyên tố p), ví dụ F = AES 128 (l =128). 
Thuật toán đề xuất [sinh khóa RSA] Thuật toán đề xuất [khôi phục khóa 
RSA] 
Input (k, K, B1) 
Output (p, q, n, d) 
1. repeat 
2. Generate a random prime p 
3. u = 2k mod p 
4. for i = 0 to B1 
5. r = FK+i(p); 
6. if r mod 2 = 0 then r = r + 1 
7. r0 = r mod p 
8. s0 = (r0 + u
2).u-1 mod p; 
9. if (s0 ≤ 2
k-1) then 
10. s = 2k – s0 
11. n = s.2k + r; //n is multiple of p 
12. q = n / p 
13. if q is prime then break 
14. until q is prime 
15. Generate a random e//gcd(e,φ(n))=1 
16. d = e-1 mod φ(n) 
17. return (p, q, n, d). 
Input (n, e, K, B1) 
Output (p, q, d) 
1. k = |n| / 2 
2. r = n mod 2k 
3. for m = 0 to 1 
4. r = r - m 
5. for i = 0 to B1 
6. p = F-1K+i(r) 
7. if (p | n) then break 
8. if (p | n) then break 
9. q = n / p 
9. d = e-1 mod φ(n) 
10. return (p, q, d) 
4.2. Đánh giá thuật toán đề xuất 
Tính bảo mật: Thuật toán đề xuất an toàn vì sử dụng mã khối đối xứng có độ 
dài khóa phù hợp (ví dụ AES 128), để mã mật thông tin backdoor. 
Lực lượng: Xét lực lượng của p. Vì p được sinh ngẫu nhiên nên theo định lý về 
số lượng các số nguyên tố (mục 2.3.), ta có #{p} = . 
Xét lực lượng của q. Ở bước 5, ta có r = FK+i(p) vì hàm FK là một mã khối đối 
xứng nên r có thể xem như một hoán vị giả ngẫu nhiên của p. Với mỗi giá trị của p 
thì có thể có nhiều nhất B1 giá trị s. Do đó, số lượng phần tử nhiều nhất là q =B1. 
Theo định lý về số các số nguyên tố (mục 2.3), một số nguyên k-bit là số nguyên tố 
với xác suất khoảng 2- ln k. Vì vậy: #{q là số nguyên tố} = B1. 2
-ln k. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 48, 04 - 2017 117
#{n} = #{p}.#{q} = . 
Xét tỷ lệ giữa lực lượng của KSM và KS, vì e được sinh tự do nên hạng tử #{e} 
giống nhau trong G0 và G
’
1 nên có thể bỏ qua, ta có: 
Độ phức tạp: Cách tạo p giống nhau đối với G0 và G
’
1 nên tp(G0) = tp(G
’
1). 
Vì p được đặt trong vòng lặp tạo q và trong vòng lặp tạo q có thêm việc mã mật 
hóa thông tin backdoor, do đó, tq (G’1) = tq(G0) . tp (G0)+ T (FK). 
Vậy độ phức tạp trong tạo n là: tn (G’1) = tp + tq. tp + T (FK). 
Cách tạo e của G’1 cũng giống với G0, do đó, độ phức tạp trong việc tạo e là 
giống nhau nên ta có te (G
’
1) = te (G0). 
Vậy độ phức tạp của thuật toán này là: T(G’1) = tp + tq. tp + te + T (FK). 
4.3. Tóm tắt các ưu điểm của thuật toán đề xuất 
Thuật toán đề xuất ưu điểm hơn so với thuật toán PAP ở những điểm sau: 
- Tính bảo mật: thuật toán đề xuất sử dụng mã khối đối xứng (có độ an toàn 
tương đương với khóa 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 ( 
) lớn hơn (tốt hơn) một chút so với tỷ lệ lực lượng 
thuật toán PAP ( ). 
- Độ phức tạp của thuật toán đề xuất, T(G’1) = tp + tq. tp + te + T(FK) ít phức tạp 
hơn độ phức tạp của thuật toán PAP, T(G1) = tp + tq. tp + te + T(FK) + T(GK) + 
T(RSA-k). 
5. KẾT LUẬN 
Trên cơ sở thuật toán PAP, một thuật toán mới được đề xuất với các ưu điểm về 
tính bảo mật, lực lượng khóa và độ phức tạp tính toán hơn so với thuật toán PAP. 
Thuật toán này có thể ứng dụng tốt trong phần sinh khóa của thiết bị PKI Token 
hoặc HSM. Ngoài ra, thuật toán có thể được xem xét thêm theo hướng sử dụng hệ 
mật khác để mã mật hóa thông tin backdoor, hoặc rút bớt thông tin backdoor hoặc 
đề xuất phương pháp tìm kiếm số nguyên tố q hiệu quả hơn hoặc xem xét sự phù 
hợp của các tham số do thuật toán sinh ra với tiêu chuẩn tham số ứng dụng cho 
một hạ tầng PKI cụ thể. 
TÀI LIỆU THAM KHẢO 
[1]. Young A and Yung M, “The Dark Side of ‘Black-Box’ Cryptography or: 
Should We Trust Capstone?”,  
viewdoc/download?doi=10.1.1.54.616&rep=rep1&type=pdf, 1996. 
[2]. Young A and Yung M, “Kleptography: Using Cryptography Against 
Cryptography”, https://cryptome.org/2013/09/klepto-crypto.pdf, 1997. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
B. N. Hồng, L. Q. Huy, “Về một backdoor trong sinh khóa RSA.” 118 
[3]. Young A and Yung M, “Malicious Cryptography: Kleptographic Aspects”, 
https://pdfs.semanticscholar.org/6c9c/9bb21f1b52480df05ce7a9266436ff5945
35.pdf, 2005. 
[4]. Young A and Yung M, “A Space Efficient Backdoor in RSA and Its 
Applications”,  
2005. 
[5]. A. Menezes, P. van Oorschot, and S. Vanstone, “Handbook of Applied 
Cryptography”, CRC Press, 2001. 
ABSTRACT 
ASYMETRIC BACKDOOR IN RSA KEY GENERATION 
In this paper, a propose of a backdoored RSA key generation algorithm 
based on improvement of PAP algorithm in [1] is presented. The proposed 
algorithm uses RSA cryptosystem to encrypt backdoor information. The 
proposed algorithm is better than the PAP in security, cardinality, 
complexity. 
Keywords: Cryptography, Key generation, RSA, Backdoor. 
 Nhận bài ngày 29 tháng 12 năm 2016 
Hoàn thiện ngày 02 tháng 3 năm 2017 
Chấp nhận đăng ngày 05 tháng 4 năm 2017 
Địa chỉ: 1 Trường Đại học Sư phạm Kỹ thuật Hưng Yên; 
 2 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 

File đính kèm:

  • pdfve_mot_backdoor_trong_sinh_khoa_rsa.pdf