1.2.5.1. Các bài toán
Nhiều hệ thống mật mã có độ an toàn phụ thuộc vào tính khó giải của bài toán phân tích số nguyên, trong số đó có hệ thống mật mã RSA và các hệ thống mật mã dựa trên RSA.
Bài toán phân tích số nguyên:
Cho số nguyên n, hãy tìm biểu diễn 1 2
1e 2e ... ek k
n p p p , với p là các i số nguyên tố khác nhau và ei 1.
Bài toán RSA
Cho hệ thống mật mã RSA với bộ tham số tương ứng (N, e, d). Trong điều kiện không biết d, cho *
N
x , hãy tìm một số nguyên y sao cho:
(mod )
e
y x N .
1.2.5.2. Mối quan hệ giữa bài toán RSA với bài toán phân tích N
Nếu modulus N được phân tích thành các nhân tử nguyên tố p, q thì có thể tính được ( )N và d như khi thực hiện sinh cặp khóa RSA. Khi đã có được d thì bài toán RSA được giải và bởi vậy các hệ thống mật mã RSA và hệ thống mật mã dựa trên RSA bị phá vỡ.
Ngược lại nếu có thể bằng một cách nào đó tính được số mũ bí mật d, khi đó có thể phân tích modulus N theo phương pháp như sau. Với
1 (mod ( ))
ed N , tồn tại một số nguyên k sao cho ed - 1 k( )N cùng thực tế aed-11 (mod )N với mọi a*N. Viết ed 2st, với t là số nguyên lẻ. Người ta đã chỉ ra rằng ([5, tr 287]) a2s1t 1 (mod )N với ít nhất là nửa số các giá trị a*N; nếu a thỏa mãn điều kiện trên thì gcd(a2s-1t 1,N) là một ước không tầm thường của N. Bởi vậy, chỉ cần lặp lại việc lựa chọn ngẫu nhiên a*N và tính gcd(a2s-1t 1,N); số lần thử trung bình các giá trị a
để có thể nhận được nhân tử của N là 2 lần thử.
Như vậy bài toán tính toán số mũ bí mật RSA từ khóa công khai (N, e) và bài toán phân tích modulus N về mặt tính toán là tương đương nhau.