Tấn công bằng khóa riêng

Một phần của tài liệu CÁC PHƯƠNG PHÁP TẤN CÔNG RSA (Trang 32 - 33)

Với (N,d) là một khóa riêng của RSA. Giả sử rằng Marvin có thể tìm được một nhân tử trong dãy bit của d, hay một phần của d. Từ đó Marvin có thể khôi phục được phần còn lại của d. Cụ thể ta có định lý sau:

Định lý 5 (BDF): Cho (N,d) là một khóa riêng của RSA trong đó N có độ dài là n bit. Biết [n/4] bít ít ý nghĩa nhất của d, Marvin có khôi phục được số d với thời gian tuyến tính elog2e.

Định lý 6 (Coppersmith): Giả sử số N = pq (là một modul RSA) có n bit. Cho trước n/4 bít ít ý nghĩa nhất (hoặc n/4 bít nhiều ý nghĩa nhất) của p (giả thiết p<q). Khi đó có tồn tại một phân tích số N một cách có hiệu quả.

- Định lý BDF được chứng minh thông qua định lý Coppersmith.

Định lý 5 là kết quả của định lý 6. Trong thực tế, từ e và d, tồn tại một số nguyên k sao cho ed – k(N – p – q + 1) = 1

vì thế d < ϕ(N), mặt khác ta có 0 < k ≤ e. Rút gọn với 2n/4 và đặt q = N/p, chúng ta có: (ed)p – kp(N – p + 1) + kN = p (mod2n/4).

Khi Marvin biết được ít nhất n/4 bít của chuỗi bít d, anh ta có được giá trị của ed mod 2n/4. Ví thế anh ta có được phương trình có k và p. Mặt khác từ giá trị của e và có thể là k, Marvin giải phương trình bậc hai chứa p và thu được một giá trị của p mod 2n/4. Với các giá trị thu được này, anh ta chạy thuật toán của định lý 6 để phân tích nhân N thành nhân tử. Do tổng các giá trị của p mod 2n/4 lớn nhất là e log2e. Vì thế tại giá trị lớn nhất e log2e, N sẽ bị phân tích.

Định lý 5 được biết như là một phương pháp tấn công vào khóa riêng (partial key- exposure). Tương tự như các phương pháp tấn công đã tồn tại, với giá trị e lớn hơn và phải bé hơn N , tuy nhiên với số bít tăng kỹ thuật sẽ phức tạp hơn. Có một điều thú vị là các

hệ mật dựa trên log rời rạc như hệ mật khóa công khai ElGamal, thì dường như không dẽ bị phá vỡ bởi phương pháp này. Hơn nữa nếu gx mod p và một nhân tử là hằng số x được cho, không có thuật toán với thời gian đa thức để tính phần còn lại của x.

Với cách tấn công này, chúng ta chỉ ra rằng khi mã hóa với thành phần e nhỏ, hệ mật RSA bị rò rỉ một nửa số bít quan trọng nhất (hoặc ít quan trọng nhất) tương ứng với rò khóa riêng d. Để hiểu rõ điều này, chúng ta xét phương trình

ed –k(N – p – q + 1) = 1

trong đó k là một số nguyên thỏa mãn 0 < k ≤ e. Cho k, Marvin có thể dẽ dàng tính :

kN ed∧= ( +1)/ Sau đó tính: N e N k e q p k d d∧− ≤ ( + )/ ≤3 / <3

Vì thế d∧ là một xấp xỉ tốt cho d. Với biên này cho thấy với d tốt nhất, một nửa số tín hiệu bít của d∧ sẽ dẫn tới d. Vì thế chỉ e mới có thể là giá trị của k, Marvin có thể xây dựng một tập con nhỏ của e như là một thành phần của tập bằng một nửa tín hiệu bít có ý nghĩa nhất của d. Trong trường hợp e = 3 là trường hợp đặc biệt, tại đây có thể chỉ ra rằng k luôn bằng 2 và vì thế hoàn toàn bị rò rỉ một nửa tín hiệu bít ý nghĩa nhất của d.

Một phần của tài liệu CÁC PHƯƠNG PHÁP TẤN CÔNG RSA (Trang 32 - 33)