APLIKASI ENKRIPSI SMS (SHORT MESSAGE SERVICE) MENGGUNAKAN ALGORITMA DATA ENCRYPTION STANDARD (DES) BERBASIS ANDROID Syamsul Bahri Lubis (0911794) Mahasiswa Program Studi Teknik Informatika, STMIK Budidarma Medan Jl. Sisingamangaraja No.338 Simpang Limun Medan www.stmik-budidarma.ac.id // // Email: syamsul3392@gmail.com ABSTRAK Sistem operasi untuk perangkat mobile semakin berkembang. Android merupakan salah satu sistem operasi mobile yang kini sangat populer dan banyak digunakan orang-orang. Android juga merupakan sistem operasi yang berbasis perangkat lunak yang dapat dikembangkan secara open source sehingga bnyak pengembang yang kini turut serta ikut mengembangkan aplikasi untuk android. Untuk keperluan aspek keamanan, Android juga telah menyediakan API khusus untuk fungsi-fungsi kriptografi, seperti enkripsi, deskripsi dan sebagainya. Short Message Service (SMS) adalah sebuah teknologi komunikasi yang sangat populer. Dengan menggunakan SMS seseorang dapat saling bertukar informasi. Dalam hal ini SMS yang dikirimkan akan dienkripsi pada pengembangan sebuah program telopon selular (ponsel) berbasis android untuk pengiriman data pesan SMS. Hasil tes menunjukkan bahwa pemanfaatan algoritma Data Encryption Standard (DES) dapat melakukan enkripsi pesan singkat dengan teks ke nomor tujuan. Aplikasi dapat membantu pengguna untuk mengirim pesan singkat di tempat yang aman, cepat, dan mudah. Kata kunci : Android, enkripsi, deskripsi, kriptografi, algoritma Data Encryption Standard (DES) 1. Pendahuluan Perkembangan teknologi di bidang komunikasi semakin tahun semakin maju. Salah satunya adalah telepon selular (ponsel) dengan banyak fitur dan juga memiliki sistem yang sama dengan komputer. Berbagai perangkat lunak untuk mengembangkan aplikasi ponselpun bermunculan, Diantaranya yang cukup dikenal luas adalah android. Salah satu fasilitas yang disediakan ponsel adalah untuk melakukan pengiriman data berupa pesan singkat melalui Short Message Service (SMS). Sebagian besar orang lebih sering menggunakan layanan SMS daripada layanan telepon dikarenakan biaya yang dipakai tergolong murah dan mudah digunakan. Pada proses pengiriman dan penerimaan SMS, diperlukan suatu media transmisi, media transmisi tersebut salah satunya berupa jalur komunikasi Global System for Mobile Communication (GSM). Dengan semakin mudahnya bertukar informasi tanpa batasan jarak dan waktu. Celah keamanan terbesar pada komunikasi dengan SMS adalah pesan yang dikirimkan akan disimpan di SMSC (Short Message Service Center), yaitu tempat dimana SMS disimpan sebelum dikirimkan ke tujuan. Pesan yang sifatnya plaintext ini dapat disadap oleh siapa saja yang berhasil memiliki akses ke dalam SMSC. Akibatnya, informasi penting seperti password, nomor pin, dan lain-lain dapat dibaca oleh orang yang tidak berhak untuk mengetahuinya. Dalam menjaga kerahasiahan SMS, dibutuhkan suatu cara untuk mengamankan informasi yang sifatnya penting atau rahasia, yaitu dengan melakukan enkripsi terhadap teks SMS maka tingkat keamanan informasi dari pesan tersebut dapat ditingkatkan. Penulis dalam mengatasi permasalahan pengiriman pesan, mencoba membuat sebuah aplikasi pengamanan pesan dengan algoritma Data Encryption Standard (DES) untuk mengenkripsi data yang berjalan pada sistem operasi android sehingga pemilik telepon selular (ponsel) yang berbasis android dapat melakukan pertukaran data pada SMS dengan lebih aman dan nyaman. 2. Landasan Teori 2.1 Data Encryption Standard (DES) DES adalah sebuah algoritma enkripsi sandi blok simetrik dengan ukuran blok 64 bit dan ukuran kuncinya 56 bit. 2.2 Cara Kerja Data Encryption Standard (DES) Algoritma Data Encryption Standard (DES) terbagi menjadi tiga kelompok, yaitu pemrosesan kunci, enkripsi data 64 bit dan deskripsi data 64 bit, dimana proses deskripsi adalah kebalikan dari proses enkripsi. Dengan demikian, DES termasuk dalam block cipher 53
dengan tahapan pemakaian kunci yang sama untuk deskripsinya. Pada awalnya blok plainteks dipermutasikan dengan permutasi awal (IP). Pada tahap ini plainteks diurutkan dan dilakukan perubahan agar didapati permutasi awal (IP). Pada gambar 1 akan lebih dijelaskan lebih rinci dan diperlihatkan langkahlangkah dalam struktur enkripsi sandi Data Encryption Standard (DES) yang lebih rinci dan jelas. Tabel 2 : Permutasi Akhir (IP -1 ) 2.3 Pengertian Android Android adalah sebuah Operating System (OS) yang dikembangkan oleh google untuk mobile device atau yang lebih di kenal dengan smartphone (ponsel cerdas). Pada dasarnya Android dibangun untuk memungkinkan para pengguna dan pengembangan aplikasi mobile untuk membuat aplikasi yang menarik dan bermanfaat. Gambar 1 : Struktur sistem sandi DES Pada gambar 1 proses dilakukan dengan mengenkripsikan teks asli berukuran 64 bit melalui 3 tahapan, yaitu : 1. Plainteks dikenakan boks permutasi IP (Initial Permutation) 64 bit. Tabel 1 menunjukkan permutasi IP (Initial Permutation). 2. Dilakukan 16 ronde pencampuran kunci ronde. 3. Dari keluaran dari ke-16 dilakukan operasi swap dan kemudian dikenakan boks permutasi invers IP (kebalikan boks permutasi IP) untuk menghasilkan 64 bit teks sandi. Tabel 2 menunjukkan boks permutasi invers IP -1 Tabel 1 : Boks permutasi IP 3. Analisa 3.1 Analisa Algoritma Data Encryption Standard (DES) Tabel 3 : Konversi Text To Biner Plaintext Hexadesimal Biner S 53 0111 y 79 01111001 a 61 01100001 m 6D 0101 s 73 01110011 u 75 0101 l 6C 0100 B 42 0010 Tabel 4 : Key To Biner Key Biner 33 00110011 6A 0010 IF 00011111 19 00011001 30 00110000 40 0000 2F 00101111 3A 0010 1. Plaintext heksa : 53 79 61 6D 73 75 6C 42 2. Plaintext biner : Xo = 0111 01111001 01100001 0101 01110011 0101 0100 0010 54
3. Key biner K = 00110011 0010 00011111 00011001 00110000 0000 00101111 0010 Dengan initial permutasi IP, diperoleh : X 0 = IP(x) = LoRo, di mana : L o : 11111111 00110011 0110 00111111 R o : 00000000 01111110 1010 1001 Tabel 5: Iterasi 1 ERo 000000 001111 111100 01 010101 10 100011 K 1 11 000001 110000 101010 01 000111 11 001010 E(Ro) 01 000001 111111 010110 111100 10 100101 11 1 0110 0011 1100 0101 0000 P(B1) 11100001111100110011 P(B1) L1 = R1 00101110001100010110 2 ER1 000101 00 10 000101 11 10 100010 101100 K 2 000000 001010 101010 100010 11 01 10 000101 E(R1) 000101 00 001110 100111 2 000000 10 01 11 0111 1001 0101 0110 0010 1111 1001 P(B2) 00010110 0111 11110010 10101011 P(B2) 00010110 00010111 10111000 L2 = R2 0010 3 ER2 000010 101100 000010 101111 11 110000 000111 11 K 3 101100 000011 00 10 10 10 11 111001 E(R2) 101110 101111 10 011001 3 00 01 01 00 1011 0010 0001 0011 1001 0111 P(B3) 11100111 1111 00101011 0011 P(B3) 11001010 10000101 10110000 L3 0001 = R3 4 ER3 111001 010101 00 001011 10 100000 000110 101011 K 4 111001 000000 011001 000000 10 11 101100 001111 E(R3) 000000 010101 01 001011 K 4 10 01 101010 10 1110 0001 0011 1111 0001 0011 0011 P(B4) 1110 11100000 1110 0110 P(B4) L4 = R4 10110000 1111 1110 01011110 5 ER4 010110 100001 011110 101110 11 011100 001011 11 K 5 00 10 00 11 100101 100101 010110 111000 E(R4) 000110 001100 010110 00 5 001100 111001 01 000101 1110 0001 0011 1111 0001 0011 0011 P(B5) 0001 0011 0111 1100 1011 0110 1000 P(B5) L5 = R5 1111 1100 1110 1010 6 ER5 01 001111 11 01 01 01 01 01 K 6 100011 01 000101 10 110010 01 10 100101 E(R5) 11 000110 110001 01 6 101111 000000 10 00 1110 1110 1010 1100 1000 1010 P(B6) 01111001 11001111 10000010 01011001 P(B6) 00111000 11001100 L6 00000111 = R6 55
7 ER6 111001 10 100111 110001 011001 011000 000000 001111 K 7 01 10 01 101011 11 101110 101010 111000 E(R6) 110000 10 101110 00 10 10 101010 11 7 1111 0110 0000 1100 0010 1010 0011 0000 P(B7) 01111001 11001111 10000010 01011001 P(B7) 1101 0000 01111110 L7 0000 = R7 8 ER7 011110 101010 100000 00 001111 111100 000001 01 K 8 101010 01 00 000000 011100 01 111100 01 E(R7) 8 11 011111 10 00 11 10 11 001100 1001 0101 0000 0000 1111 0011 1100 P(B8) 0000 1001 0110 0010 P(B8) L8 1111 10011001 1010 0011 = R8 9 ER8 10 100111 110011 110011 01 00 000111 11 K 9 000101 110001 000001 001011 101011 11 00 01 E(R8) 9 111111 010110 110010 111000 011110 111001 01 101111 0001 0101 1001 0110 1000 P(B9) 1010 1010 1000 0011 P(B9) 01011000 10101100 1110 L9 = R9 00110011 10 ER9 101011 110001 010101 011001 01 001100 000110 100110 K 10 001010 11 000011 00 100110 010110 011111 100111 E(R9) 10 100001 000101 010110 01 110010 00 011001 000001 1111 0111 0110 1001 0111 0010 0001 P(B10) 0101 11100001 10111110 00011110 P(B10) 1110 01111000 00010110 L10 0011 = R10 11 ER10 111110 101100 001111 110000 000010 101100 00 000001 K 11 000111 00 100110 001100 001111 101100 101010 000001 E(R10) 100001 000101 010110 01 110010 00 011001 000001 11 1010 1010 0110 1000 1100 1110 P(B11) 01111001 1001 00001110 0101 P(B11) 0001 00110001 1010 L11 = R11 01011110 12 ER11 00 000010 100110 100011 01 00 001011 111100 K 12 00 100010 00 011001 11 100110 010101 010111 E(R11) 12 000000 100000 100010 10 000001 10 011110 101011 1110 0000 0110 0001 1110 1010 0001 1010 P(B12) 1001 1111 10000010 1000 P(B12) 0101 1111 1001 L12 = R12 1111 13 ER12 10 01 11 111111 110010 11 01 001110 K 13 000011 00 110000 100101 101011 56
E(R12) 13 10 001110 00 101110 001011 001011 00 011001 11 00 000110 1011 0010 1100 0011 0001 1010 P(B13) 01100000 10000001 0010 11100011 P(B13) 0001 10110000 10011110 L13 = R13 1011 14 ER13 10 000011 10 100001 11 11 010111 10 K 14 110000 110010 100010 001100 111100 000111 01 000011 E(R13) 14 011000 110001 01 10 101111 10 001010 111001 0101 1011 1100 0000 0011 P(B14) 11110001 00001111 11111001 1010 P(B14) 10011100 1100 0101 L14 = R14 1101 15 ER14 110011 11 10 100000 00 01 11 01 K 15 000110 001010 00 100000 011111 10 00 101110 E(R14) 15 01 110001 100000 000000 10 110011 01 01 0011 1011 0111 0101 1110 0000 1001 P(B14) 11111100 0101 0101 00001010 P(B15) L15 1011 11000101 1011 = R15 16 ER15 11 11 11 11 111000 001011 10 101111 K 16 111100 011000 100000 00 000000 101100 010111 111110 E(R15) 16 001011 100011 01 111111 111000 100111 100001 01 0010 1000 1011 1110 0110 1100 0110 1100 P(B16) 00011100 01011100 00010111 1100 P(B16) L16 = R16 10000001 10001100 0110 00000001 Output Ciphertext biner IP -1 (R 16 L 16 ) = 1011 00000110 1010 1011 1110 10000110 00101100 1110 Ciphertext hexa : EB 06 BA B4 A6 86 2C FA 4. Kesimpulan Setelah melakukan analisa dan pembahasan dari permasalahan di atas penulis dapat menyimpulkan bahwa dengan aplikasi enkripsi SMS dengan algoritma Data Encryption Standard (DES) dapat diambil kesimpulan : 1. Dengan adanya aplikasi ini, dapat memberikan kemudahan bagi pengguna untuk mengenkripsi pesan SMS tanpa harus melakukan perhitungan. 2. Algoritma Data Encryption Standard (DES) pada aplikasi enkripsi SMS dapat diterapkan sehingga proses enkripsi pesan SMS dapat lebih mudah. 3. Aplikasi enkripsi SMS berbasis mobile Android dapat membantu pengguna mengenkripsikan pesan SMS sebelum dikirimkan. Daftar Pustaka : [1]. Rifki Sadikin, Kriptografi untuk keamanan jaringan, Penerbit Andi, Yogjakarta, Edisi 1, 2012. [2]. Ivan Michael Siregar, ST, MT, Membongkar Source Code Berbagai Aplikasi Android, Penerbit Gava Media, Yogyakarta, Edisi 1, 2011. [3]. Nazruddin Safaat H, Pemograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android, Penerbit Informatika Bandung, Bandung, Edisi 1, 2012. [4]. Dony Ariyus, Computer Security, Penerbit Andi, Yogyakarta, Edisi 1, 2006. [5]. Rachmad Hakim S. & Ir.Sutarto, M.Si, Mastering Java Penerbit PT Elex Media Komputindo,Edisi 1. [6]. http://id.wikipedia.org/wiki/data_encryption_stan dard tanggal akses 20 Juni 2013 [7]. http://id.wikipedia.org/wiki/android_sistem_opera si) tanggal akses 28 Juni 2013 57