CHƯƠNG 3: TẤN CÔNG RSA VÀ CÁC BIẾN THỂ CỦA RSA
4.1. Đánh giá chi phí về thời gian của thuật toán
4.1.3. Đánh giá thuật toán giải mã
Trong phần trình bày 4.1.1.2, ta gọi M(n) là độ phức tạp của một phép nhân modulo với số bị nhân có độ lớn n-bit và một modulus n-bit. Ở đây, M(n) thể hiện tổng số bít của các hoạt động thực hiện một phép nhân modulo. Ta xét RSA với một modulus n-bit và số mũ bí mật d N . Giả sử số mũ bí mật có số bít 1 và bit 0 trong dãy biểu diễn nhị phân là tương đương, thì độ phức tạp của giải mã chuẩn trong RSA là:
).
n ( 2 nM 3
4.1.3.1. Thuật toán giải mã trong CRT-RSA
Đối với giải mã CRT, độ phức tạp bị chi phối bởi hai lũy thừa modular cho các phần giải mã mp và mq. Giả định rằng, nghịch đảo p-1 mod q được tính toán trước khi sử dụng thuật toán của Garner. Các số mũ CRT xấp xỉ khoảng Ndp, với một số 0 < δp ≤ ẵ. Giả sử mỗi mũ CRT cú số bớt 0 và bớt 1tương đương trong dãy biểu diễn nhị phân của nó, thì độ phức tạp của giải mã CRT sẽ là:
2).
2 (
23 n
pnM
Vì vậy, việc giải mã trong CRT - RSA nhanh hơn so với giải mã chuẩn của RSA theo một tỉ số:
. 2) (
) ( 2
1 M n
n M
p
Vì sự phức tạp của M(n) có thể coi như là tuyến tính và bậc hai, do đó sự tăng tốc độ này nằm trong khoảng (δ/ δp, 2 δ/δp) [10]. Nếu các phần giải mã CRT có thể được thực hiện song song, thì hệ số này tăng lên gấp hai lần.
4.1.3.2. Thuật toán giải mã trong Multi-Prime RSA
Khi giải mã chuẩn được sử dụng:
Chi phí về thời gian giải mã tương đương với RSA chuẩn. Như vậy, lợi ích duy nhất của sử dụng Multi-Prime RSA với RSA chuẩn là giảm được các chi phí tạo khóa.
Khi giải mã với định lý phần dư Trung Hoa:
Chi phí giải mã cho Multi-Prime RSA thấp hơn chi phí giải mã với CRT- RSA. Các chi phí chủ yếu trong thuật toán giải mã là chi phí cho r phần giải mã.
Dựa theo các lập luận trong phần 2.4, chi phí để giải mã sẽ khoảng:
r) (n 2 nM r3 '
khi các số mũ CRT có kích thước N ' với một modulus n-bit. Ở đây, ta giả sử rằng số lượng các bit 1 và bit 0 trong dãy biểu diễn nhị phân của các số mũ CRT là tương đương nhau. Trong khi chi phí giải mã trong CRT-RSA là:
2) (n 2 nM 23 p
Điều này cho thấy, chi phí giải mã trong Multi- Prime RSA luôn thấp hơn so với chi phí giải mã trong CRT-RSA.
Ta xét hai trường hợp của Multi-Prime RSA một cách chi tiết như sau:
- Trường hợp 1: khi một số mũ công khai bé được sử dụng
Khi số mũ công khai bé được sử dụng, các số mũ CRT sẽ có kích thước đủ lớn. Vì vậy, chúng ta có thể thay thế δ' bằng 1/r cho Multi-Prime RSA và bằng 1/2 cho CRT-RSA. Trong trường hợp này, tỷ lệ chi phí giải mã của CRT-RSA trên Multi-Prime RSA là:
M(n/2) / M(n/r)
Vì sự phức tạp của M(n) biến đổi theo phương trình tuyến tính bậc hai, do đó tỉ lệ này nằm trong khoảng (r/2, r2/4]. Như vậy, giải mã trong Multi-prime RSA sẽ nhanh hơn CRT-RSA ít nhất khoảng r/2 lần.
Trong thực tế, Boneh và Shacham so sánh tốc độ giải mã của Multi-Prime RSA (với r=3) và CRT-RSA với một modulus 1024-bit. Kết quả của cuộc thử nghiệm cho thấy giải mã trong Multil-Prime RSA nhanh hơn giải mã trong CRT-RSA 1.73 lần [6]. Tỉ lệ này nằm trong phạm vi dự đoán (r/2, r2/4]=(1.5, 2.25] (với r = 3).
- Trường hợp 2: khi số mũ CRT bé được sử dụng
Tỷ lệ chi phí giải mã cho CRT-RSA trên Multil-Prime RSA là:
2M(n/2) / (rM(n/r))
Vì M(n) biến đổi theo phương trình tuyến tính bậc hai, do đó tỷ lệ này nằm trong khoảng (1, r/2].
4.1.3.3. Thuật toán giải mã trong Takagi's scheme
(LUAN.VAN.THAC.SI).Phan.tich.he.mat.ma.RSA.va.cac.bien.the.cua.no(LUAN.VAN.THAC.SI).Phan.tich.he.mat.ma.RSA.va.cac.bien.the.cua.no(LUAN.VAN.THAC.SI).Phan.tich.he.mat.ma.RSA.va.cac.bien.the.cua.no(LUAN.VAN.THAC.SI).Phan.tich.he.mat.ma.RSA.va.cac.bien.the.cua.no(LUAN.VAN.THAC.SI).Phan.tich.he.mat.ma.RSA.va.cac.bien.the.cua.no(LUAN.VAN.THAC.SI).Phan.tich.he.mat.ma.RSA.va.cac.bien.the.cua.no(LUAN.VAN.THAC.SI).Phan.tich.he.mat.ma.RSA.va.cac.bien.the.cua.no(LUAN.VAN.THAC.SI).Phan.tich.he.mat.ma.RSA.va.cac.bien.the.cua.no
Nguyễn Thị Ngọc Anh – K16 – HTTT1
Trong thuật toán 2.3, ta thấy phần giải mã theo modulo p có thể được nâng lên thành phần giải mã theo modulo pb-1. Về cơ bản, các thuật toán giải mã tính toán phần giải mã mp và phần giải mã mq, sử dụng thuật toán 2.3 để tính toán
1 b
mp và sau đó kết hợp với mq bằng thuật toán của Garner để phục hồi bản rõ.
Chú ý rằng sự phức tạp của thuật toán 2.3 phụ thuộc vào kích thước của các số mũ công khai. Đặc biệt, một lũy thừa modulo với số mũ e cần phải được thực hiện ở bước 4. Tuy nhiên, bằng cách sử dụng một số mũ công khai nhỏ (e = 216 +1), sẽ loại bỏ sự phụ thuộc này. Ngoài ra, nếu chúng ta giả định rằng p-1 mod q và e-1 mod p được tính toán trước và được cung cấp như là đầu vào bổ sung cho thuật toán, thì sự phức tạp của thuật toán chủ yếu phụ thuộc vào lũy thừa modulo trong bước 1. Do đó, sự phức tạp của thuật toán giải mã phụ thuộc chủ yếu vào hai lũy thừa modulo để tính toán các phần giải mã mp và mq.
Vì số mũ công khai là rất nhỏ, nên các số mũ CRT sẽ có kích thước đủ lớn dp, dq ≈ N1/b. Theo lý luận trong phần hiệu quả của CRT-RSA, dự kiến chi phí giải mã trong Takagi's Scheme với một modulus n-bit là:
) 2 (
23
b M n b n
Điều này dẫn đến, thời gian giải mã trong Takagi's Scheme nhanh hơn thời gian giải mã trong CRT-RSA khi sử dụng một số mũ công khai nhỏ theo một tỉ lệ.
), / (
) 2 / (
2 M n b
n M b
Vì sự phức tạp của M(n) biến thiên theo phương trình tuyến tính bậc hai, nên tỉ lệ này nằm trong khoảng:
2 . 2 ,
3
2 b
b
Trong bảng 2.2, ta so sánh các thuật toán giải mã trong CRT-RSA, Multi- Prime RSA và Takagi's Scheme RSA. Sự so sánh được dựa trên số mũ lũy thừa modulo và kích thước của modulus cho các lũy thừa với một modulus n-bit. Cho r = b, và giả sử rằng các tính toán được thực hiện nối tiếp, giải mã trong Takagi's Scheme dự kiến sẽ nhanh hơn r/2 lần so với giải mã trong Multi-Primne RSA.
Khi tính toán song song, chi phí chi phối sẽ là một modulo lũy thừa duy nhất n/b-bit và chi phí giải mã sẽ gần bằng nhau. Tuy nhiên, vì phải thêm phần tính toán Hensel lifting, nên phương pháp giải mã của Takagi hơi chậm hơn so với Multi-Prime RSA một ít.
Với một modulus 1024-bit, Takagi thực hiện và so sánh thời gian giải mã cho lược đồ của ông (với N = p2q) và Multi-prime RSA (với N = p1p2p3). Đối với việc thực hiện nối tiếp, giải mã trong Takagi's Scheme sẽ nhanh hơn 3/2= 1.5 lần (cho r = b = 3) giải mã trong Multi-Prime RSA.
Việc so sánh thời gian giải mã này dựa vào việc Tagaki's Scheme sử dụng một số mũ công khai nhỏ và các số mũ CRT cho tất cả các biến thể có kích cỡ đủ lớn. Tuy nhiên, thời gian giải mã cho cả CRT-RSA và Multi-Prime RSA giảm đáng kể khi sử dụng số mũ CRT nhỏ. Sử dụng số mũ CRT nhỏ trong Takagi's Scheme trong khi số mũ công khai có kích thước đủ lớn e≈N2/b và điều này làm tăng chi phí giải mã (bước 4 trong thuật toán 2.3).
Phần này tham khảo tài liệu [10], [15]