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
Penerapan Sistem Penyandian Pesan Teks , Gambar dan Suara Pada Aplikasi Berbasis Android Muhammad Farvidia Al Idrus1), Rum Muhamad Andri2) 1, 2)
Teknik Informatika STMIK AMIKOM Yogyakarta Jl Ring road Utara, Condongcatur, Sleman, Yogyakarta 55281 Email :
[email protected] 1),
[email protected]) 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.
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].
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
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
1
aplikasi penyandian (enkripsi) berbasis android untuk menyandikan teks, gambar dan suara juga bagaimana penerapan untuk hasil dari penyandian dan pembacaan teks, gambar dan suara.
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 enkripsidekripsi data.
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).
Pengekspansian kunci dilakukan pada saat awal dengan masukan sebuah kunci dengan panjang 32 bit hingga 488 bit, dan keluaran adalah sebuah larik upakunci 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].
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.
Gambar 1. Proses Enkripsi Pada Blowfish Kunci blowfish dibangkitkan menggunakan upakunci berukuran besar. Kunci tersebut harus di komputasikan pada saat awal, sebelum pengkomputasian enkripsi dan dekripsi data. Langkah-langkahnya adalah sebagai berikut:
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].
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].
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].
3. 4.
2
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 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). Terdapat 64 bit dengan isi kosong. Bit-bit tersebut dimasukan ke langkah 2. Gantikan P1 dan P2 dengan keluaran dari langkah 3.
5.
6. 7. 8.
Enkripsi kembali keluaran langkah 3 dengan langkah 2, namun kali ini dengan upa-kunci yang berbeda (sebab langkah 2 menghasilkan upa-kunci baru). Gantikan P3 dan P4 dengan keluaran dari langkah 5. Lakukan seterusnya hingga seluruh P-box teracak sempurna. Total keseluruhan terdapat 521 iterasi untuk menghasilkan seluruh upa-kunci yang dibutuhkan. Aplikasi hendaknya menyimpannya daripada harus membuat ulang seluruh upa-kunci tersebut.
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.
Proses enkripsi-dekripsi data pada algoritma Blowfish adalah sebagai berikut: 1. 2.
3.
4.
5.
6.
Masukan dari proses ini adalah data 64 bit yang diinisialkan “x”. Bagi x menjadi 2buah bagian sama besar, xL (x kiri) sepanjang 32 bit, dan xR (x kanan) sepanjang 32 bit. Lakukan iterasi sebanyak i=1 hingga i=16 xL = xL XOR P[i]; xR = F(xL) XOR xR; Swap(xL, xR); 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. 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. Pada proses dekripsi langkah-langkahnya sama persis dengan proses enkripsi, hanya saja P-box digunakan dengan urutan terbalik.
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
Menjalankan Aplikasi Menampilkan Menu Pilih Menu Pesan Menampilkan Menu Pesan
Pilih Baca Pesan Menampilkan Daftar Pesan
Pilih Pesan Masuk
Menampilkan Pesan
Dekripsi
Hasil Dekripsi
Gambar 2. Proses Ekspansi dan Filter (Fungsi F) Pada Blowfish
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.
3
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 5. Class Diagram Gambar 8. Tampilan Menu Enkripsi Dekripsi Teks 2.4
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.
Sequence Diagram
Berikut Sequence diagram sistem pakar yang ditunjukkan pada gambar 6.
Gambar 6. Sequence Diagram
3.
Implementasi
Gambar 9. Tampilan Menu Enkripsi Dekripsi File Gambar
3.1 Pembahasan AntarMuka Pengguna
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.
Gambar 7. Tampilan Menu Utama
4
Tabel 2. Testing Menu Utama No
Skenario
Hasil
Status
1.
Tekan Tombol Pesan
Masuk ke pesan teks
menu
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
Gambar 9. Tampilan Menu Enkripsi Dekripsi File Suara
Tabel 3. Testing Pesan Baru No
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
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
Gambar 10. Tampilan Menu About Tabel 5. Testing Pesan Keluar Pengujian Aplikasi Berikut merupakan hasil pengujian dari sistem aplikasi ini.
Tabel 1. Testing Masuk Aplikasi No 1.
Skenario Tekan aplikasi device
Hasil icon pada
Masuk tampilan utama
Status ke menu
Sukses
5
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
Biodata Penulis
No
Skenario
Hasil
1.
Tekan tombol file
Masuk manager
file
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
ke
Muhammad Farvidia Al Idrus, memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Teknik Informatika STMIK Amikom Yogyakarta, lulus tahun 2015.
Status
Rum Muhamad Andri, Program Studi Ilmu Komputer Fakultas Matematika dan IPA Universitas Gadjahmada Yogyakarta. Saat ini menjadi dosen di STMIK Amikom Yogyakarta.
Tabel 7. Testing Suara No
Skenario
Hasil
1.
Tekan tombol file
Masuk manager
file
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
ke
Status
Tabel 8. Testing About No 1.
Skenario Masuk about
menu
Hasil
Status
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.
6