Công Cụ Mã Hóa/Giải Mã RSA
Mã hóa khóa công khai, giải mã khóa riêng tư với tạo khóa và ký số
Mã hóa RSA là gì?
RSA là một trong những hệ thống mã hóa khóa công khai phổ biến nhất. Khác với AES, nó sử dụng một cặp khóa: công khai để mã hóa và riêng tư để giải mã.
Bảo mật dựa trên độ khó của việc phân tích thừa số nguyên tố. Là tiêu chuẩn cho SSL/TLS, PGP và SSH.
Tính năng chính
- <strong>Tạo khóa</strong>: Tạo khóa 1024, 2048, 4096 bit định dạng PEM.
- <strong>Mã hóa</strong>: Bảo vệ tin nhắn bằng khóa công khai.
- <strong>Giải mã</strong>: Đọc tin nhắn bằng khóa riêng.
- <strong>Chữ ký số</strong>: Xác thực tin nhắn.
- <strong>Padding</strong>: Hỗ trợ <strong>OAEP</strong> và <strong>PKCS#1 v1.5</strong>.
- Nhiều thuật toán băm: SHA-1, SHA-256, SHA-384, SHA-512
- Lựa chọn chế độ padding: Hỗ trợ OAEP (khuyến nghị) và PKCS#1 v1.5 (tương thích cũ)
- Nhiều định dạng: Đầu vào/đầu ra hỗ trợ Text, Base64, Hex và nhiều hơn nữa
Lựa chọn kích thước khóa
Chọn kích thước khóa phù hợp là rất quan trọng cho bảo mật và hiệu suất:
- 1024-bit: 1024-bit: Không khuyến nghị cho các hệ thống mới, có thể bị bẻ khóa trong vài năm
- 2048-bit: 2048-bit: Mức tối thiểu được khuyến nghị hiện tại, phù hợp với hầu hết các ứng dụng
- 4096-bit: 4096-bit: Cung cấp bảo mật cao nhất, nhưng mã hóa/giải mã chậm hơn
Chế độ Padding
Công cụ này hỗ trợ hai chế độ padding RSA. Chọn dựa trên yêu cầu bảo mật và nhu cầu tương thích:
- OAEP: Optimal Asymmetric Encryption Padding, cung cấp bảo mật ngữ nghĩa và bảo vệ chống lại các cuộc tấn công bản mã chọn lọc. Khuyến nghị cho các hệ thống mới.
- PKCS#1 v1.5: Chế độ padding cũ với lỗ hổng tấn công Bleichenbacher đã biết. Chỉ khuyến nghị để tương thích với các hệ thống cũ.
Tùy chọn định dạng
Công cụ này hỗ trợ nhiều định dạng dữ liệu để tích hợp dễ dàng với các hệ thống khác nhau:
- Văn bản: Đầu vào/đầu ra văn bản UTF-8 trực tiếp, phù hợp cho các chuỗi thông thường
- Base64: Định dạng mã hóa Base64, thường được sử dụng để truyền mạng và lưu trữ dữ liệu nhị phân
- Hex: Định dạng thập lục phân, thuận tiện cho việc xem và gỡ lỗi dữ liệu nhị phân
Trường hợp sử dụng
- Giao tiếp an toàn: Mã hóa dữ liệu nhạy cảm trước khi truyền
- Chữ ký số: Xác minh tính xác thực và toàn vẹn của tin nhắn
- Trao đổi khóa: Trao đổi khóa đối xứng một cách an toàn
- Xác thực danh tính: Xác minh danh tính người gửi
- Cấp phép phần mềm: Tạo và xác minh giấy phép
Bảo mật
- <strong>Kích thước</strong>: Tối thiểu 2048 bit.
- <strong>Padding</strong>: Ưu tiên dùng OAEP.
- <strong>Bí mật</strong>: Không chia sẻ khóa riêng.
- <strong>Lai ghép</strong>: Dùng RSA+AES cho dữ liệu lớn.
- <strong>Client-side</strong>: Chạy trong trình duyệt qua Web Crypto API.
Hạn chế
- <strong>Kích thước dữ liệu</strong>: Bị giới hạn bởi kích thước khóa (vd: ~214 bytes cho 2048 bit).
- <strong>Hiệu suất</strong>: Chậm hơn AES.
- <strong>Định dạng</strong>: Sử dụng PEM chuẩn.
Tham khảo
Câu hỏi thường gặp (FAQ)
Có an toàn không?
Có, chạy 100% trên trình duyệt.
Khác biệt khóa?
Công khai để mã hóa, Riêng tư để giải mã.
Văn bản dài?
RSA có giới hạn kích thước. Hãy dùng mã hóa lai.
OAEP hay PKCS1?
Hãy dùng **OAEP**.
Kích thước khóa?
**2048** là chuẩn, **4096** an toàn hơn.
Định dạng PEM?
Định dạng chuẩn để lưu trữ khóa.
Công Cụ Liên Quan
Mã Hóa/Giải Mã AES
Mã hóa và giải mã văn bản an toàn bằng thuật toán AES
Bộ Mã Hóa/Giải Mã Base64
Mã hóa và giải mã chuỗi Base64 nhanh chóng, hỗ trợ chuyển đổi cả văn bản và tệp
Bộ Tạo Hash SHA
Bộ tạo hash SHA trực tuyến hỗ trợ thuật toán SHA-1, SHA-256, SHA-384, SHA-512
Bộ Tạo Hash MD5/MD4
Tạo giá trị hash MD5 và MD4 cho văn bản hoặc tệp với nhiều định dạng đầu ra
Bộ Mã Hóa/Giải Mã JWT
Giải mã, xác minh và tạo JSON Web Token với hỗ trợ nhiều thuật toán ký
Trình Tạo Mật Khẩu
Tạo mật khẩu ngẫu nhiên mạnh, an toàn với độ dài tùy chỉnh, loại ký tự, chỉ báo độ mạnh và tạo hàng loạt