Generator Pasangan Kunci RSA

Ukuran kunci (bit)
Berikutnya

Pasangan kunci RSA terdiri dari dua bilangan yang saling terkait secara matematis: kunci publik yang Anda berikan dan kunci privat yang Anda simpan. Generator ini menghasilkan kedua kunci tersebut dalam format enkripsi PEM standar menggunakan sumber acak yang aman secara kriptografis. Gunakan generator ini untuk memulai proses pembuatan signer JWT, membuat sertifikat TLS untuk staging box, atau mengeluarkan identitas SSH tanpa perlu menggunakan baris perintah.

Cara Membuat Pasangan Kunci RSA

  1. 1

    Pilih ukuran kunci

    Pilih ukuran kunci sebesar 2048, 3072, atau 4096 bit. Kunci yang lebih panjang memiliki keamanan lebih tinggi, tetapi proses penandatanganan dan verifikasi akan lebih lambat.

  2. 2

    Hasilkan

    Alat ini membuat modulus baru dan eksponen privat menggunakan primitif WebCrypto.

  3. 3

    Salin atau unduh

    Ambil kunci privat yang dikodekan menggunakan PEM (BEGIN PRIVATE KEY) dan kunci publik yang sesuai (BEGIN PUBLIC KEY).

  4. 4

    Simpan kunci pribadi dengan aman

    Pindahkan file tersebut ke alat pengelola rahasia atau kunci digital, jangan pernah menempelkannya ke pesan obrolan, surel, atau repositori publik.

Ukuran kunci apa yang sebaiknya Anda gunakan?

Ukuran yang lebih besar tidak selalu berarti kualitas yang lebih baik. Ukuran yang tepat bergantung pada masa pakai kunci tersebut serta jumlah sumber daya CPU yang Anda siap alokasikan untuk setiap proses pembuatan tanda tangan digital.

Panduan NIST sekilas

Ukuran kunci Tingkat keamanan Penggunaan umum Biaya tanda tangan relatif
2048 bit ~112 bit Penandatanganan JWT, sertifikat TLS berumur pendek, sebagian besar API 1x
3072 bit ~128 bit Otoritas Sertifikat (CA) akar berumur panjang, memenuhi standar FIPS > 2030 ~3x
4096 bit ~140 bit Akar keamanan tinggi, penandatanganan dokumen jangka panjang ~7x

Di Mana PEM Berperan

Kunci-kunci tersebut dibungkus menggunakan format PKCS#8/SPKI dan dikodekan dengan base64, serta ditempatkan di antara penanda -----BEGIN----- dan -----END-----. Inilah format yang diharapkan oleh semua pustaka utama: OpenSSL, crypto dari Node.js, cryptography dari Python, crypto/rsa dari Go, dan KeyFactory dari Java.

Tips Operasional

  • Putar setidaknya sekali setahun untuk kunci tanda tangan yang memiliki jangkauan luas.
  • Untuk sistem baru, lebih disarankan menggunakan ECDSA (P-256) atau Ed25519; metode ini lebih cepat dan hasil tanda tangannya jauh lebih kecil.
  • Jangan pernah menggunakan kembali pasangan kunci di sistem-sistem yang tidak terkait. Jika salah satu kunci bocor, seluruh sistem berikutnya akan terancam.
  • Gunakan kata sandi saat menyimpan kunci privat pada disk. PEM terenkripsi (BEGIN ENCRYPTED PRIVATE KEY) merupakan standar yang digunakan.

Pertanyaan yang Sering Diajukan

Ya, untuk sebagian besar proses penandatanganan API dan sesi. NIST serta BSI masih menganggap algoritma RSA berukuran 2048 bit dapat diterima hingga setidaknya tahun 2030, meskipun RSA berukuran 3072 bit direkomendasikan untuk kebutuhan yang memerlukan masa keandalan lebih lama dari itu.

Kunci pribadi PEM bekerja bersama ssh-keygen -y -f key.pem untuk menghasilkan kunci publik ssh-rsa. Untuk penggunaan SSH sehari-hari, lebih disarankan menggunakan Ed25519, karena ukuran kuncinya sangat kecil dan kecepatannya lebih tinggi.

Yang pertama adalah PKCS#1 (hanya untuk RSA). Yang kedua adalah PKCS#8 (pembungkus yang tidak bergantung pada algoritma tertentu), dan inilah yang lebih disukai oleh pustaka-pustaka modern. Alat ini menghasilkan hasil dalam format PKCS#8.

Bukan demikian. Proses pembuatan kunci dilakukan secara lokal melalui WebCrypto API, dan file PEM dirakit di dalam memori sebelum ditampilkan pada halaman.

Alat Terkait

Alat ini tersedia dalam bahasa lain