RSA (Rivest–Shamir–Adleman) - Thuật toán mã hóa khóa công khai
RSA trong an ninh mạng là gì?
Phương pháp mã hóa rộng rãi dùng RSA làm khóa công khai. Phát triển 1977 bởi Ron Rivest, Adi Shamir, Leonard Adleman (MIT) - họ là tên gọi RSA.
Giải thích RSA với ví dụ
Cách tiếp cận khóa công khai mục đích chung. Plaintext và ciphertext là số nguyên 0 đến n-1 (cùng n).
RSA dùng để làm gì?
Thuật toán phổ biến nhất máy tính hiện đại. Mã hóa bất đối xứng (asymmetric): 2 khóa khác nhau. Khóa công khai chia sẻ cho الجميع → Public Key Cryptography.
Tại sao RSA an toàn?
Dựa trên độ khó phân tích số nguyên lớn (integer factorization). Tăng sức mạnh tính toán + thuật toán tối ưu → phân tích được số lớn hơn.
RSA dùng cho bảo mật và xác thực?
Có. Ron Rivest, Adi Shamir, Leonard Adleman thiết kế cho mã hóa và xác thực. Dùng trong trình duyệt, nhiều ứng dụng. Khóa công khai mã hóa, khóa riêng giải mã để bảo vệ tin nhắn.
RSA cung cấp an ninh dữ liệu như thế nào?
Khó nhân 2 số nguyên tố lớn → số nguyên lớn. Tạo cặp khóa từ số này. Dùng cho cả khóa công khai và riêng. Độ dài khóa = số bit.
RSA dùng ở đâu?
TLS, PGP. Trình duyệt web, email, VPN, chat, kênh liên lạc khác. Kết nối VPN client-server. Thường dùng handshake OpenVPN.
RSA cung cấp an ninh như thế nào?
Khóa công khai RSA = tích 2 số nguyên tố lớn ngẫu nhiên. Tạo số/chuỗi ngẫu nhiên. RSA dựa trên phân tích nguyên tố (prime factorization) như mã hóa một chiều → toàn bộ giả định an ninh dựa trên đây.
RSA trong rủi ro là gì?
Risk Self Assessment (tài chính).
RSA hay AES an toàn hơn?
AES an toàn hơn nhưng đối xứng (block cipher). SSL cần bất đối xứng (RSA/ECDSA). Phiên dữ liệu SSL dùng AES: SSL negotiation định nghĩa khóa AES cho truyền dữ liệu.
Ví dụ RSA
Mã hóa khóa công khai: Bob muốn Alice gửi kim cương giá trị. Gửi không bảo vệ = bị đánh cắp.
Các bước thuật toán RSA
- Tạo khóa (Key generation)
- Phân phối khóa (Key distribution)
- Mã hóa (Encryption)
- Giải mã (Decryption)
Biết e, n, m → tìm d cực khó. 3 dấu * = đồng dư modulo. Cần khóa công khai (RSA), khóa riêng (xác thực bí mật).
Các bước tạo khóa RSA (ví dụ)
- Chọn 2 số nguyên tố p, q
- n = p × q (modulus). Khóa công khai
nếu n = p × q
Tại sao dùng RSA?
Hệ thống mật mã dùng thuật toán cụ thể cho chức năng cụ thể. RSA dùng khóa công khai mã hóa dữ liệu nhạy cảm truyền qua mạng không an toàn (Internet).
RSA dùng ở đâu? (mở rộng)
Trình duyệt, email, VPN, chat. Kết nối VPN client-server. Handshake OpenVPN dùng RSA key exchange.
Ứng dụng RSA với ví dụ
Thuật toán khóa công khai phổ biến nhất thế giới. Không cần khóa bí mật để mã hóa (khác Secret Key Encryption). Cũng tạo chữ ký số.
RSA có phổ biến?
General Rounds: 1. Best public cryptanalysis.
Làm RSA an toàn hơn?
Kẻ tấn công khai thác tính chất toán học phá mã. RSA dùng padding (OAEP) thêm dữ liệu trước khi mã hóa. Padding trước mã hóa → RSA mạnh hơn nhiều.
RSA có thể bị phá?
Chưa bị phá, nhưng có lỗ hổng. Nhiều bài báo công bố cách khai thác RSA gần đây.
RSA an toàn cho tin nhắn mã hóa?
12,934 khóa bị phá trong nghiên cứu. RSA chỉ 99.8% an toàn nếu dùng đúng. Không dùng đúng = rủi ro cao.