English 简体中文 Tiếng Việt 日本語 한국어 हिन्दी Español Français العربية বাংলা Português Русский اردو Bahasa Indonesia Deutsch Naijá मराठी తెలుగు Türkçe தமிழ்
// // công cụ mật mã v2.0

RSA Mật mã

CHỈ DÀNH CHO KHÁCH HÀNG
API WEB CRYPTO
🔒 Chỉ phía máy khách - khóa và dữ liệu được xử lý hoàn toàn bên trong trình duyệt của bạn và không bao giờ được tải lên bất kỳ máy chủ nào. Được xây dựng trên API Web Crypto gốc.
Cấu hình thuật toán
🔑
Tài liệu chính
Mã hóa RSA-OAEP sử dụng khóa chung - cần có khóa riêng phù hợp để giải mã ( 4096 -bit / SHA-256 )
Thả ra để tải file
VĂN BẢN / ĐẦU VÀO
MẬT BẢN/ĐẦU RA
Tải xuống dưới dạng .txt
Định dạng văn bản Base64/Hex
Sẵn sàng để đọc hoặc sao chép/dán
Quá trình mã hóa hoàn tất — Các byte nhị phân thô có thể được đưa vào công cụ giải mã
Xuất cấu hình hiện tại (chế độ/kích thước khóa/khóa/IV) để sử dụng trực tiếp trong công cụ giải mã phù hợp
Cần giải mã?
Sẵn sàng - định cấu hình khóa, sau đó nhấp vào mã hóa hoặc giải mã
Thuật toán
RSA
OAEP / SHA-256
Độ mạnh chính
4096
bit
Cấp độ bảo mật
CAO
Bất đối xứng
Đã xử lý
0
byte phiên này
🔑
Tại sao mã hóa RSA sử dụng khóa chung?
RSA là thuật toán mã hóa bất đối xứng sử dụng cặp khóa: khóa công khai mã hóa dữ liệu, trong khi khóa riêng giải mã dữ liệu. Khóa chung có thể được chia sẻ công khai với bất kỳ ai muốn gửi cho bạn dữ liệu được mã hóa, nhưng khóa riêng tư phải được giữ bí mật.

Ưu điểm chính là người gửi không cần chia sẻ bí mật trước. Bất kỳ ai cũng có thể mã hóa bằng khóa chung, nhưng chỉ người nắm giữ khóa riêng phù hợp mới có thể giải mã được kết quả. Nếu khóa riêng bị mất, dữ liệu đã mã hóa sẽ không thể phục hồi được.
📏
Bạn nên chọn kích thước khóa như thế nào?
Khóa RSA dài hơn mang lại khả năng bảo mật mạnh mẽ hơn nhưng cũng làm chậm quá trình tạo khóa và mã hóa/giải mã.

2048-bit : được coi là an toàn rộng rãi hiện nay, phù hợp cho mục đích sử dụng thông thường và là tùy chọn nhanh nhất.

3072-bit : bổ sung biên độ bảo mật rộng hơn và được khuyến nghị để bảo mật lâu dài hơn.

4096-bit : mức bảo mật cao nhất trên trang này, tốt nhất cho các yêu cầu bảo mật rất cao nhưng tạo và sử dụng chậm hơn.

Lưu ý: RSA chỉ có thể mã hóa văn bản gốc có kích thước giới hạn trong một thao tác duy nhất. Với 2048-bit/SHA-256, giới hạn là khoảng 190 byte; với 4096-bit thì khoảng 446 byte. Sử dụng mã hóa phân đoạn hoặc kết hợp cho tải trọng lớn hơn.
⚙️
Băm OAEP là gì?
RSA-OAEP (Khoảng đệm mã hóa bất đối xứng tối ưu) là sơ đồ đệm được đề xuất cho mã hóa RSA hiện nay. Nó sử dụng hàm băm để thêm tính ngẫu nhiên và bảo vệ chống lại các cuộc tấn công bằng văn bản gốc đã chọn.

SHA-256 (được khuyến nghị): bảo mật mạnh mẽ, áp dụng rộng rãi và khả năng tương thích tốt.
SHA-384 / SHA-512 : biên độ bảo mật rộng hơn, nhưng chúng làm giảm một chút kích thước văn bản gốc tối đa.
SHA-1 : chỉ được giữ lại để tương thích với hệ thống cũ và không được khuyến nghị cho các hệ thống mới.

Mã hóa và giải mã phải sử dụng cùng một thuật toán băm.
🔠
Mã hóa đầu ra là gì?
Đầu ra thô của mã hóa RSA là dữ liệu nhị phân, không thuận tiện cho việc lưu trữ trực tiếp hoặc truyền văn bản. Mã hóa đầu ra chuyển đổi các byte thành định dạng có thể in được.

Base64 : mã hóa cứ 3 byte thành 4 ký tự ASCII, tạo ra đầu ra có kích thước khoảng 1,33× kích thước ban đầu. Nhỏ gọn và được sử dụng rộng rãi trong các tải trọng API, email và JSON.

Hex : biểu thị mỗi byte dưới dạng 2 ký tự thập lục phân, tăng gấp đôi kích thước đầu ra. Dễ dàng kiểm tra hơn và hữu ích cho việc gỡ lỗi từng byte.
📄
Hướng dẫn định dạng PEM

1️⃣ Định dạng PEM là gì?
PEM (Thư nâng cao quyền riêng tư) là định dạng văn bản được sử dụng để lưu trữ và chuyển khóa và chứng chỉ. Nó mã hóa Base64 dữ liệu DER nhị phân và bao bọc nó bằng các đầu trang và chân trang như -----BEGIN -----END . Các nhãn phổ biến bao gồm PUBLIC KEY , PRIVATE KEY CERTIFICATE . Thật dễ dàng để sao chép, dán và truyền tải trong quy trình làm việc dựa trên văn bản, khiến nó trở thành một trong những định dạng trao đổi khóa phổ biến nhất.

2️⃣ Những định dạng nào khác phổ biến ngoài PEM?
- DER : một định dạng nhị phân thuần túy lưu trữ trực tiếp các cấu trúc ASN.1. Nó không thể đọc được bằng con người và phổ biến trong hệ sinh thái Java.
- HEX : biểu thị nội dung nhị phân DER dưới dạng chuỗi thập lục phân, hữu ích cho việc gỡ lỗi hoặc nhúng mã.
- Base64 (không có tiêu đề) : DER thô được mã hóa dưới dạng Base64 không có tiêu đề PEM, thường được sử dụng trong cấu hình nhỏ gọn hoặc tải trọng mã thông báo.
- PKCS#12 (PFX) : một định dạng vùng chứa nhị phân có thể gộp các khóa công khai và khóa riêng tư lại với nhau, thường được bảo vệ bằng mật khẩu và thường được trình duyệt hoặc hệ thống Windows sử dụng.

3️⃣ Khi nào bạn nên sử dụng từng định dạng?
- PEM : tùy chọn phổ biến nhất, phù hợp với OpenSSL, máy chủ web (Nginx/Apache) và trao đổi API.
- DER : thường được sử dụng trong môi trường Java hoặc nơi yêu cầu lưu trữ nhị phân nghiêm ngặt.
- HEX : hữu ích trong việc gỡ lỗi, hệ thống nhúng hoặc bất cứ khi nào cần kiểm tra byte chính xác.
- Base64 (không có tiêu đề) : hữu ích khi định dạng bị hạn chế hoặc cần có một biểu diễn nhỏ gọn.
- PKCS#12 : hữu ích khi cả khóa chung và khóa riêng phải được vận chuyển cùng nhau trong khi bảo vệ khóa riêng bằng mật khẩu.