logo
GeekFormat

Enkripsi dan Dekripsi AES

Please read before use

This tool runs entirely in your browser. No plaintext, ciphertext, or key is sent to a server.

It is intended for development, debugging, learning and self-managed scenarios. Do not use this page as the only protection for production secrets, customer data, or anything that requires auditing.

For real applications: use audited libraries (libsodium, OpenSSL, AWS Encryption SDK), a real KDF (Argon2id ≥ 1 iteration / 64 MiB), AEAD modes only, and manage keys on the server with proper access control.

Mode Algoritma
Panjang kunci
Format teks terenkripsi (output enkripsi / input dekripsi)
Key source
Teks biasa

Teks UTF-8

Mode comparison — GCM vs CBC vs CTR
ModeAuthenticationIV requirementPerformanceRecommended use
AES-GCMYes (AEAD, 128-bit tag)12 bytes (recommended); never reuse with same keyFast, hardware-acceleratedDefault — modern API, file encryption, anything authenticated
AES-CBCNo — must add HMAC/MAC16 bytes; unpredictable (CSPRNG) and never reuseFast, hardware-acceleratedLegacy TLS, disk encryption (XTS-AES), never use raw for new designs
AES-CTRNo — must add HMAC/MAC16 bytes; never reuse with same key (catastrophic if reused)Fastest, parallelizableRandom-access streams, disk encryption, but combine with MAC

Reading the table

  • AES-GCM is the only AEAD among the three — it both encrypts and authenticates in one step. If you don't know which to choose, choose GCM.
  • CBC and CTR only provide confidentiality. They need a separate MAC (HMAC-SHA256, compute-then-MAC) or they are vulnerable to chosen-ciphertext and bit-flipping attacks.
  • Both IV and nonce must be unique per (key, message). GCM with a reused IV leaks the authentication key — treat as catastrophic.

Catatan tentang mode dan format

  • SubtleCrypto browser hanya menyediakan GCM, CBC, dan CTR untuk AES — bukan ECB, CFB, atau OFB (untuk mencegah penggunaan lemah). Untuk mode lain, gunakan OpenSSL atau pustaka sisi server.
  • Format teks terenkripsi pilihan: Hex / Base64 / Base64URL, selaras dengan CyberChef, API, JWT, dll. Kedua sisi (enkripsi dan dekripsi) harus menggunakan format yang sama.
  • Pada AES-GCM, output adalah aliran byte berkelanjutan 「teks terenkripsi + tag autentikasi」; alat ini mengodekan seluruh blok ke format yang dipilih — tempel seluruh blok saat dekripsi.

Catatan

  • Web Crypto berjalan sepenuhnya di browser; GCM adalah enkripsi terautentikasi, cocok untuk skenario default.
  • Saat enkripsi, kosongkan IV: alat akan membuat IV acak dan mengisinya di atas untuk digunakan ulang saat dekripsi.
  • Saat dekripsi, kosongkan IV untuk mencoba vektor nol (hanya valid jika pihak lain menggunakan konvensi yang sama).

Tool online gratis untuk enkripsi dan dekripsi AES dengan AES-CBC, AES-GCM, dan AES-CTR. Mendukung kunci AES-128/192/256, format ciphertext Hex/Base64/Base64URL, derivasi kunci berbasis kata sandi PBKDF2-SHA256, pembuatan IV/salt acak, dan pemrosesan Web Crypto sepenuhnya di browser.

Rekomendasi Terkait

Kasus penggunaan

  • Mengenkripsi potongan teks kecil dengan AES-GCM sebelum dibagikan melalui kanal yang terkontrol
  • Mendekripsi payload API saat integrasi frontend-backend ketika Anda perlu membandingkan IV, kunci, mode, dan format output
  • Menguji apakah backend mengembalikan ciphertext dalam Hex, Base64, atau Base64URL lalu mereproduksi format yang sama di browser
  • Membuat kunci AES turunan PBKDF2 dari kata sandi untuk memahami salt, jumlah iterasi, dan perilaku ukuran kunci turunan
  • Membandingkan output AES-CBC, AES-GCM, dan AES-CTR secara berdampingan sambil mempelajari perbedaan mode enkripsi simetris
  • Membuat test vector deterministik dengan menetapkan kunci, IV, salt, plaintext, mode, ukuran kunci, dan encoding output

Fitur

  • Tiga mode enkripsi: AES-CBC, enkripsi terautentikasi AES-GCM, dan AES-CTR untuk skenario enkripsi yang umum
  • Tiga ukuran kunci: AES-128, AES-192, dan AES-256, dengan AES-256 sebagai pilihan default paling kuat
  • Enkripsi berbasis kata sandi: turunkan kunci AES dengan PBKDF2-SHA256 dan 100.000 iterasi, bukan memakai kata sandi mentah yang lemah secara langsung
  • Pemeriksaan kekuatan kata sandi real-time: panjang, huruf besar, huruf kecil, angka, simbol, dan kata sandi umum membantu pengguna memilih kata sandi yang lebih aman
  • Pembuatan IV dan salt acak: sekali klik menghasilkan nilai IV/salt acak secara kriptografis dan menuliskannya kembali ke UI agar dekripsi bisa diulang
  • Beragam format ciphertext: Hex, Base64, dan Base64URL untuk debugging API, transport bergaya JWT, file konfigurasi, dan interoperabilitas command-line
  • Penanganan authentication tag GCM: tool mengemas ciphertext + auth tag dan menandai kegagalan verifikasi ketika ciphertext, kunci, IV, atau salt tidak cocok
  • Web Crypto hanya di browser: enkripsi dan dekripsi berjalan lokal di browser; plaintext, ciphertext, kata sandi, dan kunci tidak pernah diunggah
  • Panduan perbandingan mode: catatan bawaan menjelaskan kapan memilih GCM, CBC, atau CTR serta mengapa penggunaan ulang IV/nonce berbahaya
  • Alur salin ramah developer: kunci yang dihasilkan, IV, salt, ciphertext, dan plaintext dapat disalin untuk pengujian API dan troubleshooting

Cara Penggunaan

  1. Pilih mode enkripsi atau dekripsi, lalu pilih AES-GCM, AES-CBC, atau AES-CTR serta ukuran kunci yang Anda butuhkan
  2. Gunakan kunci Hex atau kata sandi. Untuk mode kata sandi, masukkan kata sandi yang kuat dan biarkan PBKDF2 menurunkan kunci AES
  3. Pilih format ciphertext: Hex, Base64, atau Base64URL. Gunakan format yang sama di sisi enkripsi dan dekripsi
  4. Untuk enkripsi, biarkan IV/salt kosong agar nilai acak aman dibuat otomatis; untuk dekripsi, tempel IV/salt yang sama atau gunakan header bawaan mode kata sandi
  5. Salin ciphertext atau plaintext hasilnya dan simpan mode, ukuran kunci, IV, salt, dan format bersama-sama agar dekripsi dapat direproduksi

Pertanyaan Umum

Apa perbedaan antara AES-CBC, AES-GCM, dan AES-CTR?

CBC adalah mode blok klasik yang membutuhkan IV dan MAC terpisah untuk menjaga integritas. GCM adalah enkripsi terautentikasi (AEAD) yang bisa mendeteksi perubahan data, sehingga menjadi pilihan default yang disarankan untuk API modern. CTR mengubah AES menjadi mode mirip stream, cepat dan mudah diparalelkan, tetapi tetap membutuhkan MAC terpisah. Jika ragu, pilih GCM.

Apa itu derivasi kunci PBKDF2 dan mengapa diperlukan?

PBKDF2 mengubah kata sandi manusia menjadi kunci enkripsi yang lebih kuat. Tool ini memakai PBKDF2-SHA256 dengan 100.000 iterasi dan salt acak untuk setiap proses enkripsi. Dibanding memakai kata sandi langsung sebagai kunci, PBKDF2 membuat serangan brute force lebih mahal dan mencegah kata sandi yang sama menghasilkan kunci turunan yang sama.

Apa perbedaan mode kunci Hex dan mode kata sandi?

Mode kunci Hex menggunakan kunci heksadesimal mentah sepanjang 32/48/64 karakter dan berguna ketika Anda perlu mencocokkan API backend atau test vector tetap. Mode kata sandi menerima kata sandi yang mudah diingat lalu menurunkan kunci AES dengan PBKDF2, sambil menyertakan informasi salt agar ciphertext dapat didekripsi lagi nanti dengan kata sandi yang sama.

Apa yang diukur oleh pemeriksaan kekuatan kata sandi?

Tool memeriksa panjang kata sandi, huruf besar, huruf kecil, angka, simbol, dan pola kata sandi lemah yang umum. Hasilnya memberi panduan lemah/cukup/baik/kuat agar Anda menghindari kata sandi pendek atau mudah ditebak. Untuk data sensitif, gunakan kata sandi acak yang panjang dari password manager.

Mengapa dekripsi AES-GCM gagal?

AES-GCM memverifikasi authentication tag. Kegagalan biasanya berarti kunci atau kata sandi salah, IV atau salt tidak cocok, ciphertext telah diubah, format output salah didekode, atau mode AES/ukuran kunci yang dipilih berbeda. Semua parameter dari enkripsi harus sama persis saat dekripsi.

Apakah tool online untuk enkripsi/dekripsi AES ini aman?

Operasi kriptografi berjalan dengan Web Crypto API di browser, dan halaman tidak mengunggah plaintext, ciphertext, kata sandi, maupun kunci. Tool ini cocok untuk pengembangan, debugging API, dan pembelajaran. Untuk data produksi yang sangat sensitif, gunakan tool lokal atau server-side yang diaudit dengan manajemen kunci yang benar.

Panjang kunci AES apa saja yang didukung?

Tool ini mendukung AES-128 (kunci 16 byte), AES-192 (kunci 24 byte), dan AES-256 (kunci 32 byte). AES-256 adalah opsi paling kuat dan ramah sebagai default; AES-128 tetap aman dan bisa lebih cepat; AES-192 biasanya dipakai untuk kebutuhan compliance atau interoperabilitas tertentu.

Apa perbedaan output Hex, Base64, dan Base64URL?

Hex mudah dibaca dan di-debug, tetapi ukurannya lebih besar. Base64 lebih ringkas dan umum dipakai dalam JSON atau file konfigurasi. Base64URL mengganti karakter yang kurang nyaman di URL dan menghapus padding, sehingga cocok untuk parameter URL, field bergaya JWT, dan transport web.

Bagaimana cara mendekripsi ciphertext yang dibuat oleh tool ini?

Dalam mode kata sandi, salt dan IV disertakan di header output yang telah dienkode, dan tool dapat mengekstraknya saat dekripsi. Dalam mode kunci Hex, simpan kunci, IV, mode, ukuran kunci, dan format output dari langkah enkripsi, lalu masukkan nilai yang sama saat mendekripsi.

Bisakah saya memakai tool ini untuk belajar enkripsi AES?

Bisa. Anda dapat berpindah antara GCM, CBC, dan CTR, membandingkan format output, melihat bagaimana IV dan salt memengaruhi hasil, serta mengamati bagaimana PBKDF2 menurunkan kunci dari kata sandi. Ini cara praktis memahami perilaku AES sebelum menerapkannya di kode aplikasi.

Apa itu enkripsi dan dekripsi AES?

AES (Advanced Encryption Standard) adalah block cipher simetris modern yang digunakan browser, stack TLS, database, layanan cloud, aplikasi mobile, dan sistem operasi untuk melindungi data dengan kunci rahasia yang sama untuk enkripsi dan dekripsi. Konfigurasi AES yang benar tidak hanya ditentukan oleh kunci, tetapi juga oleh mode, IV/nonce, perilaku padding atau tag, serta encoding output.

AES-GCM adalah pilihan default yang disarankan untuk desain baru karena bersifat AEAD: data dienkripsi sekaligus diautentikasi. Artinya, dekripsi akan gagal jika ciphertext, kunci, IV, salt, atau authentication tag berubah. CBC dan CTR hanya memberikan kerahasiaan dan harus digabungkan dengan MAC terpisah seperti HMAC-SHA256 untuk protokol produksi.

Enkripsi berbasis kata sandi membutuhkan fungsi derivasi kunci. Kata sandi manusia jarang cukup acak untuk menjadi kunci AES, sehingga tool ini menggunakan PBKDF2-SHA256 dengan 100.000 iterasi dan salt acak untuk menurunkan kunci AES yang sebenarnya. Salt mencegah kata sandi identik menghasilkan kunci turunan identik dan menaikkan biaya serangan brute force.

Penanganan IV dan nonce sangat penting. GCM biasanya memakai IV 12 byte dan tidak boleh pernah menggunakan IV yang sama dengan kunci yang sama. CBC memakai IV 16 byte yang tidak dapat diprediksi. CTR memakai konstruksi counter/nonce, dan penggunaan ulang bisa berakibat fatal. Tool ini otomatis membuat IV yang aman saat enkripsi dan menampilkannya agar dekripsi dapat mereproduksi parameter yang sama.

Halaman ini dirancang untuk pengembangan, debugging, edukasi, dan pengujian enkripsi yang dikelola sendiri. Untuk rahasia produksi, data yang diatur regulasi, dan informasi pelanggan, gunakan library kriptografi yang diaudit, manajemen kunci server-side, kontrol akses, audit log, dan KDF modern seperti Argon2id bila sesuai.