Penerapan Sistem Penyandian Pesan Teks , Gambar dan Suara
Pada Aplikasi Berbasis Android
NASKAH PUBLIKASI
diajukan oleh
Muhammad Farvidia Al Idrus
12.11.6582
kepada
JURUSAN TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
YOGYAKARTA
2015
1
Penerapan Sistem Penyandian Pesan Teks , Gambar dan Suara
Pada Aplikasi Berbasis Android
Muhammad Farvidia Al Idrus
1), Rum Muhamad Andri
2) 1, 2)Teknik Informatika STMIK AMIKOM Yogyakarta Jl Ring road Utara, Condongcatur, Sleman, Yogyakarta 55281
Email : [email protected] 1), [email protected]2)
Abstrak – The large number of misuse of data and information to cause harm by certain parties. One way to avoid data theft or data chages are how to encrypt the data by using thecrytographic algorithms before through network traffic and in Decryption following up on purpose. Encryption is of safe guarding data on send so awake in strict confidence. Original messege called plaintext (plain-text), which in trun into codes that are not in the understand. While the Decryption is the reverse of encryption. The messege that has been encrypted in the return to the original.
This application serves to encode a message that is considered confidential, and can only be unlocked (decrypted) by the person concerned and the intended recipients. Applications created by using a Blowfish algorithm for encoding messages, picturs and sound.
Keywords: Cryptography, blowfish, encryption, decryption
1. Pendahuluan
Pada zaman teknologi informasi, suatu pesan atau informasi merupakan suatu aset yang sangat berharga dan harus di lindungi. Kemajuan teknologi informasi membantu semua aspek kehidupan manusia. Dari hal yang kecil dan sederhana sampai hal yang sangat rumit sekalipun. Contoh dari kemajuan teknologi informasi yang paling nyata yang dapat di gunakan oleh semua orang adalah kecepatan dalam menyampaikan pesan dari tempat yang jauh. Merupakan fasilitas yang di tawarkan oleh kemajuan teknologi. Rupa pesan pun semakin bermacam-macam, seperti teks, gambar, suara, video, ataupun tabel [1].
Disadari atau tidak, tren aplikasi perangkat bergerak(mobile application) maju begitu pesatnya, mulai dari telephone cerdas (smartphone), tablet, sampai TV cerdas (smart TV). Pada masa kini mobilitas
seseorang yang cepat berdampak pula pada mobilitas aplikasi serta perangkat pendungkungnya sehingga menyebabkan aplikasi bergerak terus meningkat perkembangannya. Seiring dengan semakin canggihnya perangkat keras yang mendukung aplikasi tersebut termasuk sistem operasi pada perangkat bergerak adalah android. Android adalah sistem operasi bergerak (mobile
operating system) yang mengadopsi sistem operasi
Linux, namun telah di modifikasi. Di samping itu produsen perangkat keras juga dapat menambahkan
ekstension-nya sendiri ke dalam Android mereka sesuai
kebutuhan produk mereka. Keuntungan utama dari Android adalah adanya pendekatan aplikasi secara terpadu. Pengembang hanya berkonsentrasi pada aplikasi saja, aplikasi tersebut bisa berjalan pada beberapa perangkat yang berbeda selama masih di tenagai oleh Android [3].
Menurut riset yang di lakukan oleh Net
Application (perusahaan yang memonitor lalu-lintas data internet) pada tahun 2014, pengguna smartphone dan tablet Android secara global terus meningkat dalam kurun waktu tiga bulan terakhir, yaitu 37,75% di bulan April, 41,58% di bulan Mei dan 43,75% di bulan Juni. Dari hasil ini dapat di lihat bahwa penggunaan Android cukup pesat, namun seiring dengan perkembangan itu ada hal lain yang perlu kita perhatikan, salah satunya keamanan dari data. Keamanan data pada lalu-lintas jaringan adalah suatu hal yang di inginkan semua orang untuk menjaga privasi , agar data yang di kirim aman dari gangguan dari orang yang tidak bertanggung jawab.
Salah satu cara menghindari pencurian data atau perubahan data adalah dengan cara mengenkripsi data tersebut menggunakan algoritma kriptografi sebelum melalui lalu-lintas jaringan dan di Dekripsi setelah sampai pada tujuan. Enkripsi merupakan cara pengamanan data yang di kirim sehingga terjaga kerahasiaannya. Pesan asli di sebut plaintext(teks-biasa), yang di ubah menjadi kode-kode yang tidak di mengerti. Sedangakan Dekripsi merupakan kebalikan dari enkripsi. Pesan yang telah di enkripsi di kembalikan ke bentuk asalnya. Algoritma yang di gunakan untuk dekripsi tentu berbeda dengan yang di gunakan untuk enkripsi [1].
Dengan adanya ilmu kriptografi untuk menjaga keamanan yang mungkin terjadi pada data berbasis Android, pengguna atau user dapat lebih memaksimalkan transfer data dengan tingakat keamanan yang lebih baik. Aplikasi ini dapat mengenkripsi dan
mendekripsi pesan teks, gambar dan suara dengan
algoritma Blowfish.
Dari masalah dan solusi yang telah di uraikan di atas, maka penulis ingin melakukan penelitian dengan judul “Penerapan Sistem Penyandian Pesan Teks , Gambar dan Suara Pada Aplikasi Berbasis Android”
Berdasarkan uraian latar belakang masalah, dapat dirumuskan suatu masalah bagaimana membangun
aplikasi penyandian (enkripsi) berbasis android untuk menyandikan teks, gambar dan suara juga bagaimana penerapan untuk hasil dari penyandian dan pembacaan teks, gambar dan suara.
Untuk mendapatkan hasil penelitian seperti yang diharapkan dan penelitian yang terarah, maka permasalahan dalam penelitian ini akan dibatasi sebagai berikut.
1. Sistem yang dibangun berbasis android.
2. Aplikasi bisa dijalankan pada androd minimal versi 2.2(Froyo).
3. Penyandian hanya untuk teks, gambar dan suara. 4. Menggunakan algoritma Blowfish.
5. Sistem ini dirancang hingga tahap uji coba.
Tujuan dari penelitian ini adalah menerapkan sistem penyandian berbasis android untuk teks, gambar dan suara yang memungkinkan pengguna android dapat menjaga kerhasiaan datanya.
Shanty Erikawaty dari STMIK Amikom Yogyakarta melakukan penelitian dalam skripsinya yang berjudul Implementasi algoritma kriptografi untuk keamanan dadocumen pada Microsoft office. Dalam naskah publikasinya tersebut menghasilkan kesimpulan bahwa algoritma blowfish dapat diimplementasikan ke dalam banyak bahasa pemrograman dan algoritma serta sifat perancangannya terbuka bagi umum[4].
Anggi dan Ledya pada naskah publikasi yang berjudul implementasi sistem keamanan file menggunakan algoritma blowfish pada jaringan LAN, menghasilkan sebuah data dari pengukuran bahwa waktu proses enkripsi dan dekripsi terrlihat bahwa rata-rata enkripsi lebih cepat dibandingkan dengan dekripsi. Hal ini disebabkan karena adanya penambahan bit tambahan atau padding pada saat enkripsi, sehingga menyebabkan proses dekripsi membutuhkan waktu tambahan pula.
Kriptografi sudah di gunakan sejak 4000 tahun yang lalu,dipeerkenalkan oleh orang-orang Mesir lewat
hieroglyph. Jenis tulisan ini bukanlah bentuk standar
untuk menulis pesan[1].
Kriptogarfi berasal dari bahasa Yunani, crypto
dan graphia. Crypto berarti secret (rahasia)dan Graphia
berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain. Dalam perkembangannya, kriptografi juga di gunakan untuk mengidentifikasi pengiriman pesan dengan tanda tangan digital dan keaslian pesan dengan sidik jari digital[2].
Kriptografi bertujuan untuk memberikan layanan keamanan yang di maksud sebagai aspek-aspek keamanan yaitu: Kerahasiaan (confidentiality), Integritas data (data integrity), Otentikasi (Authentication) dan Nirpenyangkalan (non-repudiation)[3].
Blowfish adalah algoritma kriptografi kunci simetri blok kode dengan panjang blok tetap 64 bit. Blowfish menerapkan teknik kunci berukuran sembarang. Ukuran kunci yang dapat diterima oleh Blowfish adalah antara 32 bit hingga 448 bit, dengan ukuran default sebesar 128 bit. Blowfish memanfaatkan teknik pemanipulasian bit dan teknik pemutaran ulang dan pergiliran kunci yang dikukan sebanyak 16 kali. Algoritma utama terbagi menjadi dua subalgoritma utama, yaitu bagian ekspansi kunci dan bagian enkripsi-dekripsi data.
Pengekspansian kunci dilakukan pada saat awal dengan masukan sebuah kunci dengan panjang 32 bit hingga 488 bit, dan keluaran adalah sebuah larik upa-kunci dengan total 4168 byte. Bagian enkripsi-dekripsi data terjadi dengan memanfaatkan perulangan 16 kali terhadap jaringan Feistel. Setiap perulangan terdiri dari permutasi dengan masukan kunci dan subtitusi data. Semua operasi dilakukan dengan memanfaatkan operasi XOR dan operator tambahan. Penambahan dilakukan terhadap empat larik lookup yang dilakukan setiap putaran[1].
Gambar 1. Proses Enkripsi Pada Blowfish
Kunci blowfish dibangkitkan menggunakan upa-kunci berukuran besar. Kunci tersebut harus di komputasikan pada saat awal, sebelum pengkomputasian enkripsi dan dekripsi data. Langkah-langkahnya adalah sebagai berikut:
1. Terdapat kotak permutasi (P-box) yang terdiri dari 18 buah 32 bit upa-kunci : P1, P2, P3, … P18. P-box ini telah ditetapkan sejak awal, 4 buah P-box awal sebagai berikut:
P1 = 0x243f6a88 P2 = 0x85a308d3 P3 = 0x13198a2e P4 = 0x03707344
2. XOR-kan P1 dengan 32 bit awal kunci , XOR-kan P2 dengan 32 bit berikutnya dari kunci, dan teruskan hingga seluruh panjang kunci telah ter-XOR-kan (kemungkinan sampai P14, 14x32 = 448, panjang maksimal kunci).
3. Terdapat 64 bit dengan isi kosong. Bit-bit tersebut dimasukan ke langkah 2.
3
5. Enkripsi kembali keluaran langkah 3 dengan langkah 2, namun kali ini dengan upa-kunci yang berbeda (sebab langkah 2 menghasilkan upa-kunci baru).
6. Gantikan P3 dan P4 dengan keluaran dari langkah 5. 7. Lakukan seterusnya hingga seluruh P-box teracak
sempurna.
8. Total keseluruhan terdapat 521 iterasi untuk menghasilkan seluruh upa-kunci yang dibutuhkan. Aplikasi hendaknya menyimpannya daripada harus membuat ulang seluruh upa-kunci tersebut.
Proses enkripsi-dekripsi data pada algoritma Blowfish adalah sebagai berikut:
1. Masukan dari proses ini adalah data 64 bit yang diinisialkan “x”.
2. Bagi x menjadi 2buah bagian sama besar, xL (x kiri) sepanjang 32 bit, dan xR (x kanan) sepanjang 32 bit.
3. Lakukan iterasi sebanyak i=1 hingga i=16 xL = xL XOR P[i];
xR = F(xL) XOR xR; Swap(xL, xR);
4. Fungsi F adalah sebagai berikut: Bagi xL menjadi 4 buah 8 bit a, b, c, dan d.
F(xL) = ((S[1,a] + S2[2,b] mod 232) XOR S[3,c]) + S[4,d] mod 232.
5. Langkah terakhir adalah: Swap(xL, xR);
xR = xR XOR p[17]; xL = xL XOR P[18]
Gabungkan xL dan xR menjadi 64 bit return hasilgabungan.
6. Pada proses dekripsi langkah-langkahnya sama persis dengan proses enkripsi, hanya saja P-box digunakan dengan urutan terbalik.
Gambar 2. Proses Ekspansi dan Filter (Fungsi F) Pada
Blowfish
2. Pembahasan
2.1 Use Case Diagram
Use case diagram menggambarkan fungsionalitas
yang diharapkan dari sistem dan merepresentasikan interaksi antara aktor dengan sistem. Berikut adalah Use case sistem ini.
Gambar 3. Use Case Diagram
2.2 Activity Diagram
Activity diagram dan garis besar adalah untuk
memodelkan aliran kerja atau aktivitas dari melakukan konsultasi diagnosa. Lihat pada gambar 4.
Pengguna Sistem
Gambar 4. Activity Diagram
2.3 Class Diagram
Class diagram adalah suatu diagram yang
menyediakan sekumpulan class objek antarmuka dan relasinya. Class diagram sistem pakar ini dapat dilihat pada gambar 5.
Menjalankan Aplikasi
Menampilkan Menu Pilih Menu Pesan
Menampilkan Menu Pesan Pilih Baca Pesan
Menampilkan Daftar Pesan Pilih Pesan Masuk Menampilkan Pesan
Dekripsi
Gambar 5. Class Diagram
2.4 Sequence Diagram
Berikut Sequence diagram sistem pakar yang ditunjukkan pada gambar 6.
Gambar 6. Sequence Diagram
3. Implementasi
3.1 Pembahasan AntarMuka Pengguna
Gambar 7. Tampilan Menu Utama
Tampilan ini berisi empat image button yang mengarah langsung ke enkripsi dan dekripsi yang ingin di lakukan, yaitu enkripsi teks, gambar dan suara. Button ke empat berisi tentang informasi dari aplikasi ini.
Gambar 8. Tampilan Menu Enkripsi Dekripsi Teks
Terdapat tiga tombol untuk mengolah data pesan. Pertama pesan baru berfungsi untuk menulis pesan baru dan mengenkrip kemudian di krim. Kedua pesan masuk yaitu untuk melihat pesan yang masuk di ponsel android kita. Ketiga pesan keluar yaitu untuk melihat pesan yang kit kirim.
Gambar 9. Tampilan Menu Enkripsi Dekripsi File
Gambar
Tampilannya cukup sederhana. Ketika menekan tombol pilih akan masuk ke dalam galeri dan kita memilih file gambar yang hendak di enkripsi atau dekripsi. Ketika di pilih enkripsi maka file akan di enkripsi dan secara otomatis di simpan di lokasi file sebelumnya dengan nama folder enkripsi, begitu juga dengan file dekripsi.
5
Gambar 9. Tampilan Menu Enkripsi Dekripsi File
Suara
Cara kerjanya sama dengan enkripsi dekripsi file gambar. Ketika menekan tombol pilih akan masuk ke dalam galeri dan kita memilih file gambar yang hendak di enkripsi atau dekripsi. Ketika di pilih enkripsi maka file akan di enkripsi dan secara otomatis di simpan di lokasi file sebelumnya dengan nama folder enkripsi, begitu juga dengan file dekripsi
Gambar 10. Tampilan Menu About
Pengujian Aplikasi
Berikut merupakan hasil pengujian dari sistem aplikasi ini.
Tabel 1. Testing Masuk Aplikasi
No Skenario Hasil Status
1. Tekan icon aplikasi pada device Masuk ke tampilan menu utama Sukses
Tabel 2. Testing Menu Utama
No Skenario Hasil Status
1. Tekan Tombol Pesan Masuk ke menu pesan teks Sukses 2. Tekan Tombol Gambar Masuk ke menu enkripsi gambar Sukses 3. Tekan Tombol Suara Masuk ke menu enkripsi suara Sukses 4. Tekan Tombol About Masuk ke menu about/tentang Sukses
Tabel 3. Testing Pesan Baru
No Skenario Hasil Status
1. Tekan tombol kontak Menampilkan daftar kontak Sukses 2. Tekan tombol enkripsi Pemanggilan kunci dan mengenkripsi pesan Sukses 3. Tekan tombol kirim
Mengirim pesan dan menyimpan di pesan terkirim
Sukses
Tabel 4. Testing Pesan Masuk
No Skenario Hasil Status
1. Scroll untuk memilih pesan masuk
Daftar pesan dapat di lihat kebawah maupun ke atas Sukses 2. Tekan pesan yang di pilih Menampilkan pesan enkripsi untuk di baca Sukses
Tabel 5. Testing Pesan Keluar
No Skenario Hasil Status
1. Scroll untuk memilih pesan masuk
Daftar pesan dapat di lihat kebawah maupun ke atas Sukses 2. Tekan pesan yang di pilih Menampilkan pesan enkripsi yang dikirim untuk di baca Sukses
Tabel 6. Testing Gambar
No Skenario Hasil Status
1. Tekan tombol file Masuk ke file manager Sukses 2. Tekan tombol enkripsi Mengenkripsi gambar dan menyimpan otomatis di folder tempat file sebelumnya
Sukses
3. Tekan tombol Dekripsi
Mendekripsi Gambar pada folder
baru
Sukses
Tabel 7. Testing Suara
No Skenario Hasil Status
1. Tekan tombol file Masuk ke file manager Sukses 2. Tekan tombol enkripsi Mengenkripsi Suara dan menyimpan otomatis di folder tempat file sebelumnya Sukses 3. Tekan tombol Dekripsi Mendekripsi Suara pada folder baru
Sukses
Tabel 8. Testing About
No Skenario Hasil Status
1. Masuk menu about Menampilkan informasi tentang aplikasi Sukses Daftar Pustaka
[1] Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi Teori, Analisis dan Implementasi. Yogyakarta:Penerbit Andi Offset.
[2] Ariyus, Dony. 2006. Kriptografi Keamanan Data dan Komunikasi. Yogyakarta:Penerbit Graha Ilmu. [5] Munir, Rinaldi. 2006. Kriptografi. Bandung:
Penerbit Informatika.
[4] Erikawaty, Shanty. 2010. Implementasi Algoritma Kriptografi Blowfish Untuk Keamanan Dokumen Pada Microsoft Office. Yogyakarta. Skripsi: STMIK Amikom Yogyakarta.
Biodata Penulis
Muhammad Farvidia Al Idrus, memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Teknik Informatika STMIK Amikom Yogyakarta, lulus tahun 2015.
Rum Muhamad Andri, Program Studi Ilmu Komputer Fakultas Matematika dan IPA Universitas Gadjahmada Yogyakarta. Saat ini menjadi dosen di STMIK Amikom Yogyakarta.