Enkripsi dan Dekripsi Blowfish
Enkripsi atau dekripsi dengan Blowfish (kunci 4–56 byte) dalam mode CBC, CFB, OFB, atau ECB. Format frasa sandi OpenSSL bf-cbc atau kunci dan IV hex mentah. Gratis, di browser.
Output memakai format OpenSSL "Salted__" dalam Base64: salt acak 8 byte diikuti ciphertext. Kunci dan IV diturunkan dari frasa sandi dan salt, jadi teks yang sama menghasilkan output berbeda setiap kali. Perintah setara:
openssl enc -bf-cbc -md md5 -a -A -provider legacy -provider default -k '…'Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.
Apa itu Enkripsi & Dekripsi Blowfish?
Mengenkripsi dan mendekripsi data dengan Blowfish, block cipher karya Bruce Schneier tahun 1993 dengan blok 64 bit dan panjang kunci variabel (4–56 byte). Gunakan tab Enkripsi / Dekripsi untuk mengganti arah, sehingga Anda juga bisa mendekripsi output Anda sendiri atau data dari OpenSSL bf-cbc.
Cara menggunakan Enkripsi & Dekripsi Blowfish
- Pilih tab Enkripsi atau Dekripsi.
- Pilih Frasa sandi (kompatibel OpenSSL) lalu ketik frasa sandi, atau Kunci mentah + IV (hex) dengan kunci 4–56 byte dan IV 8 byte.
- Pilih Mode dan Padding (CBC + PKCS#7 sesuai dengan OpenSSL bf-cbc).
- Masukkan plaintext atau ciphertext, klik tombolnya, lalu salin hasilnya.
Contoh
Raw key 0000000000000000, mode ECB, padding None, hex plaintext 0000000000000000
4ef997456198dd78
Test vector Blowfish pertama dari Schneier, output Hex.
Kapan menggunakan Enkripsi & Dekripsi Blowfish
Gunakan untuk membaca atau membuat data bagi perangkat lunak lawas yang memakai Blowfish, atau untuk membuat test vector. Blok 64 bitnya membuat Blowfish tidak cocok untuk data berukuran besar (Sweet32). Untuk pekerjaan baru, gunakan AES. Perhatikan bahwa hash kata sandi bcrypt memang berbasis Blowfish, tetapi bukan data terenkripsi – hash tersebut tidak bisa didekripsi di sini.
Cara kerja Enkripsi & Dekripsi Blowfish
Blowfish memperluas kunci menjadi 18 entri P-array dan empat S-box berisi 256 entri, lalu menjalankan 16 putaran Feistel pada setiap blok 8 byte. Kunci dengan panjang berapa pun dari 4 hingga 56 byte diputar byte demi byte melalui P-array seperti pada implementasi referensi (diverifikasi dengan test vector kunci variabel milik Eric Young). Mode frasa sandi menurunkan kunci 16 byte dan IV 8 byte dari frasa sandi dan salt acak (EVP_BytesToKey MD5 atau PBKDF2-SHA256) dan menulis format OpenSSL Salted__ yang kompatibel dengan openssl enc -bf-cbc. CBC/ECB memakai padding PKCS#7, yang diverifikasi saat dekripsi.
Kasus Penggunaan Umum
- Mendekripsi output
openssl enc -bf-cbc - Membuat test vector Blowfish dengan panjang kunci yang tidak biasa
- Berinteroperasi dengan kode PHP mcrypt atau Java Blowfish lawas
- Mengajarkan cipher Feistel dengan algoritma klasik
Catatan Keamanan
Blowfish belum jebol, tetapi blok 64 bitnya rentan terhadap serangan birthday setelah beberapa gigabyte data dengan satu kunci. Utamakan AES untuk data baru.
Pertanyaan Umum
Bisakah saya mendekripsi dengan halaman ini?
Bisa – klik tab Dekripsi, masukkan frasa sandi atau kunci/IV dan pengaturan yang sama, lalu tempel ciphertext-nya.
Bisakah alat ini mendekripsi hash bcrypt?
Tidak. bcrypt adalah hash kata sandi satu arah yang hanya memakai Blowfish secara internal; hash tersebut tidak bisa didekripsi, hanya diverifikasi.
Apakah outputnya kompatibel dengan OpenSSL?
Ya. Dalam mode frasa sandi, hasilnya persis sama dengan yang dihasilkan openssl enc -bf-cbc -md md5 -a -A -k <passphrase> (EVP_BytesToKey dengan MD5), atau -pbkdf2 -iter N jika Anda memilih PBKDF2-HMAC-SHA256. Tambahkan -d untuk mendekripsi. Halaman menampilkan perintah yang sesuai di bawah kolom frasa sandi.
Panjang kunci berapa saja yang diizinkan?
Dari 4 hingga 56 byte (8 hingga 112 karakter hex). Mode frasa sandi selalu menurunkan kunci 128 bit, seperti OpenSSL.