Tạo cặp khóa RSA 🔒 Chạy ngay trong trình duyệt — không tải lên bất cứ thứ gì.

Tạo cặp khóa RSA đa dụng dưới dạng PEM, để ký hoặc mã hóa.

Khóa riêng tư của bạn được tạo cục bộ trong trình duyệt bằng WebCrypto API. Nó không bao giờ được tải lên, truyền đi hay gửi tới bất kỳ máy chủ nào. Hãy lưu trữ an toàn — bất kỳ ai có được khóa riêng tư của bạn đều có thể giải mã dữ liệu hoặc giả mạo chữ ký của bạn.

Nhấn "Tạo cặp khóa" để tạo một cặp khóa RSA mới.

Về công cụ này

RSA là một thuật toán bất đối xứng: nó tạo ra một cặp khóa liên kết về mặt toán học — một khóa công khai bạn có thể phân phát tự do và một khóa riêng tư mà bạn không bao giờ được chia sẻ. Bất cứ điều gì một khóa mã hóa, chỉ khóa còn lại mới có thể giải mã — và bất cứ điều gì khóa riêng tư ký, khóa công khai có thể xác minh. Tính bất đối xứng này là nền tảng của chứng chỉ TLS, xác thực SSH, email PGP và vô số cơ chế ký trên khắp web.

Công cụ này tạo cặp khóa đó hoàn toàn trong trình duyệt của bạn bằng WebCrypto API — cùng một cỗ máy mật mã đã được kiểm chứng tích hợp trong mọi trình duyệt hiện đại, không phải một phiên bản RSA viết lại bằng JavaScript. Chọn kích thước khóa (2048 bit là mức cơ bản hiện tại, 3072 hoặc 4096 bit cho nhu cầu dài hạn hoặc bảo mật cao hơn) và chế độ sử dụng: ký (RSASSA-PKCS1-v1_5 với SHA-256, để xác minh tính xác thực) hoặc mã hóa (RSA-OAEP với SHA-256, để bảo mật). Khóa không bao giờ rời khỏi thiết bị của bạn — không có gì được tải lên, và đóng tab sẽ xóa chúng vĩnh viễn, vì vậy hãy sao chép hoặc tải xuống trước khi rời trang.

Cả hai khóa đều được xuất theo định dạng PEM chuẩn: khóa công khai dưới dạng khối SPKI, khóa riêng tư dưới dạng PKCS8 — cùng định dạng mã hóa mà OpenSSL tạo ra, sẵn sàng cho tệp `.pem`, tệp cấu hình, hoặc bất kỳ thư viện nào cần dữ liệu khóa RSA chuẩn.

Câu hỏi thường gặp

Tôi nên chọn kích thước khóa nào?

2048-bit là mức tối thiểu được chấp nhận rộng rãi hiện nay và phù hợp cho hầu hết mục đích sử dụng ít nhất trong thập kỷ tới; chọn 3072 hoặc 4096-bit cho nhu cầu dài hạn hơn hoặc bảo mật cao hơn, đổi lại việc tạo khóa và thao tác sẽ chậm hơn một chút.

Sự khác biệt giữa khóa ký và khóa mã hóa là gì?

Khóa ký (RSASSA-PKCS1-v1_5) chứng minh tính xác thực và toàn vẹn — bạn ký dữ liệu bằng khóa riêng tư và người khác xác minh bằng khóa công khai của bạn. Khóa mã hóa (RSA-OAEP) làm ngược lại — người khác mã hóa dữ liệu bằng khóa công khai của bạn và chỉ khóa riêng tư của bạn mới giải mã được. Chúng dùng các thuật toán WebCrypto khác nhau và không nên trộn lẫn.