Sabtu, 10 Januari 2015

PENERAPAN ALGORITMA DES (DATA ENCRYPTION STANDARD) DAN BLOWFISH UNTUK KEAMANAN DATA PADA RANCANGAN APLIKASI NOTE DIARY BERBASIS ANDROID


PENERAPAN ALGORITMA DES (DATA ENCRYPTION STANDARD) DAN BLOWFISH UNTUK KEAMANAN DATA PADA RANCANGAN APLIKASI NOTE DIARY BERBASIS ANDROID

Ade Firmansyah
Teknik Infromatika, Fakultas Teknologi Informasi, Universitas Budi Luhur
Jl. Raya Ciledug, Petukangan Utara, Kebayoran Lama, Jakarta Selatan 12260
Telp. (021) 5853753, Fax. (021) 5866369


ABSTRAK

Menulis diary atau buku harian merupakan menulis ulang kegiatan atau kejadian yang  dialami sehari-hari untuk mengungkapkan perasaan. Fungsi diary adalah sebagai kenangan masa-masa yang pernah kita alami atau sebagai moment/sejarah. Menulis buku harian memang cukup digemari banyak orang, terutama wanita yang memilih buku sebagai tempat mencurahkan perasaan atau menceritakan kejadian setiap harinya. Pada perkembangannya, seluruh orang di dunia juga menjadikan menulis di buku harian suatu kebiasaan maupun kegiatan harian. Namun seiring perkembangan zaman, menulis buku harian pada lembar kertas-kertas semakin ditinggalkan. Hal ini juga dipengaruhi oleh berkembangnya teknologi dimana banyak orang yang sekarang lebih memilih untuk menulis di dalam media sosial hingga blog maupun gadget pribadi dari pada buku atau media kertas. Tetapi dengan menulis di dalam media sosial maka kerahasiaan data tingkatannya sangat lemah, sangat rentan untuk diketahui oleh seseorang. Diary bersifat personal, artinya milik pribadi yang tidak boleh diketahui orang lain jika tidak mendapatkan izin dari pemiliknya.
Tugas akhir ini bertujuan untuk membuat sebuah aplikasi note diary. Aplikasi ini dilengkapi dengan metode enkripsi dan deskripsi sebagai salah satu solusi dari masalah diatas. Enkripsi dilakukan pada proses menyimpan data berupa text, proses ini akan mengubah suatu data asli menjadi data rahasia yang tidak dapat dimengerti kemudian di dimpan ke dalam basis data. Deskripsi dilakukan pada proses membaca data dan kunci yang digunakan ketika menyimpan data tersebut dan menampilkan kembali text yang asli. Algoritma untuk enkripsi dan deskripsi yang digunakan yaitu algoritma DES (Data Encryption Standard)) dan Blowfish.

Kata Kunci : diary, kriptografi, DES, Blowfish, enkripsi, deskripsi



1.        PENDAHULUAN

Perkembangan teknologi informasi dan komunikasi sangat cepat dan pesat. Secara tidak langsung, teknologi informasi telah menjadi bagian penting dari berbagai bidang kehidupan. Seiring dengan kemajuan teknologi informasi maka sangat di perlukan sebuah keamanan data terhadap kerahasiaan informasi yang bersifat pribadi seperti halnya buku diary.
Oleh karena itu untuk penulis membuat note diary berbasis android menggunakan algoritma kriptografi DES (Data Encryption Standard) dan Blowfish untuk proses enkripsi dan dekripsi data agar informasi tersebut dapat terjaga keamanannya.
 DES (Data Encryption Standard) merupakan algoritma cipher blok yang popular karena dijadikan standar algoritma enkripsi kunci-simetri. Sebenarnya DES adalah nama standar enkripsi simetri, nama algoritma enkripsinya sendiri adalah DEA (Data Encryption Algorithm), namun nama DES lebih popular dari pada DEA.
Sedangkan Blowfish merupakan algoritma kunci simetrik cipher blok yang dirancang pada tahun 1993 oleh Bruce Schneier untuk menggantikan DES. Schneier menyatakan bahwa blowfish bebas paten dan akan berada pada domain publik. Dengan pernyataan Schneier tersebut blowfish telah mendapatkan tempat di dunia kriptografi, khususnya bagi masyarakat yang membutuhkan algoritma kriptografi yang cepat, kuat, dan tidak terhalang oleh lisensi.  Dari latar belakang di atas penulis mencoba untuk membuat rancangan keamanan data dengan menggunakan algoritma kriptografi DES dan Blowfish, dengan mengambil judul PENERAPAN ALGORITMA DES (DATA ENCRYPTION STANDARD) DAN BLOWFISH UNTUK KEAMANAN DATA PADA RANCANGAN APLIKASI NOTE DIARY BERBASIS ANDROID”.

Melihat latar belakang diatas dapat dirumuskan suatu permasalahan yang dihadapi, yaitu sebagai berikut:
a.      Bagaimana mengamankan isi diary yang berbentuk teks dari orang yang tidak mempunyai hak akses dengan cara mengimplementasikan dua algortima yaitu algoritma DES (Data Encryption Standard) dan Blowfish ?
b.         Bagaimana mengembalikan data yang sudah dilakukan enkripsi menjadi data awal tanpa mengalami perubahan kata?

 

Agar tidak meluasnya pembahasan, maka diberikan beberapa batasan masalah, yaitu sebagai berikut:
a.         Enkripsi dan dekripsi disini hanya untuk input text.
b.         Algortima kriptografi yang digunakan yaitu algoritma DES (Data Encryption Standard) dan Blowfish.
c.          Bahasa pemrograman yang digunakan yaitu Java.

2.        LANDASAN TEORI

2.1        PENDAHULUAN

 Kata kriptografi berasal dari bahasa Yunani, “kryptós” yang berarti tersembunyi dan “gráphein” yang berarti tulisan. Sehingga kata kriptografi dapat diartikan berupa frase “tulisan tersembunyi”. Menurut Request for Comments (RFC), kriptografi merupakan ilmu matematika yang berhubungan dengan transformasi data untuk membuat artinya tidak dapat dipahami (untuk menyembunyikan maknanya), mencegahnya dari perubahan tanpa izin, atau mencegahnya dari penggunaan yang tidak sah. Jika transformasinya dapat dikembalikan, kriptografi juga bisa diartikan sebagai proses mengubah kembali data yang terenkripsi menjadi bentuk yang dapat dipahami. Artinya, kriptografi dapat diartikan sebagai proses untuk melindungi data dalam arti yang luas (Oppliger, 2005)[1].
 Dalam kamus bahasa Inggris Oxford diberikan pengertian kriptografi sebagai berikut :
“ Sebuah teknik rahasia dalam penulisan, dengan karakter khusus, dengan mengguanakan huruf dan karakter di luar bentuk aslinya, atau dengan metode-metode lain yang hanya dapat dipahami oleh pihak-pihak yang memproses kunci, juga semua hal yang ditulis dengan cara seperti ini.”
Jadi, secara umun dapat diartikan sebagai seni menulis atau memecahkan cipher (Talbot dan welsh, 2006)[2].
 Menezes, Oorschot dan Vanstone (1996) [3] menyatakan bahwa kriptografi adalah suatu studi teknik matematika yang berhubungan dengan aspek keamanan informasi seperi kerahasiaan, integritas data, otentikasi entitas dan otentikasi keaslian data. Kriptografi tidak hanya berarti penyediaan keamanan informasi, melainkan sebuah himpunan teknik-teknik.

2.2 SEJARAH KRIPTOGRAFI

Kriptografi mempunyai sejarah yang panjang dan menakjubkan. Informasi yang lengkap mengenai sejarah kriptografi dapat ditemukan di dalam buku David Kahn yang berjudul The Codebreakers. Buku yang tebalnya 1000 halaman ini menulis secara rinci sejarah kriptografi mulai dari penggunaan kriptografi oleh Bangsa Mesir 4000 tahun yang lalu (berupa hieroglyph yang terdapat pada piramid) hingga penggunaan kriptografi pada abad ke-20.
Secara historis ada empat kelompok yang berkontribusi terhadap perkembangan kriptografi, dimana mereka menggunakan kriptografi untuk menjamin kerahasiaan dalam komunikasi pesan penting, yaitu kalangan militer (termasuk intelijen dan mata-mata), kalangan diplomatik, penulis buku harian, dan pencinta (lovers). Di antara keempat kelompok ini, kalangan militer yang memberikan kontribusi paling penting karena pengiriman pesan di dalam suasana perang membutuhkan teknik enkripsi dan dekripsi yang rumit.
Kriptografi juga digunakan untuk tujuan keamanan. Kalangan gereja pada masa awal agama Kristen menggunakan kriptografi untuk menjaga tulisan relijius dari gangguan otoritas politik atau budaya yang dominan saat itu. Mungkin yang sangat terkenal adalah “Angka si Buruk Rupa (Number of the Beast) di dalam Kitab Perjanjian Baru. Angka “666” menyatakan cara kriptografi (yaitu dienkripsi) untuk menyembunyikan pesan berbahaya, para ahli percaya bahwa pesan tersebut mengacu pada Kerajaan Romawi.
Di India, kriptografi digunakan oleh pencinta (lovers) untuk berkomunikasi tanpa diketahui orang. Bukti ini ditemukan di dalam buku Kama Sutra yang merekomendasikan wanita seharusnya mempelajari seni memahami tulisan dengan cipher. Pada Abad ke-17, sejarah kriptografi mencatat korban ketika ratu Skotlandia, Queen Mary, dipancung setelah surat rahasianya dari balik penjara (surat terenkrpsi yang isinya rencana membunuh Ratu Elizabeth I) berhasil dipecahkan oleh seorang pemecah kode (Munir, 2006)[4].
Seperti yang telah disebutkan di atas bahwa kriptografi umum digunakan di kalangan militer. Pada Perang Dunia ke II, Pemerintah Nazi Jerman membuat mesin enkripsi yang dinamakan Enigma. Mesin yang menggunakan beberapa buah rotor (roda berputar) ini melakukan enkripsi dengan cara yang sangat rumit. Namun Enigma cipher berhasil dipecahkan oleh pihak Sekutu dan keberhasilan memecahkan Enigma sering dikatakan sebagai faktor yang memperpendek perang dunia ke-2 (Churchhouse, 2004) [5].
Dimulai dari usaha Feistel dari IBM di awal tahun 70-an dan mencapai puncaknya pada 1977 dengan pengangkatan DES (Data Encryption Standard) sebagai standar pemrosesan informasi federal Amerika Serikat untuk mengenkripsi informasi yang belum diklasifikasi. DES merupakan mekanisme kriptografi yang paling dikenal sepanjang sejarah.
Pengembangan paling mengejutkan dalam sejarah kriptografi terjadi pada 1976 saat Diffie dan Hellman mempublikasikan ”New Directions in Cryptography”. Tulisan ini memperkenalkan konsep revolusioner kriptografi kunci publik dan juga memberikan metode baru untuk pertukaran kunci, keamanan yang berdasar pada kekuatan masalah logaritma diskret. Meskipun Diffie dan Hellman tidak memiliki realisasi praktis pada ide enkripsi kunci publik saat itu, idenya sangat jelas dan menumbuhkan ketertarikan yang luas pada komunitas kriptografi.
Pada 1978 Rivest, Shamir dan Adleman menemukan rancangan enkripsi kunci publik yang sekarang disebut RSA. Rancangan RSA berdasar pada masalah faktorisasi bilangan yang sulit, dan menggiatkan kembali usaha untuk menemukan metode yang lebih efisien untuk pemfaktoran. Tahun 80-an terjadi peningkatan luas di area ini, sistem RSA masih aman. Sistem lain yang merupakan rancangan kunci publik ditemukan oleh Taher ElGamal pada tahun 1984. Rancangan ini berdasar pada masalah logaritma diskret.
Salah satu kontribusi penting dari kriptografi kunci publik adalah tanda tangan digital. Pada 1991 standar internasional pertama untuk tanda tangan digital diadopsi. Standar ini berdasar pada rancangan kunci publik RSA. Pada 1994 pemerintah Amerika Serikat mengadopsi Digital Signature Standard, sebuah mekanisme kriptografi yang berdasar pada algoritma ElGamal

2.3      SKEMA ENKRIPSI KUNCI SIMETRIK

Dalam sistem kriptografi skema enkripsi kunci simetrik, kunci yang digunakan untuk proses enkripsi dan proses dekripsi adalah sama atau simetrik. Suatu  plaintext dienkripsi dengan menggunakan suatu algoritma dan kunci sehingga dihasilkan suatu chipertext. Kemudian chipertext tersebut disimpan atau dikirim ke pihak lain. Selanjutnya untuk mendapatkan kembali plaintext dari chipertext dengan menggunakan algoritma dan kunci yang sama.
Karena kuncinya sama, ketika data atau informasi digunakan untuk dua atau lebih pengguna, maka masing-masing pengguna yang berkepentingan terlebih dahulu harus setuju terhadap algoritma dan kunci yang digunakan. Setiap pengguna yang terlibat harus saling menaruh kepercayaan untuk tidak membocorkan kunci yang telah disepakati.
Dalam aplikasinya, skema kunci simetrik akan efektif jika pihak pengguna terbatas, namun menjadi tidak efektif ketika pihak pengguna telalu banyak. Ketika pihak pengguna telalu banyak, diperlukan produksi kunci yang banyak pula untuk di distribusikan ke masing-masing pengguna.
Kunci yang dihasilkan oleh suatu sistem manajemen kunci. Manajemen dan distribusi kunci merupakan persoalan yang paling utama ketika skema enkripsi simetrik digunakan oleh pihak begitu banyak, karena tingkat keamanannya menjadi sangat menurun. Beberapa kelemahan yang terdapat pada skema enkripsi simetrik adalah:
1)         Kunci harus terdistribusi dengan aman.
2)         Jika kunci hilang atau dapat diketahui atau ditebak oleh pihak yang tidak berhak, sistem kriptografi ini tidak aman lagi.
3)         Jika ada n pengguna maka dibutuhkan jumlah kunci sebanyak n(n-1)/2 kunci. Untuk jumlah yang besar sistem kriptografi ini menjadi tidak efisien lagi, sebagai contoh : jika ada 1000 pengguna maka dibutuhkan jumlah kunci kira-kira sebanyak 500.000 kunci untuk diubah dan dipelihara secara aman.

Keuntungan dari skema  enkripsi kunci simetrik ini adalah lebih cepat dalam melakukan prosesnya dibandingkan terhadap skema kunci asimetrik. Keuntungan inilah yang menjadi alasan mengapa skema ini masih banyak digunakan sekalipun diakui kurang aman dibandingkan dengan kunci asimetrik.
Contohnya skema enkripsi kunci simetrik antara lain : DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm), FEAL, RC5.

Gambar 2.1


Model Kriptografi Simetrik


2.4      SKEMA ENKRIPSI KUNCI ASIMETRIK

Dalam kriptografi skema kunci simetrik, semua pihak pengguna mengetahui dan menggunakan kunci yang sama, yang digunakan untuk keperluan enkripsi dan dekripsi. Sebagaimana telah disebutkan pada bagian sebelumnya skema ini memiliki persoalan mendasar dalam manajemen kuncinya untuk memecahkan masalah ini, Whitfield Diffie dan Martin Hellman memperkenalkan konsep kriptografi kunci publik (kunci asimetrik) pada tahun 1976
Sistem kriptografi kunci publik mempunyai dua penggunaan utama, yaitu untuk enkripsi dekripsi dan tanda tangan digital (digital signature). Dalam sistem ini, digunakan sepasang kunci, kunci pribadi (private key), dan kunci publik dipublikasikan untuk umum sedangkan kunci pribadi dijaga kerahasiaannya oleh pemilik kunci.
Hubungan antara kunci publik dan kunci pribadi merupakan fungsi satu arah (one way function). Seseorang dapat mengirim sebuah pesan rahasia dengan hanya menggunakan kunci publik tetapi pesan ciphertext hanya dapat didekripsi dengan kunci pribadi oleh penerima pesan. Kriptografi kunci publik dapat digunakan tidak hanya untuk enkripsi tetapi juga untuk autentifikasi (digital signature), dan beberapa teknik yang lain.

Gambar 2.2

Model Kriptografi Asimetrik


Pada gambar diatas diperlihatkan skema enkripsi kunci publik. Suatu plaintext dienkripsi dengan menggunakan suatu kunci publik sehingga dihasilkan suatu ciphertext, kemudian ciphertext tersebut disimpan atau dikirim kepihak lain, untuk mendapatkan kembali plaintext dari ciphertext yang disimpan atau diterima dilakukan proses dekripsi terhadap ciphertext dengan menggunakan kunci pribadi.
Sistem kriptografi yang menggunakan kunci publik : RSA, Elgamal, Rabin, DSA.

3.        RANCANGAN SISTEM DAN APLIKASI

Penulis membuat aplikasi note diary berbasis android menggunakan algoritma kriptografi DES (Data Encryption Standard) dan Blowfish untuk proses enkripsi dan dekripsi data agar informasi tersebut dapat terjaga kerahasiaannya. Data Encryption Standard (DES) merupakan algoritma cipher blok yang popular karena dijadikan standar algoritma enkripsi kunci-simetri. Agar lebih fleksibel, aplikasi ini dibuat hanya untuk data berjenis teks.Selain itu aplikasi ini dibuat sangat sederhana agar mudah digunakan dan mudah dipahami oleh pengguna. Dapat dilihat pada gambar 3.1 dibawah ini, rich picture penerapan pengamanan datadiary di smartphone atau tablet Android.

Gambar 3.1

Rich Picture Penerapan Pengamanan Data Aplikasi Diary


3.1      PERANCANGAN PROGRAM

Program yang dibuat terdiri dari enam form, yaitu form menu utama, form create new, form list view, form about, form help, dan form read.
Untuk menulis diary, user harus masuk terlebih dahulu masuk ke menu form create new. Kemudian user baru bisa membuat sebuah tulisan atau catatan. Setelah tulisan dibuat, user harus menginput kunci untuk proses enkripsi menggunakan algoritma DES (Data Encryiption Standard) dan Blowfish. Setelah itu data akan disimpan ke dalam basis data berupa hasil text hasil enkripsi.
Untuk membaca diary, user harus masuk terlebih dahulu ke menu listview. Kemudian user harus meng-klik catatan diary yang ingin dibaca, Selanjutnya user harus menginput key yang digunakan dalam proses enkripsi untuk proses dekripsinya. Kemudian data text asli akan ditampilkan kembali ke dalam menu create new.

Gambar 3.2

Alur Rancangan Program


3.2      MODEL DATA RELATIONAL

Tabel 3.1 : Tabel Diary

Date
Topic
Body
Key





3.3    SPESIFIKASI BASIS DATA DIARY

Nama File             : diary
Media                   : SQLite
Isi                            : Berisi tentang data pengguna
Primary Key         : Tittle
Struktur                 :

Tabel 3.2 : Struktur Tabel Diary

Nama Field
Tipe
Panjang
Keterangan
Date
Date
-
Tanggal Catatan
Topic
Varchar
50
Judul Catatan
Body
Memo
500
Deskripsi Catatan
Key
Varchar
8
Kunci


3.4    FLOWCHART SISTEM ALGORITMA DATA ENCRYPTION STANDARD (DES)

Sistem algoritma data encryption standard (DES) ini terdapat tiga proses utama, yaitu proses inisialisasi kunci internal untuk setiap iterasi, proses enkripsi plaintext menjadi chipertext dan proses dekripsi chipertext menjadi plaintext.

Gambar 3.20

Flowchart Proses Enkripsi Data Encryption Standard (DES)



Gambar 3.21 merupakan proses dekripsi algoritma DES (Data Encryption Standard)

Gambar 3.21

Flowchart Proses Dekripsi  Data Encryption Standard (DES)


3.5      FLOWCHART SISTEM ALGORITMA BLOWFISH

Gambar 3.22

Flowchart Proses Enkripsi  Blowfish



Gambar 3.23

Flowchart Proses Dekripsi  Blowfish


4.        HASIL DAN PEMBAHASAN

4.1      TAMPILAN DATABASE HASIL PENYIMPANAN CATATAN
Tampilan di bawah ini adalah tampilan hasil penyimpanan catatan yang ada dalam database. Hasil penyimpanan berupa teks yang telah terenkripsi.


Gambar 4.7

Tampilan Database Hasil Penyimpanan Catatan


4.2      ANALISA PROSES ENKRIPSI

Analisa proses Enkripsi merupakan teks yang akan di enkirpsi dari plaintext menjadi ciphertext.
Tabel 4.1 : Tabel Percobaan Enkripsi



4.3      ANALISA PROSES DEKRIPSI

Analisa proses dekripsi merupakan hasil teks yang telah di dekripsi dari chipertext ke plaintext.

Tabel 4.2 : Tabel Percobaan Dekripsi


Dari hasil percobaan terhadap proses enkripsi dan dekripsi yang telah dilakukan, dapat diambil kesimpulan yaitu : aplikasi dapat melakukan semua proses dengan baik. Semua teks yang telah di input dapat di dekripsi kembali tanpa mengalami perubahan sedikitpun.

5.        KESIMPULAN
Berdasarkan analisa dan penyelesaian masalah pada bab-bab sebelumnya, maka dapat ditarik kesimpulan sebagai berikut:
a.          Aplikasi Note Diary dapat mengamankan isi diary berbentuk teks dengan menggunakn algoritma DES (Data Encryption Standard) dan Blowfish.
b.         Aplikasi ini dapat mengembalikan data dengan baik tanpa mengalami perubahan.

Pengamanan data dengan algoritma DES (Data Encryption Standard) dan Blowfish pada rancangan aplikasi Note Diary ini masih memiliki banyak kekurangan dan diperlukan pengembangan lebih lanjut guna mencapai hasil pengamanan yang maksimal. Berikut ini saran yang dijadikan referensi untuk pengembangan pengamanan data pada aplikasi Note Diary selanjutnya :
a.         Melakukan kombinasi dengan algoritma lain.
b.         Mengimplementasikan dengan bahasa pemrograman yang lain.
c.          Menambah fitur seperti gambar, video, dan sebagainya.


DAFTAR PUSTAKA

[1] Oppliger, Rolf. 2005. Contemporary Cryptography. USA : Artech House, Inc.

[2] Talbot, Jhon dan Dominic Welsh. 2006. Complexity and Cryptography. USA : Cambridge University Press

[3] Menezes, Oorcshot, and Vanstone. 1996. Handbook of Applied Cryptography. USA : CRC Press, Inc.

[4] Munir, Rinaldi. 2006. Kriptografi. Bandung : Informatika.

 [5]         Churchhouse, Robert. 2004. Codes and Ciphers. USA : Cambridge University Press




Download aplikasi NoteDiary.apk nya Disini