Anda di halaman 1dari 8

IMPLEMENTASI ENKRIPSI DATA DENGAN ALGORITMA BLOWFISH MENGGUNAKAN JAVA PADA APLIKASI EMAIL

Apriyanti E Pratiwi
Orangeby_caramel@yahoo.com

Kemas Muslim Lhaksmana


kmm@politekniktelkom.ac.id

Setia Juli Rizal


jul@politekniktelkom.ac.id @politekniktelkom.ac.id

Program Studi Teknik Komputer Politeknik Telkom Bandung 2011

ABSTRAK Email merupakan salah satu media komunikasi yang berupa surat dalam bentuk elektronik. Email banyak digunakan untuk melakukan pertukaran pesan. Hal ini disebabkan pengiriman yang lebih cepat karena terhubung pada jaringan internet. Penggunaan jaringan internet ini memberikan pengaksesan yang mudah bagi user. Akibat dari kemudahan tersebut menimbu menimbulkan lkan masalah keamanan dalam penggunaan aplikasi. Pesan atau dokumen yang dilampirkan akan rentan terhadap kasus pencurian data, manipulasi data, dan kejahatan lainnya yang dilakukan oleh kriptanalis. Kriptografi menyediakan algoritma untuk mengatasi masalah h tersebut. Salah satunya adalah algoritma blowfish yang dapat digunakan untuk mengamankan data pada aplikasi email. Algoritma blowfish menggunakan kunci simetris sehingga lebih cepat dalam proses enkripsi dan dekripsi data. Algoritma blowfish dapat ditera diterapkan pkan untuk aplikasi email karena dapat berjalan rjalan pada jalur komunikasi atau enkripsi file otomatis. Pada aplikasi ini, algoritma blowfish digunakan untuk proses enkripsi dan dekripsi dokumen pada email. Proses enkripsi dan dekripsi data dilakukan terhadap dokumen okumen yang dilampirkan oleh user. Implementasi aplikasi ini diharapkan dapat mengamankan data dengan proses enkripsi sehingga, pengiriman pesan dengan email menjadi lebih aman. Pada aplikasi ini, proses enkripsi dan dekripsi menggunakan key yang telah disepakati epakati oleh kedua belah pihak. Proses pertukaran kunci dilakukan secara manual. Kata kunci : email, kriptografi, kriptanalis, blowfish, kunci simetris

PENDAHULUAN

Bagaimana mengamankan aplikasi email dalam proses pertukaran data ? 1.2 Tujuan Tujuan dalam penyusunan makalah proyek akhir ini adalah : Membangun suatu aplikasi enkripsi data pada email dengan menggunakan algoritma Blowfish sehingga tingkat keamanan file atau data pada proses pertukaran pesan lebih terjaga pada aplikasi email. 1.3 Batasan Masalah Batasan masalah pada penyusunan makalah proyek akhir sebagai berikut : 1. Mail server yang digunakan adalah HMail Server 2. Enkripsi dan dekripsi data dilakukan pada sisi client 3. Algoritma yang digunakan menggunakan source code yang telah tersedia pada media library java 4. Mail Client dibangun dengan menggunakan Java Mail API 5. Enkripsi dan dekripsi data hanya dilakukan pada dokumen berformat .doc 1.5 Metodologi Penelitian Dalam pengerjaan Proyek Akhir ini menggunakan suatu metode untuk mendapatkan hasil yang maksimal. Dalam hal ini penulis merencanakan suatu langkah-langkah yang dapat memaksimalkan pengerjaan Proyek Akhir ini. Rancangan metodologi Proyek Akhir yang akan dibuat adalah sebagai berikut : 1. Studi Literatur Langkah awal dari pengerjaan Proyek Akhir yaitu antara lain sebagai berikut : a. Mencari referensi atau sumbersumber informasi dan data yang dijadikan panduan dalam pembuatan aplikasi dengan menggunakan algoritma Blowfish b. Mempelajari cara mengimplementasikan algoritma Blowfish dengan menggunakan bahasa pemrograman java sehingga

1.1 Latar Belakang Pemanfaatan jaringan internet pada aplikasi email memberikan kemudahan dalam pengaksesannya. Penggunaan email merupakan salah satu media komunikasi yang banyak digunakan saat ini. Email banyak digunakan sebagai media komunikasi oleh perusahaan-perusahaan, instansi ataupun lembaga digunakan untuk mengirimkan informasi yang bersifat rahasia. Pemanfaatan jaringan Internet pada email mengakibatkan timbulnya masalah dalam hal keamanan. Adanya kemudahan dalam pengaksesan memberikan celah bagi pihak yang tidak berkepentingan (penyusup) untuk mencuri informasi, memanipulasi data, atau bahkan melakukan pengerusakan terhadap data. Metode kriptografi merupakan salah satu metode yang digunakan untuk meningkatkan keamanan data. Kriptografi menggunakan algoritma dalam melakukan proses enkripsi dan dekripsi data. Algoritma blowfish merupakan salah satu algoritma enkripsi data yang dapat digunakan untuk mengamankan data pada aplikasi email. Sehingga, data pada aplikasi email lebih terjaga keamanannya. Algoritma blowfish termasuk dalam algoritma simetris, sehingga proses enkripsi dan dekripsi lebih cepat karena menggunakan kunci yang sama. Dalam Proyek Akhir ini akan mengimplementasikan algoritma Blowfish untuk aplikasi enkripsi dan dekripsi dokumen pada email. Algoritma Blowfish ini dapat diterapkan dimana penggunaaan kunci tidak berubah seperti jalur komunikasi atau enkripsi file otomatis [6]. 1.2 Rumusan Masalah Rumusan masalah pada penyusunan makalah proyek akhir ini adalah sebagai berikut :

2.

3.

4.

dapat diterapkan pada aplikasi email Perancangan Sistem yang akan Dibuat Pada tahap ini dilakukan analisis kebutuhan sistem mulai dari kebutuhan software dan hardware. Kebutuhan sistem harus compatible dengan aplikasi yang akan dibuat. Selanjutnya, merancang desain sistem yang ingin dibuat mulai dari perancangan sistem antar muka sampai dengan rancangan penerapan enkripsi yang dilakukan pada sisi server. Implementasi Pada tahap ini langkah yang dilakukan adalah dengan melakukan instalasi software yang digunakan sebagai tools dalam pembuatan aplikasi enkripsi ini. Algoritma Blowfish yang digunakan selanjutnya diterapkan pada bahasa pemrograman java. Bahas pemograman java ini juga tidak hanya digunakan untuk enkripsi pada juga tampilan GUI dari sisi client Pengujian Alat yang akan Dibuat Setelah proses pengerjaan selesai, selanjutnya melakukan pengujian dari aplikasi yang dibuat. Pengujian ini dilakukan dengan menjalankan aplikasiaplikasi enkripsi yang telah dibuat Analisa Terhadap Kinerja Alat Langkah selanjutnya adalah menganalisa kinerja dari aplikasi yang dibuat. Proses analisa dilakukan dengan mencari kelebihan dan kelemahan dari aplikasi yang telah dibuat. Pada tahap ini dilakukan analisa apakah aplikasi yang telah dibuat sesuai dengan konsep dan fungsi yang diinginkan dalam pembuatan perancangan aplikasi ini Pembuatan Laporan Tugas Akhir Pembuatan laporan merupakan langkah akhir dari pengerjaan Proyek Akhir ini. Pembuatan laporan ini berisi dari latar belakang dari permasalahan yang dibahas sampai pada bagian penyeselesaian makalah tersebut

dalam hal ini yaitu dengan membuat aplikasi. 2. TINJAUAN PUSTAKA 2.1 Algoritma Blowfish Blowfish merupakan enkripsi yang menggunakan algoritma simetris yang tergolong ke dalam algoritma cipher blok. Algoritma Blowfish ini dikembangkan oleh Bruce Schneier pada tahun 1993 untuk menggantikan algoritma DES. Algoritma ini juga tidak dipatenkan sehingga semua orang dapat dengan bebas menggunakan algoritma Blowfish ini untuk mengamankan data. [6] Blowfish dirancang untuk memenuhi kriteria sebagai berikut : [5] 1. Cepat, pada implementasi yang optimal Blowfish dapat mencapai kecepatan 26 clock cycle per byte 2. Kompak, Blowfish dapat berjalan pada memori kurang dari 5 KB Blowfish hanya 3. Sederhana, menggunakan operasi yang simple, yaitu penambahan (addition), XOR, dan penelusuran tabel (table lookup) pada operand 32 bit. Desainnya mudah untuk dianalisa yang membuatnya resissten terhadap kesalahan implementasi 4. Keamanan yang variabel, panjang kunci Blowfish dapat bervariasi dan dapar mencapai 448 bit (56 byte) Algoritma Blowfish menggunakan kunci yang sama untuk proses enkripsi dan dekripsi data dengan membagi pesan ke dalam blok-blok dengan ukuran yang sama panjang. Algoritma Blowfish terdiri dari dua bagian yaitu proses ekspansi kunci (key expansion) dan proses enkripsi dan dekripsi data. Key Expansion Pengekspansian kunci dilakukan pada awal yang berfungsi untuk mengubah kunci dengan masukan sebuah kunci dengan panjang 32 bit hingga 448 bit, menjadi beberapa array subkunci dengan total 4168 byte.

5.

6.

Enkripsi dan Dekripsi Data Proses enkripsi dan dekripsi data ini memanfaatkan perulangan sebanyak 16 kali yang terjadi pada jaringan Feistel. Setiap perulangan terdiri dari permutasi dengan masukan kunci dan substitusi data. Semua operasi dilakukan dengan memanfaatkan operator XOR dan operator penambahan. Prinsip kerja jaringan Feistel ini yaitu blok menjadi dua bagian yang sama besar. 2.1 Proses Enkripsi dan Dekripsi Data Pada proses enkripsi data, plaintext yang akan dienkripsi diasumsikan sebagai inputan. Inputnya adalah (X) element data 64 bit. Untuk mengenkripsi (X) sebagai berikut : [5] 1. Plaintext yang akan dienkripsi diasumsikan sebagai masukan (X). Plaintext tersebut diambil sebanyak 64 bit dan apabila kurang dari 64 bit maka ditambahkan hingga dalam operasi nanti sesuai dengan datanya 2. Hasil pengambilan tadi dibagi dengan 2 sehingga masing-masing bernilai 32 bit. Pada 32 bit pertama disebut dengan XL dan 32 bit kedua disebut dengan XR 3. Selanjutnya lakukan operasi XL = XL XOR Pi dan XR = F(XL) XOR XR 4. Hasil dari operasi diatas tersebut ditukar dengan XL menjadi XR dan XR menjadi XL 5. Lakukan sebanyak 16 kali, pada perulangan ke-16 lakukan kembali proses pertukaran XL dan XR 6. Pada proses ke-17 lakukan operasi untuk XR = XR XOR P17 dan XL = XL XOR P16 7. Pada proses terakhir yaitu ke-18, satukan kembali XL dan XR sehingga menjadi 64 bit kembali Dalam algoritma Blowfish, proses dekripsi sama dengan proses enkripsi perbedaannya hanya terletak pada urutan penggunaan subkunci. Pada proses dekripsi urutan subkunci menjadi terbalik yaitu P18, P17, P16,, P1

3.

ANALISIS KEBUTUHAN DAN PERANCANGAN

3.1 Kebutuhan Perangkat Keras Tabel 3.1 Kebutuhan Perangkat Keras NAMA Spesifikasi 1. Laptop RAM 1 GB ACER DDR 3 Aspire Hard Disk 4741z 320 GB sebagai server 2. Laptop HP RAM 1 GB 5312 DDR3 Hard DISK 120 GB 3. Kabel LAN Panjang 1 meter

3.2 Kebutuhan Perangkat Lunak Tabel 3.2 Perangkat Lunak TIPE 1. Windows 7 Versi ultim ate 5.2.1

NAMA

JENI OS

2.

hMailServer

3.

Simple DNS Plus Netbeans

5.1

4.

6.9.1

Mail Serv er DNS Serv er IDE

3.3. Desain Sistem

4. Dokumen terenkripsi kemudian dikirim.

yang

dilampirkan

3.4.2 Skenario Pengujian Penerimaan dan Dekripsi Dokumen 1. User penerima akan melakukan login untuk proses autentikasi. Jika benar user penerima dapat masuk pada menu utama sistem 2. User menerima pesan dan kemudian mengunduh dokumen terenkripsi yang dilampirkan 3. Untuk mengunduh dokumen, user penerima harus memasukkan password yang sama dengan password yang digunakan oleh user pengirim. Jika password benar maka dokumen dapat terunduh dan dokumen dapat terdekripsi dengan sempurna 4. IMPLEMENTASI DAN PENGUJIAN

Gambar 3.1 Perancangan proses enkripsi data pada email Dalam proyek akhir ini akan dibuat sebuah aplikasi enkripsi data pada email dimana sistem ini akan dibangun pada sisi client. Proses enkripsi dan dekripsi data akan dilakukan oleh user. Setiap client memiliki kunci yang sama untuk melakukan enkripsi maupun dekripsi data. Pada client sisi pengirim akan mengirimkan pesan yang telah dienkripsi dengan kunci tertentu. Selanjutnya, client sisi penerima akan menerima pesan yang terenkripsi. Untuk proses dekripsi juga menggunakan kunci yang sama untuk proses enkripsi yang digunakan oleh client sisi pengirim. 3.4 Skenario Pengujian 3.4.1 Skenario Pengujian Pengiriman dan Enkripsi Data 1. User melakukan proses login dengan memasukkan username dan password untuk autentikasi user. Jika username dan password valid maka user akan masuk pada menu utama sistem. 2. Pada menu utama user dapat melakukan pengiriman pesan. User melampirkan dokumen yang akan dikirimkan ke user penerima. Dokumen yang dilampirkan merupakan dokumen terenkripsi 3. User memasukkan password untuk melakukan enkripsi dokumen selanjutnya dokumen akan dienkripsi dan dilampirkan

4.1 Interface Program Sistem dibangun berdasarkan algoritma yang sudah ada. Untuk tampilan email client menggunakan bahasa pemograman java mail API. Sedangkan, untuk algoritma blowfish menggunakan yang telah tersedia pada media library java. Aplikasi ini dapat digunakan oleh user yang sering melakukan pengiriman pesan yang bersifat rahasia. Form login merupakan tampilan utama ketika program dijalankan. Form ini digunakan untuk mengecek user yang dapat menggunakan program. Pada form login ini juga tersedia untuk setting koneksi.

Gambar 4.1 Login dan Koneksi

Form utama merupakan tampilan awal pada saat user telah melakukan login. Pada form ini user dapat mengirimkan pesan, membalas dan meneruskan pesan, serta menghapus dan mengunduh pesan jika ada dokumen yang dilampirkan oleh pengirim.

4.2 Hasil Pengujian 4.2.1 Hasil Pengujian Pengiriman dan Enkripsi Dokumen Tabel 4.1 Hasil Pengujian Pengiriman dan Enkripsi Dokumen

Gambar 4.2 Form Menu Utama Form tampilan pesan merupakan tampilan menu untuk mengirimkan pesan. Pada form ini user melampirkan dokumen yang telah terenkripsi. User juga dapat menuliskan pesan berupa teks pada body pesan.

Gambar 4.3 Form Tampilan Pesan Baru Form key merupakan program yang digunakan untuk memasukkan inputan berupa password sebagai kunci untuk melakukan proses enkripsi dan dekripsi data. Setelah user memasukkan password maka proses enkripsi atau dekripsi terjadi untuk dokumen yang dilampirkan.

4.2.2 Hasil Pengujian Penerimaan dan Dekripsi Dokumen Tabel 4.2 Hasil Pengujian Penerimaan dan Dekripsi Dokumen

Gambar 4.4 Form Key

5. PENUTUP 5.1 Kesimpulan 1. 2. Aplikasi enkripsi data dengan menggunakan algoritma blowfish telah berhasil dibuat untuk aplikasi email Aplikasi berhasil melakukan enkripsi dengan mengubah dokumen berformat .doc atau .docx ke dalam dokumen terenkripsi dengan format .enc sehingga isi dokumen tidak dapat terbaca Aplikasi telah berhasil mengubah kembali dokumen yang terenkripsi ke dokumen aslinya. Isi dokumen tetap sama tidak berubah dari dokumen aslinya.

[5] http: //computersecurity/ metode-enkripsiblowfish.html [2011, April 15] [6] http: //en.wikipedia.org/ wiki/ blowfish (chiper) [2011, April 20] [7] Iray (2011). Sejarah AES [ONLINE]. Tersedia: http: // cryptata. blogspot. Com / 2011/ 05/ sejarah-aes.html [ 2011, Mei 23] [8] Setiawan, Deris. 2005. Sistem Keamanan Komputer. Jakarta: Elex Media Komputindo [9] Yulia- Zone (2011). Enkripsi Modern (Simetris, Asimetris, MD5, SSL, PGP) [ONLINE]. Tersedia: http:// yuliazone.blogspot.com/ 2011/ 04/ enkripsi-modern-simetrisasimetrismd.html]

3.

5.2 Saran Aplikasi enkripsi data pada email ini masih banyak kekurangannya sehingga diharapkan kedepannya sistem aplikasi ini lebih berkembang. Terutama pada fungsionalitas dari aplikasi enkripsi itu sendiri tidak terbatas hanya pada saat melakukan pengiriman pesan melalui email tapi juga dapat dilakukan pada saat chatting. Data yang menjadi inputan untuk enkripsi diharapkan tidak lagi sebatas dokumen berformat .doc dan .docx.

4.

REFERENSI

[1] Anang Sularso & Nina Hendrarini.2009. Network Security. Bandung: Politeknik Telkom [2] Anonim. 2003. Memahami Model Enkripsi & Security Data. Yogyakarta: Andi [3] Aryus, Doni. 2008. Pengantar Kriptografi. Yogyakarta: Andi [4] Aryus, Doni. Yogyakarta: Andi 2009.Komunikasi Ilmu

Data.

LAMPIRAN

Anda mungkin juga menyukai