Algoritma Blowfish 2


Algoritma Blowfish adalah salah satu algoritma yang dapat digunakan untuk melakukan enkripsi data sehingga data asli hanya dapat dibaca oleh seseorang yang memiliki kunci enkripsi tersebut. Contoh yang dibahas kali ini adalah mengenai enkripsi dan dekripsi dari sebuah kalimat.
Algoritma ini menggunakan teknik cipher blok dengan key simetris. Blowfish memiliki ukuran blok 64 bit dan panjang key dari 32 sampai 448 bit. Blowfish menggunakan cipher Feistel dan menggunakan parameter SBOX yang sangat besar dan nilainya bergantung dari key. Strukturnya sangat mirip dengan struktur CAST-128, yang menggunakan SBOX dengan nilai tetap.


Langkah-langkah penggunaan algoritma ini adalah

1. Tentukan kalimat yang akan dienkrip

2. Tentukan kata kunci enkripsi yang digunakan

3. Lakukan inisialisasi variabel yang digunakan oleh metode ini
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

* Skrip tersebut akan melakukan inisialisasi pada Class CryptCore. Class ini adalah inti class untuk pemanggilan fungsi enkripsi dan dekripsi yang mengacu pada algoritma blowfish. Deklarasi Class CryptCore adalah sebagai berikut:

* Pada saat melakukan proses InitCore, maka proses tersebut akan melakukan inisialisasi pada Class CoreAlgoritmaSymmetric. Pemanggilan fungsi enkripsi / dekripsi pada Class sebelumnya akan mengarah pada Class ini untuk selanjutnya dilakukan perhitungan enkripsi / dekripsi yang sebenarnya. Deklarasi Class CoreAlgoritmaSymmetric adalah sebagai berikut:

* Pada saat menginisialisasi variabel metodeEncode, maka proses tersebut akan melakukan inisialisasi pada Class BlowfishAlgoritma. Class ini berisi tentang beberapa properti dan fungsi yang menggantikan properti dan fungsi yang diturunkan dari Class SymmetricAlgorithm dan ICryptoTransform. Deklarasi Class BlowfishAlgoritma adalah sebagai berikut:

4. Lakukan enkripsi kalimat awal menggunakan algoritma ini
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

* Skrip tersebut akan menjalankan proses enkripsi yang terdapat dalam Class CoreAlgoritmaSymmetric.

* Sedangkan proses enkripsi utama algoritma Blowfish adalah sebagai berikut

5. Lakukan dekripsi dari kalimat yang telah terenkripsi
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

* Skrip tersebut akan menjalankan proses dekripsi yang terdapat dalam Class CoreAlgoritmaSymmetric.

* Sedangkan proses dekripsi utama algoritma Blowfish adalah sebagai berikut

* Secara keseluruhan, skrip ini membutuhkan 2 Class tambahan yaitu Class Blowfish dan Class BlowfishBaseCBC. Class Blowfish berisi tentang ukuran blok, panjang key, semua nilai PBOX dan SBOX, dan beberapa fungsi enkripsi dan dekripsi dengan metode Blowfish. Class BlowfishBaseCBC adalah inti class Blowfish yang menggunakan teknik cipher CBC (Cipher Block Chaining), dan berisi tentang beberapa properti dan fungsi yang menggantikan properti dan fungsi yang diturunkan dari Class Blowfish dan SymmetricAlgorithm. Deklarasi kedua Class tersebut adalah sebagai berikut:


Hasil akhir adalah: (klik untuk perbesar gambar)

cmd112a

cmd112b


Contoh modul / source code dalam bahasa VB (Visual Basic) dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.


Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

2 pemikiran di “Algoritma Blowfish