JURNAL DASI ISSN: Vol. 11 No. 2 Juni 2010

dokumen-dokumen yang mirip
Penerapan Algoritma Blowfish untuk Membuat Sebuah Model Kriptosistem dan Menganalisis Kinerja Algoritma Blowfish dengan Simulasi Data Terbatas

IMPLEMENTASI ALGORITMA BLOWFISH UNTUK ENKRPSI DAN DEKRIPSI BERBASIS WEB

APLIKASI ENKRIPSI PENGIRIMAN FILE SUARA MENGGUNAKAN ALGORITMA BLOWFISH

APLIKASI PENGAMANAN DOKUMEN OFFICE DENGAN ALGORITMA KRIPTOGRAFI BLOWFISH

IMPLEMENTASI ALGORITMA KRIPTOGRAFI BLOWFISH UNTUK KEAMANAN DOKUMEN PADA MICROSOFT OFFICE. Naskah Publikasi

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

IMPLEMENTASI ALGORITMA BLOWFISH UNTUK ENKRPSI DAN DEKRIPSI BERBASIS JAVA SWING

RANCANG BANGUN APLIKASI ENKRIPSI DATABASE MYSQL DENGAN ALGORITMA BLOWFISH

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

OPTIMASI METODE BLOWFISH UNTUK MENGAMANKAN PASSWORD PADA KRIPTOGRAFI

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

Menggunakan Algoritma Kriptografi Blowfish

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

RANCANG BANGUN PHP 5 ENCODER

PENGAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA STREAM CIPHER SEAL

PERANGKAT LUNAK UNTUK PROSES ENKRIPSI DESKRIPSI MESSAGE DENGAN ALGORITMA BLOWFISH. Ary Fathany Kristiawan 1) Rudy Setiawan 2)

Studi Perbandingan Cipher Block Algoritma Blowfish dan Algoritma Twofish

BAB II TINJAUAN PUSTAKA

ANALISIS PERBANDINGAN KINERJA ALGORITMA BLOWFISH DAN ALGORITMA TWOFISH PADA PROSES ENKRIPSI DAN DEKRIPSI

Tegar Meda Rahman

BAB I PENDAHULUAN 1.1 Latar Belakang

OPTIMASI ENKRIPSI PASSWORD MENGGUNAKAN ALGORITMA BLOWFISH

Kriptografi Kunci Simetris Dengan Menggunakan Algoritma Crypton

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

STUDI PERBANDINGAN CIPHER BLOK ALGORITMA BLOWFISH DAN ALGORITMA CAMELLIA

STUDI DAN IMPLEMENTASI ALGORITMA BLOWFISH UNTUK APLIKSI ENKRIPSI DAN DEKRIPSI FILE

Pengembangan Aplikasi Steganografi pada Citra dengan Metode Blowfish dan Sequential Colour Cycle

BAB 2 LANDASAN TEORI

BAB 4 IMPLEMENTASI DAN EVALUASI. dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel Pentium, Core Duo, 1.

IMPLEMENTASI UJI KORELASI UNTUK PENGUJIAN SUB KUNCI PADA ALGORITMA KRIPTOGRAFI BLOCK CIPHER PRESENT MENGGUNAKAN BAHASA PEMROGRAMAN C++

Kompleksitas Waktu Algoritma Kriptografi RC4 Stream Cipher

KEAMANAN DAN PENYISIPAN PESAN RAHASIA PADA GAMBAR DENGAN ENKRIPSI BLOWFISH DAN STEGANOGRAFI END OF FILE

Vol. 3, No. 2, Juli 2007 ISSN PERANAN KRIPTOGRAFI DALAM KEAMANAN DATA PADA JARINGAN KOMPUTER

BAB III ANALISA DAN DESAIN SISTEM

Analisis Algoritma Blowfish Pada Proses Enkripsi Dan Dekripsi File

Implementasi Algoritma Blowfish pada Basis Data Honorarium Mengajar Dosen Tidak Tetap FTI UKSW Artikel Ilmiah

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI

BAB III ANALISIS DAN PERANCANGAN

BAB 2 LANDASAN TEORI

Desain Public Key Core2Centaury

BAB 2 LANDASAN TEORI

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

STUDI MENGENAI KRIPTANALISIS UNTUK BLOCK CIPHER DES DENGAN TEKNIK DIFFERENTIAL DAN LINEAR CRYPTANALYSIS

Politeknik Elektronika Negri Surabaya

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB 1 PENDAHULUAN Latar Belakang

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

Modifikasi Kriptografi One Time Pad (OTP) Menggunakan Padding Dinamis dalam Pengamanan Data File

Analisis Keamanan Sistem Informasi Dengan Metode Enkripsi Menggunakan Algoritma Blowfish. Jurusan Teknik Informatika, FT, Jl. Dipatiukur Bandung

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. 1.1 Latar Belakang

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Berusaha melindungi data dan informasi dari orang yang tidak berada dalam ruang lingkupnya. b. Ketersediaan

(S.2) KRIPTOGRAFI METODA MODULAR MULTIPLICATON-BASED BLOCK CIPHER PADA FILE TEXT

IMPLEMENTASI ALGORITMA SEAL PADA KEAMANAN DATA

dan c C sehingga c=e K dan d K D sedemikian sehingga d K

Studi dan Implementasi Pengamanan Basis Data dengan Teknik Kriptografi Stream Cipher

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS

Bab 3. Metode dan Perancangan Sistem

APLIKASI ENKRIPSI CITRA DIGITAL MENGGUNAKAN ALGORITMA GINGERBREADMAN MAP. Suryadi MT 1 Tony Gunawan 2. Abstrak

BAB II LANDASAN TEORI

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan:

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

RANCANG BANGUN ENKRIPSI DENGAN METODE RC4 UNTUK KEAMANAN DATA DENGAN MENGGUNAKAN VISUAL BASIC 6.0

IMPLEMENTASI ENKRIPSI DATA BERBASIS ALGORITMA DES

K i r p i t p o t g o ra r f a i

Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB)

BAB III ANALISIS DAN PERANCANGAN

Bab 1 PENDAHULUAN Latar Belakang

Implementasi Kriptografi Transmisi Teks Menggunakan Mikrokontroler

BAB I PENDAHULUAN 1.1 Latar Belakang

KEAMANAN BASIS DATA DENGAN TEKNIK ENKRIPSI

BAB III ANALISA MASALAH DAN SISTEM

Pengamanan Sistem Login Aplikasi Menggunakan Protokol ID Based Diffie-Hellman Key Agreement

PENGAMANAN DATA MENGGUNAKAN METODA ENKRIPSI SIMETRI DENGAN ALGORITMA FEAL

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

STUDI DAN MODIFIKASI ALGORITMA BLOCK CHIPER MODE ECB DALAM PENGAMANAN SISTEM BASIS DATA. Arief Latu Suseno NIM:

BAB III ANALISIS DAN DESAIN SISTEM

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

DESAIN KRIPTOGRAFI CBC MODIFIKASI PADA PROSES PENGAMANAN PESAN MELALUI

BAB III ANALISA DAN DESAIN SISTEM

KRIPTOGRAFI MATERI KE-2

BAB I PENDAHULUAN. 1.1 Latar Belakang

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN VISUAL BASIC 2012 DENGAN ALGORITMA TRIPLE DES

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan

PENERAPAN ENKRIPSI ALGORITMA BLOWFISH PADA PROSES STEGANOGRAFI METODE EOF

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah. Pada dasarnya sistem administrasi kependudukan merupakan sub sistem dari

BAB III ANALISIS DAN PERANCANGAN

STUDI ALGORITMA CIPHER BLOK KUNCI SIMETRI BLOWFISH CIPHER

KRIPTOGRAFI SISTEM KEAMANAN KOMPUTER

Kriptografi Kunci Rahasia & Kunci Publik

Transkripsi:

PENERAPAN ALGORITMA BLOWFISH UNTUK MEMBUAT SEBUAH MODEL KRIPTOSISTEM ALGORITMA DAN MENGANALISIS KINERJA ALGORITMA BLOWFISH DENGAN SIMULASI DATA TERBATAS Ema Utami, Shanty Erikawaty Aryani Tambunan STMIK AMIKOM Yogyakarta Abstraksi Komunikasi via website memungkinkan terjadinya pengiriman berbagai varian paket data dalam jumlah yang besar. Data yang dikirim melalui media transmisi tersebut bisa saja disadap, dirusak atau dicuri oleh para cracker dan pihak-pihak yang memiliki kepentingan tertentu. Masalah cyber crime ini masih menjadi masalah yang sulit dikendalikan hingga saat ini. Untuk mengatasi masalah keamanan data ini, penulis melakukan pendekatan teknologi enkripsi data menggunakan algoritma Blowfish, enkripsi yang termasuk dalam golongan Symmetric Cryptosystem. Kata kunci: algoritma Blowfish, enkripsi, kriptosistem Pendahuluan Cryptosystem Menurut teknik enkripsinya, Cryptosystem dapat digolongkan menjadi dua macam (Idocisc, 2005), yaitu : Symmetric Cryptosystem ( Enkripsi Konvensional) Kunci yang digunakan dalam proses enkripsi dan dekripsi adalah sama atau pada prinsipnya identik (Stallings, 1995). Kunci ini pun bisa diturunkan dari kunci lainnya. Sistem ini sering disebut juga dengan secret-key ciphersystem. Jumlah kunci yang dibutuhkan umumnya adalah : nc 2 = n*(n-1) 2 33

Dimana n adalah banyaknya pengguna. Kunci yang menggunakan teknik enkripsi ini harus betul-betul dirahasiakan. Gambaran proses enkripsi konvensional : Plaintex Enkrips Ciphertex Dekrips Plaintex User A User B Kunci/Key Gambar 1 Proses Enkripsi Konvensional Assymmetric Cryptosystem (enkripsi public-key) Kunci yang digunakan terdapat dua buah, yaitu: kunci yang dapat dipublikasikan (public key) dan kunci yang harus dirahasiakan atau disebut kunci privat (private key). Secara sedehana proses tersebut diterangkan sebagai berikut: A mengirimkan pesan kepada B. A menyandikan pesannya dengan menggunakan kunci publik B. Bila B ingin membaca pesan dari A maka harus menggunakan kunci privatnya untuk mendekripsikan pesan yang tersandikan itu. Gambaran proses enkripsi public-key : Plaintext Enkripsi Ciphertext Dekripsi Plaintext User A User B Private Key B Public Key B Gambar 2 Proses Enkripsi Public Key 34

Dalam kriptosistem yang baik harus memiliki karakteristik sebagai berikut (Syafari, 2003): a. Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasiaan algoritma yang dipergunakan. b. Memiliki ruang kunci (keyspace) yang besar. c. Menghasilkan ciphertext yang terlihat acak dalam seluruh tes statistik yang dilakukan terhadapnya. d. Mampu menahan seluruh serangan yang dikenal sebelumnya. Jika satu atau beberapa dari karakteristik di atas tidak dimiliki oleh sebuah kriptosistem, maka kemungkinan besar kriptosistem tersebut akan mudah mengalami gangguan dari pihak luar. Algoritma Blowfish Blowfish atau disebut juga OpenPGP.Cipher.4 adalah enkripsi yang termasuk dalam golongan Symmetric Cryptosystem (Schneier, 1993). Blowfish dibuat untuk digunakan pada komputer yang mempunyai mikroprosesor besar (32 bit ke atas dengan cache data yang besar). Blowfish merupakan cipher blok yang berarti selama proses enkripsi dan dekripsi, Blowfish bekerja dengan membagi pesan menjadi blok-blok bit dengan ukuran sama panjang, yaitu 64-bit dengan panjang kunci bervariasi yang mengenkripsi data dalam 8 byte blok. Pesan yang bukan merupakan kelipatan 8 byte akan ditambahkan bit-bit tambahan (padding) sehingga ukuran untuk tiap blok sama. Algoritma Blowfish terdiri dari dua bagian: key expansion dan enkripsi data (Schneier, 1993). 1. Key expansion berfungsi untuk mengkonversikan sebuah kunci sampai 56 byte (448 bit) menjadi beberapa array subkey dengan total 4168 byte. 2. Enkripsi data, proses ini terjadi di dalam jaringan feistel dan terdiri dari iterasi fungsi sederhana sebanyak 16 kali putaran. Setiap putaran terdiri dari permutasi key-dependent serta substitusi kunci dan data-dependent. Semua operasi merupakan XOR dan 35

penjumlahan (addition) pada variable 32 bit. Operasi penambahan yang terjadi hanya merupakan empat indeks array data lookup pada setiap iterasi Enkripsi Algoritma Blowfish Blowfish menggunakan subkunci besar yang harus dihitung sebelum enkripsi dan dekripsi data. Algoritma Blowfish menerapkan jaringan Feistel yang terdiri dari 16 putaran. Input adalah elemen 64- bit, X untuk alur algoritma enkripsi dengan metode Blowfish dijelaskan sebagai berikut (Schneier, 1993): 1. Bentuk inisial P-array sebanyak 18 buah (P1, P2,..., P18) masingmasing bernilai 32-bit. Array P terdiri dari delapan belas kunci 32- bit subkunci: P 1,P 2,..., P 18 2. Bentuk S-box sebanyak 4 buah masing-masing bernilai 32-bit yang memiliki masukan 256. Empat 32-bit S-box masing-masing mempunyai 256 entri : S 1,0, S 1,1,..., S 1,255 S 2,0, S 2,1,..., S 2,255 S 3,0, S 3,1,..., S 3,255 S 4,0, S 4,1,..., S 4,255 3. Plaintext yang akan dienkripsi diasumsikan sebagai masukan, Plaintext tersebut diambil sebanyak 64-bit, dan apabila kurang dari 64-bit maka kita tambahkan bitnya, supaya dalam operasi nanti sesuai dengan datanya. 4. Hasil pengambilan tadi dibagi 2, 32-bit pertama disebut XL, 32-bit yang kedua disebut XR. 5. Selanjutnya lakukan operasi XL = XL xor Pi dan XR = F(XL) xor XR. 6. Hasil dari operasi diatas ditukar XL menjadi XR dan XR menjadi XL. 7. Lakukan sebanyak 16 kali, perulangan yang ke-16 lakukan lagi proses penukaran XL dan XR. 8. Pada proses ke-17 lakukan operasi untuk XR = XR xor P17 dan XL = XL xor P18. 36

9. Proses terakhir satukan kembali XL dan XR sehingga menjadi 64- bit kembali. Fungsi F adalah sebagai berikut: Bagi XL menjadi empat bagian 8-bit: a, b, c, d. F(x L ) = ((S 1,a + S 2,b mod 2 32 ) S 3,c ) + S 4,d mod 2 32 Subkunci dihitung menggunakan algoritma Blowfish, metodenya adalah sebagai berikut (Schneier, 1993): 1. Pertama-tama inilialisasi P-array dan kemudian empat S-box secara berurutan dengan string yang tetap. String ini terdiri atas digit hexadesimal dari Pi. 2. XOR P1 dengan 32-bit pertama kunci, XOR P2 dengan 32-bit kedua dari kunci dan seterusnya untuk setiap bit dari kunci (sampai P18).Ulangi terhadap bit kunci sampai seluruh P-array di XOR dengan bit kunci. 3. Enkrip semua string nol dengan algoritma Blowfish menggunakan subkunci seperti dijelaskan pada langkah (1) dan (2). 4. Ganti P1 dan P2 dengan keluaran dari langkah (3). 5. Enkrip keluaran dari langkah (3) dengan algoritma Blowfish dengan subkunci yang sudah dimodifikasi. 6. Ganti P3 dan P4 dengan keluaran dari langkah (5). 7. Lanjutkan proses tersebut, ganti seluruh elemen dari P-array, kemudian seluruh keempat S-box berurutan, dengan keluaran yang berubah secara kontinyu dari algoritma Blowfish. Berikut dapat dilihat gambar blok diagram dari fungsi F: 37

8 bit a S-Box 1 32 bit Mod 32 bit 8 bit b S-Box 2 32 bit Xor 8 bit c S-Box 3 32 bit Mod 32 bit 8 bit S-Box 4 32 bit d Gambar 3 Fungsi F (Bruce Schneier, 1996) Mulai xl/(4) = a, b, c, d Di mana a, b, c, d bernilai 8 bit F(xL) = ((S1,a + S2,b mod 2 32 ) XOR S3,c) + S4,d mod 2 32 Selesai Gambar 4 Flowchart Fungsi F Dalam fungsi F terdapat total 521 iterasi untuk menghasilkan semua subkunci yang dibutuhkan. Aplikasi kemudian dapat menyimpan subkunci ini dan tidak membutuhkan langkah-langkah proses penurunan berulang kali, kecuali kunci yang digunakan berubah. 38

Pembahasan Perancangan Sistem Data yang diinputkan pada sistem bisa berasal dari dua sumber, yaitu dari harddisk dan dari masukan melalui keyboard ke textbox. Setelah proses input file, maka user harus memilih instruksi yang akan digunakan untuk memproses file yang telah diinputkan (enkripsi/dekripsi). Untuk pilihan proses enkripsi, maka pengguna diminta memilih key yang akan digunakan untuk enkripsi/dekripsi data (kunci:simetris), kemudian memasukkan password untuk privacy user yang mana password dan kunci tiap user akan disimpan ke dalam database sistem agar dapat digunakan lagi. Setelah itu, user harus menentukan lokasi untuk file output dan instruksi dapat dijalankan sehingga menghasilkan file ciphertext yang akan langsung dicopy ke directory/folder tujuan atau file output hanya akan ditampilkan pada textbox jika file input merupakan text masukan pada textbox juga. Untuk dekripsi, proses yang terjadi adalah sama dengan proses enkripsi. Hanya saja jika file yang akan didekripsi merupakan file yang sudah dienkripsi sistem, maka user tidak diminta memilih kunci lagi. Karena kunci dekripsi akan menggunakan kunci yang sama saat proses enkripsi dan file output dari proses dekripsi adalah merupakan file plaintext. 39

Text dari Keyboard Input File Input File File Plaintext / Ciphertext Perintah Dekripsi Pilih Instruksi Pilih Instruksi Perintah Dekripsi Pilih Key Perintah Enkripsi Key Input Password Password Simpan ke database Instruksi dijalankan Database Password Mulai Instruksi Set Output Folder Lokasi File Output Ciphertext / Plaintext Gambar 5 Flowchart Sistem Pengujian Pengujian sistem dilakukan dengan menerapkan tujuh prinsip yang umum digunakan untuk mendasari pengujian sebuah perangkat lunak: operabilitas, observabilitas, kontrolabilitas, dekomposabilitas, 40

kesederhanaan, stabilitas, dan mudah dipahami. Bug pada Toadies Crypt08 antara lain sebagai berikut: 1. Fungsi encrypt berfungsi untuk melakukan eksekusi enkripsi terhadap data bertipe string. Bug pada fungsi ini dapat dilihat pada baris ke empat fungsi, yaitu Plain text must be a string, berarti jika masukan plaintext terhadap fungsi ini tidak bertipe string, program akan menjalankan bug tersebut. 2. Fungsi decrypt berfungsi untuk melakukan eksekusi dekripsi terhadap data terenkripsi. Jika masukan ciphertext tidak sesuai dengan permintaan, maka program akan menjalankan bugnya, yaitu Chipertext must be a string. 3. Fungsi setkey memiliki parameter berupa key. Bug fungsi ini adalah Key must be a string dan Key must be less than 56 characters and non-zero. Ini berarti bug untuk tipe data key harus string dan batasan untuk panjang karakter key adalah bukan nol dan maksimal 56 karakter. 4. Fungsi maxi_pad berfungsi untuk memberikan masukan karakter pada karakter kosong dalam sebuah blok dengan pola bit tertentu (proses padding). Jika karakter masukan, dalam hal ini adalah $plaintext, habis dibagi delapan maka proses padding tidak dijalankan. Semakin baik mengontrol perangkat lunak dapat dilakukan, semakin banyak pengujian yang dapat diotomatisasi dan dioptimalkan. Hal ini dapat dilihat dari apakah format input dan output konsisten dan terstruktur. Untuk mode operasi CBC dalam program, enkripsi string menggunakan enkripsi dasar base64_encode dan base64_decode. Sehingga hasil ciphertext-nya konsisten dan terstruktur. Dengan mengontrol ruang lingkup pengujian, masalah dapat dengan lebih cepat diisolas dan pengujian sistem dapat dilakukan kembali secara lebih halus. Sistem dibangun dari modul yang independen dan dapat diuji secara independen. Hasil pengujian sistem dalam modul text maupun file, enkripsi maupun dekripsi, kecepatan kerja sistem sangat dipengaruhi oleh kecepatan kerja prosesor dan besar memory komputer. Kesederhanaan di sini berarti, semakin 41

sedikit yang diuji, semakin cepat sistem dapat diuji. Kesederhanaan fungsi, struktur dan kode. Variabel pengujian masih relatif sederhana, karena hanya terdiri dari: key, plaintext, dan ciphertext. Struktur dan kode program relatif sederhana. Gambaran struktur file sistem adalah sebagai berikut: Toadies Crypt08 Toadies Testing File Image Script Program Script Testing Program File-File Temporar File-File Image Gambar 6 Struktur File Sistem Stabilitas dapat dilihat dari semakin sedikit perubahan, maka semakin sedikit gangguan dalam pengujian. Tujuan sistem sebagai model kriptosistem telah dicapai dengan berjalannya proses enkripsi dan dekripsi text dan file. Pengembangan yang dapat dilakukan dari sisi hardware adalah dengan melakukan implementasi sistem pada spesifikasi hardware yang lebih tinggi. Hal ini adalah untuk peningkatan kapasitas plaintext yang dapat dienkripsi. Semakin besar kapasitas file yang dapat dienkripsi, maka sistem akan semakin useful untuk diterapkan dalam berbagai macam data, sedangkan dari sisi 42

software, peningkatan pada logika program dan sistem dapat dimanipulasi lagi sesuai dengan keinginan pengembang, antara lain: 1. File algoritma utama, yaitu Blowfish.php dapat disederhanakan menjadi satu dengan file mode operasi yang digunakan. 2. Enkripsi dasar yang diterapkan dapat diganti dengan selain base64_encode. 3. Bisa dikembangkan dengan adanya lebih banyak pop-up yang lebih informatif. Penutup Implementasi algoritma Blowfish yang optimal dapat dilakukan dengan aplikasi yang tidak sering berubah-ubah kunci serta tidak menggunakan weak-key. Dalam fungsi F terdapat total 521 iterasi untuk menghasilkan semua subkunci yang dibutuhkan. Aplikasi kemudian dapat menyimpan subkunci ini dan tidak membutuhkan langkah-langkah proses penurunan berulang kali, kecuali kunci yang digunakan berubah. Kunci yang sering berubah akan membutuhkan proses penurunan baru pada iterasi yang panjang, hal ini akan membuat waktu kerja Blowfish lebih panjang, sedangkan penggunaan weak key dapat mengganggu hasil enkripsi dan dekripsi. Weak key membuat hasil enkripsi/dekripsi menjadi tidak konsisten. Tingkat keamanan algoritma Blowfish ditentukan oleh jumlah iterasi dan panjang serta kerahasiaan kunci yang digunakan jumlah iterasi yang digunakan semestinya membuat jaringan feistel pada Blowfish bekerja semestinya (16 iterasi), pengurangan jumlah iterasi akan mengurangi tingkat kesulitan suatu data untuk dipecahkan, sedangkan peran panjang dan kerahasiaan kunci menjadi sangat krusial. Kunci yang panjang menjadi sama tingkat kebutuhannya dengan iterasi yang tidak dikurangi karena proses pembangkitan sub key akan menjadi lebih acak dan membutuhkan waktu lama untuk dipecahkan. Begitu juga dengan kerahasiaan kunci. Jika kunci sudah diketahui oleh pihak yang tidak berkepentingan, maka akan sangat mudah memecahkan ciphertext atau plaintext tanpa attack tertentu sekalipun.. 43

Daftar Pustaka Schneier, Bruce. Applied Cryptography : Protocols, Algorithms, and Source Code in C. USA, John Wiley & Sons, Inc., 1996 Schneier. Bruce. Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish) (http://schneier.com. Diakses 13 januari 2008) Rhee, Man Young. Cryptography and Sesure Communications, Singapore, McGraw-Hill Book Co.1994 Menezes, Alfred J. Paul C. van Oorschot and Scott A. Vanstone. Handbook of Applied Cryptography (http://id.wikipedia.org/ wiki/kriptografi. Diakses 21 Maret 2008) Sunarfrihantono, Bimo. PHP dan MySQL untuk Web, Andi Offset, Yogyakarta. 2002 Ratih, Studi dan Implementasi Algoritma Blowfish Untuk Aplikasi Enkripsi dan Dekripsi File (www.informatika.org/~rinaldi/kriptografi/2006-2007/makalah1/makalah1-077.pdf. Diakses 14 Februari 2008) Syafari, Anjar. Sekilas tentang enkripsi Blowfish (http://ilmukomputer.com/wp-content/uploads/2007/07/anjarenkripsi-blowfish.doc. Diakses 3 Maret 2008) Supani, Ahyar. Sistem keamanan File dan Folder Data Menggunakan algoritma Blowfish dengan Kunci Simetrik (www.cert.or.id/ ~budi/ courses/ el695/projects/report-ahyar.doc. Diakses 3 Maret 2008) Jogiyanto. Analisis & Desain Sistem Informasi: Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis. Andi Offset, Yogyakarta. 2005 Indocisc Pengantar Kriptografi (http://www.cert.or.id/~budi/ courses/ec5010/04-kriptografi.pdf. Diakses 9 Februari 2008) Schneier B. Mode Of DES (www.di-mgt.com.au Diakses 4 Maret 2008) Sommerville, Ian. Software Engineering 7 th Edition. Lancaster University. 2004 44