Enkripsi / Dekripsi AES

Tempel teks dan passphrase untuk menjalankan enkripsi atau dekripsi AES cepat dengan cipher PHP OpenSSL yang dipilih. AES adalah block cipher simetris yang distandardisasi NIST dalam FIPS 197 dan dipakai di banyak sistem TLS, WPA2, VPN, serta enkripsi disk. Namun halaman ini adalah utilitas untuk teks berisiko rendah, bukan brankas rahasia yang diaudit. Untuk file sensitif atau rahasia jangka panjang, gunakan alat offline seperti age, GnuPG, atau 7-Zip.

Cara mengenkripsi teks dengan AES

  1. 1

    Pilih cipher OpenSSL

    Opsi saat ini mencakup varian CBC, CTR, dan GCM. CBC dan CTR tidak terautentikasi, dan tool ini tidak menyimpan atau memverifikasi tag autentikasi GCM.

  2. 2

    Masukkan passphrase

    Passphrase di-hash sekali dengan SHA-256 untuk membentuk kunci AES. Tidak ada PBKDF2, salt, Argon2, atau work factor, jadi gunakan passphrase panjang dan acak.

  3. 3

    Tempel teks berisiko rendah

    Ini adalah utilitas Livewire/PHP OpenSSL sisi server. Jangan tempel kata sandi, kunci produksi, dokumen privat, atau rahasia yang tidak akan Anda kirim ke situs ini.

  4. 4

    Salin hasil Base64

    Enkripsi membuat IV acak, menaruhnya sebelum teks terenkripsi mentah, lalu mengodekan gabungan byte itu sebagai Base64. Dekripsi membutuhkan cipher dan passphrase yang sama.

Apa yang sebenarnya dihasilkan tool ini

Implementasi ini memakai PHP OpenSSL. Saat mengenkripsi, passphrase di-hash dengan SHA-256, IV acak dibuat sesuai panjang yang dibutuhkan cipher terpilih, teks dienkripsi, lalu hasilnya dikembalikan sebagai:

Base64(IV || teks terenkripsi)

Output tidak mencakup salt, parameter PBKDF2, HMAC, atau tag autentikasi GCM. Format ini tidak kompatibel dengan output Web Crypto, age, GnuPG, resep command-line OpenSSL, atau 7-Zip.

Opsi AES dalam konteks

AES memiliki ukuran blok tetap 128 bit (16 byte) dan ukuran kunci standar 128, 192, serta 256 bit. Perbedaan keamanan penting di sini bukan hanya ukuran kunci, tetapi apakah pesan terenkripsi diautentikasi.

Opsi cipher Yang perlu diketahui di tool ini
AES-128-CBC / AES-192-CBC / AES-256-CBC Mode blok umum dengan IV acak dan padding PKCS#7. Perlu MAC terpisah seperti HMAC-SHA-256 untuk mendeteksi manipulasi.
AES-256-CTR Mengubah AES menjadi mode mirip stream. Juga perlu autentikasi terpisah dan tidak boleh memakai ulang IV/counter yang sama dengan kunci yang sama.
AES-128-GCM / AES-256-GCM GCM biasanya mode AEAD, tetapi hanya jika tag autentikasi disimpan dan diperiksa. Output tool ini tidak menyertakan tag itu, jadi jangan mengandalkannya untuk enkripsi terautentikasi.

Pengingat keamanan

Panduan penyimpanan kriptografi OWASP merekomendasikan enkripsi terautentikasi bila memungkinkan, atau enkripsi plus MAC terpisah. Ingat hal ini saat memakai utilitas ini:

  • Ini enkripsi simetris - passphrase yang sama dipakai untuk dekripsi. Bagikan lewat kanal berbeda dari teks terenkripsi.
  • Passphrase lemah menjadi kunci lemah di sini - SHA-256 cepat dan tanpa salt, jadi penyerang dapat mencoba tebakan dengan cepat jika memiliki output.
  • CBC dan CTR butuh autentikasi - tanpa HMAC atau MAC lain, penyerang bisa saja mengubah teks terenkripsi tanpa terdeteksi.
  • Jangan gunakan ulang IV atau nonce dengan kunci yang sama - tool membuat IV acak baru saat enkripsi, tetapi data eksternal yang ditempel harus mengikuti aturan yang sama.
  • Gunakan alat yang diaudit untuk rahasia sungguhan - age, GnuPG, dan 7-Zip menangani format file, metadata, dan autentikasi dengan lebih hati-hati.

Pertanyaan yang Sering Diajukan

Komponen saat ini meng-hash passphrase dengan SHA-256 dan memakai byte hasilnya sebagai material kunci untuk OpenSSL. Tool ini tidak memakai PBKDF2, salt, scrypt, atau Argon2, jadi passphrase pendek atau dipakai ulang berisiko.

Tidak. CBC dan CTR membutuhkan MAC terpisah seperti HMAC-SHA-256. Walaupun GCM biasanya menyediakan autentikasi AEAD, tool ini tidak menyimpan atau memverifikasi tag GCM di output Base64.

Di server situs ketika aksi Livewire menjalankan PHP OpenSSL. Ini bukan tool Web Crypto yang hanya berjalan di browser, jadi jangan tempel rahasia bernilai tinggi, private key, atau dokumen sensitif.

Hasil Base64 berisi IV acak diikuti teks terenkripsi mentah. Padding CBC bisa menambah byte, dan Base64 membuat data biner sekitar sepertiga lebih besar. Format tersimpan tidak berisi salt atau tag autentikasi.

Tool ini hanya menangani teks dan sebaiknya dibatasi untuk potongan berisiko rendah. Untuk file atau rahasia penting, gunakan utilitas enkripsi offline yang diaudit seperti age, GnuPG, atau 7-Zip.

Alat Terkait