An toàn của hệ mật RSA

Một phần của tài liệu Hệ mật RSA và ứng dụng lược đồ chữ ký số trong xác thực thông tin (Trang 28)

Độ an toàn của hệ mật RSA ([2],[4],[6]) thể hiện qua hai yếu tố:

 Tính mật của hệ RSA, chủ yếu dựa vào việc bảo vệ khoá riêng d và giữ bí mật các số nguyên tố p và q.

 Tính an toàn của hệ RSA dựa vào độ khó của bài toán RSA và độ phức tạp của bài toán phân tích một số thành các thừa số nguyên tố

Bài toán RSA là bài toán tính căn bậc e môđun n (với n là hợp số): tìm số m sao cho me=c mod n, trong đó (e, n) chính là khóa công khai và c là bản mã. Hiện nay phương pháp triển vọng nhất giải bài toán này là phân tích n ra thừa số nguyên tố. Khi thực hiện được điều này, kẻ tấn công sẽ tìm ra số mũ bí mật d từ khóa công khai và có thể giải mã theo đúng quy trình của thuật toán. Nếu kẻ tấn công tìm được 2 số nguyên tố p và q sao cho: n = pq thì có thể dễ dàng tìm được giá trị (p-1)(q-1) và qua đó xác định d từ e. Chưa có một phương pháp nào được tìm ra trên máy tính để giải bài toán này trong thời gian đa thức (polynomial-time). Tuy nhiên người ta cũng chưa chứng minh được điều ngược lại (sự không tồn tại của thuật toán). Xem thêm phân tích ra thừa số nguyên tố về vấn đề này.

Tại thời điểm năm 2005, số lớn nhất có thể được phân tích ra thừa số nguyên tố có độ dài 663 bít với phương pháp phân tán trong khi khóa của RSA có độ dài từ 1024 tới 2048 bít. Một số chuyên gia cho rằng khóa 1024 bít có thể sớm bị phá vỡ (cũng có nhiều người phản đối việc này). Với khóa 4096 bít thì hầu như không có khả năng bị phá vỡ trong tương lai gần. Do đó, người ta thường cho rằng RSA đảm bảo an toàn với điều kiện n được chọn đủ lớn. Nếu n có độ dài 256 bít hoặc ngắn hơn, nó có thể bị phân tích trong vài giờ với máy tính cá nhân dùng các phần mềm có sẵn. Nếu n có độ dài 512 bít, nó có thể bị phân tích bởi vài trăm máy tính tại thời điểm năm 1999. Một thiết bị lý thuyết có tên là TWIRL do Shamir và Tromer mô tả năm 2003 đã đặt ra câu hỏi về độ an toàn của khóa 1024 bít. Vì vậy hiện nay người ta khuyến cáo sử dụng khóa có độ dài tối thiểu 2048 bít.

Năm 1993, Peter Shor công bố thuật toán Shor chỉ ra rằng: máy tính lượng tử (trên lý thuyết) có thể giải bài toán phân tích ra thừa số trong thời gian đa thức. Tuy nhiên, máy tính lượng tử vẫn chưa thể phát triển được tới mức độ này trong nhiều năm nữa.

Với người thám mã có thể tấn công vào hệ mã RSA theo các hình thức:

 Vét cạn: không gian khoá của RSA là rất lớn vì vậy tấn công theo hướng này là không thể thực hiện được.

 Dựa trên cơ sở toán học để tìm cách phân tích modulus n thành các thừa số nguyên tố.

Hệ RSA chỉ có khả năng bảo mật khi p, q là các số nguyên tố lớn (khoảng hơn 100 chữ số thập phân) và như vậy thì n có khoảng hơn 200 chữ số thập phân. Để phân tích một số nguyên cỡ lớn như thế với các thuật toán nhanh nhất hiện nay cùng với hệ thống máy tính hiện đại nhất cũng mất hàng tỷ năm.

Do tính đơn giản trong thiết kế nên RSA được ứng dụng rộng rãi và dùng nhiều nhất trong số các thuật toán với khoá công khai. Và cũng chính vì thế nó đã trải qua nhiều thử thách, xem xét, kiểm chứng của cộng đồng về độ an toàn của nó. Tuy nhiên, khi dùng RSA thì tốc độ mã hoá rất chậm, vì thế để mã hoá khối dữ liệu lớn là không khả thi. Người ta đã tìm ra ứng dụng quan trọng độc đáo khác của RSA hơn là dùng nó để mã hoá:

 Tạo vỏ bọc an toàn cho văn bản: dùng RSA để mã hoá khoá bí mật (của các hệ mật mã có tốc độ mã hoá cao như DES, IDEA…) và dùng khoá bí mật đó để mã hoá dữ liệu, bên gửi chỉ gửi đến cho bên nhận một bộ: khoá bí mật được mã hoá bằng RSA và dữ liệu được mã hoá bằng khóa bí mật. Như vậy các hệ mã đối xứng khắc phục tốc độ mã hoá của RSA, còn RSA khắc phục khâu yếu nhất của mã hoá đối xứng là bảo đảm chuyển giao an toàn chìa khoá mã cho người nhận.

 Xác thực chủ thể: Ta đã biết trong hệ mật mã khoá công khai thì mọi người đều biết khoá công khai của từng cá thể trong hệ thống, như vậy liệu có thể có một cá thể này đã mạo danh một cá thể khác để gửi thông điệp đến một cá thể thứ ba trong hệ thống, điều này hoàn toàn có thể xảy ra, vậy làm thế nào để thông điệp được gửi đi có một chữ ký xác nhận của người gửi, để người nhận có thể biết đích xác rằng mình nhận của ai và người gửi cũng không thể thoái thác được trách nhiệm của văn bản mình đã gửi đi (chẳng hạn như một đơn đặt hang với số lượng lớn), đây chính là vấn đề xác thực chủ thể trong trao đổi thông tin điện tử. Hai chìa khoá công khai và khoá riêng trong hệ RSA là có vai trò “đối xứng” nhau theo nghĩa nếu cái này dùng để mã hoá thì cái kia được dùng để giải mã và ngược lại. Vậy nếu A dùng khoá bí mật để mã hoá văn bản gửi đi thì B dùng khóa công khai của A để giải mã văn bản, điều đó chứng tỏ A đã xác nhận ký vào văn bản.

Một phần của tài liệu Hệ mật RSA và ứng dụng lược đồ chữ ký số trong xác thực thông tin (Trang 28)

Tải bản đầy đủ (PDF)

(97 trang)