- Blowfish adalah cipher blok simetris 64-bit dengan kunci hingga 448 bit.
- Ia menggunakan rangka Feistel berkapasitas 16 peluru dan kotak pengganti untuk keamanan tambahan.
- Ia menawarkan kecepatan dan fleksibilitas tinggi, tetapi AES telah menggantikan penggunaannya dalam banyak aplikasi.
- Meskipun usianya sudah tua, ia tetap menjadi pilihan yang dapat diandalkan di lingkungan tertentu.
El Sandi ikan buntal Ini adalah algoritma sandi blok yang diciptakan pada tahun 1993 oleh Bruce Schneier sebagai alternatif DES yang cepat dan aman. Metode enkripsi ini telah diadopsi secara luas dalam berbagai aplikasi karena efisiensinya dan fleksibilitasnya dalam menggunakan kunci dengan ukuran berbeda. Untuk mempelajari lebih dalam tentang topik kriptografi, Anda dapat membaca lebih lanjut tentang Apa itu kriptografi?.
Selama bertahun-tahun, Blowfish telah terbukti menjadi sandi yang andal, meskipun sekarang telah digantikan dalam banyak aplikasi oleh metode yang lebih maju seperti AES. Meski begitu, ini tetap menjadi pilihan yang relevan dalam konteks tertentu di mana keselamatan dan kecepatan menjadi prioritas.
Apa itu enkripsi Blowfish?
Blowfish adalah algoritma enkripsi simetris yang beroperasi dengan blok 64-bit dan menggunakan kunci mulai dari 32 hingga 448 bit. Algoritma ini dirancang untuk menawarkan kinerja superior dalam hal kecepatan tanpa mengorbankan keamanan. Jika Anda tertarik untuk mempelajari tentang algoritma enkripsi simetris lainnya , ada juga informasi berharga tentangnya.
Algoritma ini menggunakan struktur sandi Feistel 16 putaran . Desain modularnya membuatnya mudah diadaptasi ke berbagai implementasi perangkat keras dan perangkat lunak.
Fitur utama algoritma
- Panjang kunci variabel: Memungkinkan konfigurasi khusus antara 32 dan 448 bit.
- Cepat dan efisien: Dirancang untuk memberikan kinerja tinggi dalam perangkat lunak.
- Bebas paten: Dapat diimplementasikan tanpa batasan lisensi.
- Belum rusak: Sampai saat ini, belum ditemukan serangan efektif terhadap keamanannya.
Cara Kerja Blowfish Cipher
Sandi Blowfish menggunakan 18 subkunci dan empat kotak substitusi (S-box) berisi 256 entri untuk memproses data. Proses enkripsi bergantung pada operasi XOR berulang dan substitusi menggunakan struktur ini.
Tombol input menginisialisasi subkunci dan S-box sebelum digunakan. Untuk melakukan ini, nilai-nilai struktur ini didasarkan pada digit heksadesimal π , memastikan distribusi data secara acak.
proses enkripsi
- Blok 64-bit dibagi menjadi dua bagian 32-bit: kiri (L) dan kanan (R).
- Setengah bagian kiri di-XOR dengan subkunci pertama dan dilewatkan melalui fungsi F.
- Hasilnya di-XOR dengan bagian kanan.
- Kedua bagian dipertukarkan dan proses diulangi selama 16 putaran.
- Setelah putaran terakhir, dua XOR akhir diterapkan dengan subkunci terakhir.
Desain ini memastikan bahwa bahkan perubahan kecil pada teks asli akan menghasilkan variasi yang sangat besar pada teks sandi. Untuk gambaran yang lebih komprehensif tentang metode enkripsi, Anda dapat mengunjungi bagian metode enkripsi.
Pembuatan Kunci di Blowfish
Pembuatan kunci di Blowfish adalah proses kompleks yang membutuhkan 521 iterasi untuk menginisialisasi subkunci dan S-box sepenuhnya. Hal ini dilakukan dengan berulang kali mengenkripsi blok nol dan mengganti nilai dalam subkunci dan kotak pengganti.
Berkat kompleksitas dalam pembuatan kunci ini, Blowfish mencegah serangan berdasarkan pola data berulang.
Keuntungan dan kerugian Blowfish
keuntungan
- Enkripsi dan dekripsi berkecepatan tinggi.
- Kunci dengan panjang yang bervariasi.
- Gratis untuk implementasi.
- Keamanan yang kuat tanpa laporan kerentanan kritis.
kerugian
- Blok 64-bit, yang kurang aman dibandingkan blok 128-bit yang digunakan oleh AES.
- Implementasinya dapat menjadi rumit karena proses inisialisasi kunci.
Blowfish vs. algoritma enkripsi lainnya
Blowfish bersaing dengan algoritma lain seperti DES, Triple DES, dan AES . Dibandingkan dengan DES, Blowfish menawarkan keamanan yang lebih baik dan fleksibilitas yang lebih besar berkat panjang kunci variabelnya.
Namun, AES , dengan blok 128-bit dan struktur yang lebih optimal, telah menggantikan Blowfish di sebagian besar aplikasi modern. Alternatif yang lebih baik daripada Blowfish adalah Twofish , yang dirancang oleh penulis yang sama sebagai kandidat untuk standar AES.
Enkripsi Blowfish tetap menjadi pilihan yang layak dalam bidang tertentu di mana keamanan dan kecepatan menjadi prioritas. Desainnya yang bebas paten dan struktur modular membuatnya menarik untuk implementasi di mana fleksibilitas menjadi kuncinya. Meskipun AES telah mendapatkan popularitas, Blowfish tetap menjadi alat yang berguna dalam lingkungan yang membutuhkan enkripsi yang cepat dan andal.