Hệ mật RSA được xây dựng trên cơ sở các bài toán khó:
a) Bài toán phân tích một số nguyên lớn ra các thừa số nguyên tố
Bài toán phân tích một số nguyên lớn ra các thừa số nguyên tố (Bài toán phân tích số) có thể phát biểu như sau:
- Cho p, q là 2 số nguyên tố lớn;
- Từ p và q dễ dàng tính được: n= p×q;
Trong hệ mật RSA, bài toán phân tích số được sử dụng làm cơ sở để hình thành cặp khóa công khai/bí mật. Với việc giữ bí mật các tham số p, q và
( )n
φ , có thể tính được khóa mật (d) từ khóa công khai (e) nếu tìm được p, q
từ việc phân tích modulo n.
b) Bài toán khai căn trong modulo hợp số
Bài toán khai căn trong modulo hợp số (Bài toán khai căn) có thể phát biểu như sau:
- Cho p, q là 2 số nguyên tố lớn và n= p×q;
- Cho a, e thỏa mãn: 1<a,e<n, tính aemodn=b;
- Từ b, e và n rất khó tìm được a nếu p, q được giữ bí mật.
Từ thuật toán mã hóa RSA: C=Memodn cho thấy, có thể khôi phục được bản rõ M từ bản mã C, khóa công khai e và modulo n nếu giải được Bài toán khai căn khi các tham số p, q được chọn đủ lớn.
Tương tự, Bài toán khai căn cũng được sử dụng với thuật toán chữ ký số RSA, giả sử e là khóa công khai của một đối tượng ký U, nếu một giá trị S∗
có thể tạo ra bằng cách tính: S∗ =e H( )M modn, mà không cần sử dụng khóa bí mật của người ký U, thì chữ ký giả mạo này (S∗) vẫn được coi là chữ ký hợp lệ của U đối với thông điệp dữ liệu M.
Hiện tại, các bài toán trên vẫn được coi là các bài toán khó [23], [24], [34]
và chưa có một công bố nào cho thấy hệ mật RSA bị phá vỡ bằng việc giải các bài toán này khi các tham số được chọn hợp lý.Tuy nhiên, độ an toàn của hệ mật RSA còn phụ thuộc vào một số yếu tố khác, mà một trong những yếu tố đó là việc dùng chung modulo n. Khi nhiều người cùng dùng chung modulo n, do biết được φ(n) chung và khóa công khai của nhau, nên mỗi người trong
số họ hoàn toàn có thể tính được khóa bí mật của những người khác. Đây được coi là nhược điểm lớn nhất của hệ mật RSA xét theo khía cạnh ứng dụng.