Dekripsi RSA dengan Kunci Privat

Dekripsi ciphertext RSA (Base64 atau hex) dengan kunci privat PEM memakai RSA-OAEP SHA-256, OAEP SHA-1, atau PKCS#1 v1.5. Pesan galat jelas untuk kunci atau padding salah.

OAEP adalah padding yang disarankan. MGF1 memakai hash yang sama, seperti Web Crypto dan openssl pkeyutl -pkeyopt rsa_oaep_md.

Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.

Apa itu Dekripsi RSA?

Mendekripsi ciphertext RSA dengan kunci privat Anda dalam format PEM (PKCS#8 BEGIN PRIVATE KEY atau PKCS#1 BEGIN RSA PRIVATE KEY). Alat ini mendukung RSA-OAEP dengan SHA-256 atau SHA-1 dan padding PKCS#1 v1.5 lawas, sesuai dengan output OpenSSL, Web Crypto, Java, dan Node.js.

Cara menggunakan Dekripsi RSA

  1. Tempel Kunci privat (PEM) (tidak terenkripsi), atau klik Buat pasangan kunci uji (2048 bit) untuk bereksperimen.
  2. Pilih Padding yang dipakai saat enkripsi.
  3. Tempel Ciphertext lalu pilih Base64 atau Hex sebagai encoding-nya.
  4. Klik Dekripsi; ubah output ke Hex jika plaintext-nya biner (mis. kunci AES).

Contoh

Masukan
Ciphertext from Node.js `crypto.publicEncrypt` (RSA-OAEP, oaepHash sha256) of "Hello RSA", with the matching 2048-bit PKCS#8 private key
Keluaran
Hello RSA

Kapan menggunakan Dekripsi RSA

Gunakan untuk memeriksa ciphertext yang dihasilkan kode Anda sendiri, mendekripsi data uji, atau memverifikasi interoperabilitas antarplatform. Hindari menempel kunci privat produksi sungguhan ke browser; gunakan kunci uji. Kunci privat yang dilindungi kata sandi harus diekspor tanpa frasa sandi terlebih dahulu.

Cara kerja Dekripsi RSA

Eksponen privat memulihkan pesan ber-padding m = cᵈ mod n (dengan optimasi CRT), lalu padding dihapus dan diperiksa: OAEP memverifikasi mask MGF1 dan hash label untuk SHA-256 atau SHA-1 yang dipilih, PKCS#1 v1.5 memverifikasi header 00 02 dan pemisahnya. Panjang ciphertext harus tepat sama dengan modulus (256 byte untuk kunci 2048 bit); ketidakcocokan apa pun pada kunci, padding, atau hash menyebabkan galat dekripsi, bukan output yang salah.

Kasus Penggunaan Umum

  • Memverifikasi bahwa output RSA-OAEP dari browser bisa didekripsi dengan kunci server Anda
  • Mendekripsi kunci AES yang dibungkus RSA dalam pengujian enkripsi hibrida
  • Mendiagnosis ketidakcocokan OAEP SHA-1 vs SHA-256 antara Java dan Node.js
  • Mendekripsi data PKCS#1 v1.5 dari sistem lawas

Catatan Keamanan

Kunci dan pesan hanya diproses di browser Anda. Jangan menempel kunci privat produksi ke situs web mana pun yang tidak Anda kendalikan – buat pasangan kunci uji sebagai gantinya.

Pertanyaan Umum

"Dekripsi gagal" – apa yang salah?

Biasanya padding atau hash OAEP tidak cocok (SHA-1 vs SHA-256), ciphertext milik pasangan kunci lain, atau rusak saat disalin. Coba hash OAEP yang lain terlebih dahulu.

Kunci saya diawali BEGIN ENCRYPTED PRIVATE KEY.

Kunci yang dilindungi kata sandi tidak didukung. Konversi salinan uji dengan openssl pkey -in key.pem -out plain.pem dan tangani kunci yang tidak terenkripsi itu dengan hati-hati.

Galat panjang ciphertext menyebutkan harus 256 byte.

Panjang ciphertext RSA selalu sama dengan panjang modulus. Pastikan Anda menempel seluruh string Base64 dan memilih encoding input yang benar (Base64 vs Hex).

Jelajahi kategori lainnya