Enkripsi & Dekripsi ChaCha20
Enkripsi dan dekripsi teks dengan ChaCha20-Poly1305 atau ChaCha20 biasa.
Anda akan membutuhkannya lagi untuk mendekripsi. Apa pun yang Anda ketik tidak keluar dari halaman ini.
Bawaan OpenSSL adalah 10.000. Angka berapa pun bisa dipakai: makin banyak, makin lambat kata sandi ditebak; dekripsi membutuhkan angka yang sama.
Terautentikasi: kata sandi atau kunci yang salah, atau perubahan apa pun pada teks, akan terdeteksi.
Perintah enc OpenSSL tidak dapat membaca ChaCha20-Poly1305. Dekripsi di sini, atau lewat kode dengan pustaka kriptografi: tag 16 byte berada setelah ciphertext.
ChaCha20-Poly1305 (RFC 8439) adalah cipher terautentikasi yang dipakai di TLS 1.3 dan WireGuard: selain mengenkripsi teks, cipher ini juga mendeteksi setiap perubahan padanya, atau kata sandi yang salah. Enkripsi teks di sini dengan kata sandi atau kunci 256 bit dan nonce 12 byte milik Anda, atau tempel ciphertext Base64 atau hex untuk mendekripsinya. Dengan kata sandi, kunci dan nonce berasal dari PBKDF2-HMAC-SHA256 dengan salt acak, seperti pada openssl enc -pbkdf2, dan outputnya berisi Salted__, salt, ciphertext, lalu tag Poly1305 16 byte. ChaCha20 biasa, tanpa tag, juga tersedia, dengan susunan chacha20 milik OpenSSL. Teks, kata sandi, dan kunci Anda tidak pernah keluar dari perangkat: semuanya berjalan di browser, gratis, tanpa perlu mendaftar.
Cara mengenkripsi teks dengan ChaCha20-Poly1305
- Pilih Enkripsi atau Dekripsi. Ketik teks yang ingin dienkripsi, atau tempel teks Base64 atau hex yang ingin didekripsi — formatnya dikenali otomatis.
- Masukkan kata sandi (tombol Buat menghasilkan kata sandi yang kuat), atau beralih ke Kunci & IV (hex) lalu masukkan atau buat kunci 64 digit dan nonce 24 digit (IV 32 digit untuk ChaCha20 biasa).
- Biarkan ChaCha20-Poly1305, atau pilih ChaCha20 agar cocok dengan openssl enc -chacha20. Untuk mendekripsi, pakai mode, kata sandi, dan jumlah iterasi yang sama seperti saat teks dienkripsi.
- Salin atau unduh hasilnya, atau tekan Tukar untuk memindahkannya ke kolom input dan mendekripsinya lagi sebagai pengecekan.
Fitur
- ChaCha20-Poly1305 sesuai RFC 8439: kunci 256 bit, nonce 12 byte, tag 16 byte
- ChaCha20 biasa dengan susunan OpenSSL: IV 16 byte yang terdiri dari penghitung little-endian 4 byte dan nonce 12 byte
- Mode kata sandi: kunci dan nonce dari PBKDF2-HMAC-SHA256 dengan salt acak, di belakang header Salted__ milik openssl enc -pbkdf2
- Mode Kunci & IV: kunci dan nonce hex milik Anda, atau nilai acak dari tombol Buat
- Dengan Poly1305, kata sandi atau kunci yang salah, atau satu karakter yang berubah, membuat dekripsi gagal alih-alih menghasilkan data acak
- Tanpa padding: panjang ciphertext sama dengan teksnya, ditambah tag 16 byte jika memakai Poly1305
- Perintah openssl enc -chacha20 untuk ChaCha20 biasa
Apakah privasi terjaga?
Ya. ChaCha20 berjalan dengan WebAssembly di dalam browser Anda, dan kata sandi diperkuat oleh Web Crypto milik browser. Apa pun yang Anda ketik — teks, kata sandi, kunci, atau nonce — tidak pernah diunggah atau disimpan.
Pertanyaan umum
ChaCha20-Poly1305 atau ChaCha20 biasa?
ChaCha20-Poly1305, pilihan bawaan, untuk semua data baru: tag Poly1305-nya membuat dekripsi gagal jika ada satu karakter yang berubah atau kata sandinya salah. ChaCha20 biasa hanya mengenkripsi — kunci yang salah menghasilkan byte yang tak terbaca, bukan pesan error — jadi pakai hanya untuk menyamakan dengan sistem yang memakainya, seperti openssl enc -chacha20.
Bisakah OpenSSL mendekripsinya?
ChaCha20 biasa, bisa: echo 'U2FsdGVkX1…' | openssl enc -d -chacha20 -pbkdf2 -iter 10000 -a -A untuk mode kata sandi, atau -K <kunci hex> -iv <IV hex> sebagai ganti -pbkdf2 -iter di mode Kunci & IV. ChaCha20-Poly1305, tidak: openssl enc menolak cipher AEAD. Bacalah di sini, atau lewat kode: di mode Kunci & IV, outputnya adalah ciphertext diikuti tag 16 byte, tanpa header.
Apa yang terjadi jika nonce dipakai ulang?
Dua pesan dengan kunci dan nonce yang sama membuka XOR dari kedua teksnya, dan memungkinkan penyerang memalsukan tag Poly1305. Di mode kata sandi, kesalahan itu tidak mungkin terjadi: setiap enkripsi memilih salt acak baru, sehingga kunci, nonce, dan outputnya selalu baru. Di mode Kunci & IV, tekan Buat untuk nonce baru sebelum setiap pesan.
Apakah ChaCha20 seaman AES?
Ya. ChaCha20-Poly1305 dan AES-GCM sama-sama cipher standar TLS 1.3 tanpa serangan praktis, dan ChaCha20 sering lebih cepat di ponsel tanpa akselerasi hardware AES. Titik lemahnya adalah kata sandi: gunakan kata sandi acak yang panjang, dan pengaturan 600.000 iterasi jika Anda mengendalikan kedua sisi.
Apakah XChaCha20-Poly1305 didukung?
Tidak. XChaCha20, varian dengan nonce 24 byte yang ada di libsodium, adalah konstruksi yang berbeda, jadi ciphertext-nya tidak bisa didekripsi di sini. Halaman ini menerima nonce 12 byte dari RFC 8439 dan IV chacha20 16 byte milik OpenSSL. Untuk mengenkripsi file alih-alih teks, Enkripsi File memakai ChaCha20-Poly1305 dalam format age.