Pelita Informatika Budi Darma, Volume : V, Nomor: 2, Desember 2013
SSN : 2301-9425
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:
[email protected]
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
Aplikasi Enkripsi SMS (Short Message Service) Menggunakan Algoritma Data Encryption Standard (DES) Berbasis Android. Oleh : Syamsul Bahri Lubis
53
Pelita Informatika Budi Darma, Volume : V, Nomor: 2, Desember 2013
SSN : 2301-9425
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 output 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 01010011 y 79 01111001 a 61 01100001 m 6D 01101101 s 73 01110011 u 75 01110101 l 6C 01101100 B 42 01000010
Key 33 6A IF 19 30 40 2F 3A
Tabel 4 : Key To Biner Biner 00110011 01101010 00011111 00011001 00110000 01000000 00101111 00111010
1. Plaintext heksa : 53 79 61 6D 73 75 6C 42 2. Plaintext biner : Xo = 01010011 01111001 01100001 01101101 01110011 01110101 01101100 01000010 Aplikasi Enkripsi SMS (Short Message Service) Menggunakan Algoritma Data Encryption Standard (DES) Berbasis Android. Oleh : Syamsul Bahri Lubis
54
SSN : 2301-9425
Pelita Informatika Budi Darma, Volume : V, Nomor: 2, Desember 2013
3. Key biner K = 00110011 01101010 00011111 00011001 00110000 01000000 00101111 00111010 Dengan initial permutasi IP, diperoleh : X0 = IP(x) = LoRo, di mana : Lo : 11111111 00110011 01101000 00111111 Ro : 00000000 01111110 01001010 10010001
Round 1 ERo
Tabel 5: Iterasi Binary
= R3 Round 4 ER3
Binary 111001 010101 010000 001011 110110 100000 000110 101011
K4
111001 000000 011001 000000 010010 111101 101100 001111
E(R3)
000000 010101 001001 001011 100100 011101 101010 100100
000000 001111 111100 001001 010101 010010 100011 110100 000001 110000 101010 110101 000111 110111 001010 010100 000001 111111 010110 111100 010010 100101 101001
⊕K4 S box output P(B4)
1110 0001 0011 1111 0001 0011 0011 0100 10100110 11100000 11110110 01100100
S box output P(B1)
0110 0011 1100 0101 0000 1101 1101 0100 11010010000100011111001100101001
P(B4)
10110000 11110111 01001110 01011110
P(B1)
00101101001000101001101100010110
K1 E(Ro)
⊕ K1
⊕ L1 = R1
Round 2 ER1 K2 E(R1)
⊕ K2 S box output P(B2) P(B2)
⊕ L2 = R2 Round 3 ER2 K3 E(R2)
⊕ K3 S box output P(B3) P(B3)
⊕L3
Binary 000101 011010 100100 000101 010011 110110 100010 101100 000000 001010 101010 100010 010011 011011 110110 000101 000101 010000 001110 100111 000000 101101 010100 101001 0111 1001 0101 0110 0010 1111 1001 0100 00010110 01101001 11110010 10101011 00010110 00010111 10111000 00111010
⊕ L4 = R4 Round 5 ER4
K5 E(R4)
⊕ K5
010000 101101 001000 110100 100101 100101 010110 111000 000110 001100 010110 011010 001100 111001 011101 000101 1110 0001 0011 1111 0001 0011 0011 0100 0001 0011 0111 1100 1011 0110 1000 1101
P(B5)
10100111 11011010
⊕ L5
10100100
11101000
= R5 Round 6 ER5 K6
1011 0010 1101 0001 1101 0011 1001 0111 11100111 10100111 00101011 00100011 11001010 10000101 10110000 00110101
010110 100001 011110 101110 101001 011100 001011 111101
S box output P(B5)
Binary 000010 101100 000010 101111 110111 110000 000111 110100 101100 000011 010000 110110 111010 100100 010011 111001 101110 101111 010010 011001 001101 010100 010100 001101
Binary
E(R5)
⊕ K6
Binary 010100 001111 110100 001001 011101 010001 011011 110101 100011 001001 000101 010010 110010 010001 101101 100101 110111 000110 110001 011011 101111 000000 110110 010000
S box output
1110 1110 0100 1010 1101 1100 1000 1010
P(B6)
01111001 11001111 10000010 01011001 11001001 00111000 11001100 00000111
P(B6)
⊕ L6 = R6
Aplikasi Enkripsi SMS (Short Message Service) Menggunakan Algoritma Data Encryption Standard (DES) Berbasis Android. Oleh : Syamsul Bahri Lubis
55
SSN : 2301-9425
Pelita Informatika Budi Darma, Volume : V, Nomor: 2, Desember 2013
Round 7 ER6 K7 E(R6)
⊕ K7
Binary 111001 010010 100111 110001 011001 011000 000000 001111 001001 100100 001001 101011 110100 101110 101010 111000 110000 110110 101110 011010 101101 110110 101010 110111
S box output
1111 0110 0000 1100 0010 1010 0011 0000
P(B7)
01111001 11001111 10000010 01011001 11110101 00000100 01111110 00001000
P(B7)
⊕ L7 = R7 Round 8 ER7 K8 E(R7)
⊕ K8 S box output P(B8) P(B8)
⊕ L8
Binary 011110 101010 100000 001000 001111 111100 000001 010001 101010 110101 000100 000000 011100 010001 111100 011101 110100 011111 100100 001000 010011 101101 111101 001100 1001 0101 0100 0000 0000 1111 0011 1100 00011010 10100001 01100100 00111010 11010011 10011001 10101000 00111101
K10
001010 110100 000011 010000 100110 010110 011111 100111
E(R9)
100001 000101 010110 001001 110010 011010 011001 000001
⊕ K10 S box output
1111 0100 0111 0110 1001 0111 0010 0001
P(B10)
00100101 11100001 10111110 00011110 11110110 01111000 00010110 00100011
P(B10)
⊕ L10 = R10 Round 11 ER10
K11 E(R10)
⊕ K11 S box output P(B11) P(B11)
⊕ L11
Binary 111110 101100 001111 110000 000010 101100 000100 000001 000111 000100 100110 001100 001111 101100 101010 000001 100001 000101 010110 001001 110010 011010 011001 000001 1010 1010 0110 1000 1101 1100 1110 1101 01111001 10011101 00001110 01101101 00100001 00110001 10101000 01011110
= R11
= R8 Round 9 ER8
Binary 111010 100111 110011 110011 110101 010000 000111 111011
K9
000101 110001 000001 001011 101011 101001 011010 010100
E(R8)
111111 010110 110010 111000 011110 111001 011101 101111
⊕ K9 S box output
1101 1101 0001 0101 1001 0110 1000 1101
P(B9)
10101101 10101000 11011000 00111011 01011000 10101100 10100110 00110011
Round 12 ER11 K12 E(R11)
⊕ K12
⊕ L9 = R9 Round 10 ER9
Binary 101011 110001 010101 011001 010100 001100 000110 100110
000100 000010 100110 100011 110101 010000 001011 111100 000100 100010 000100 011001 110100 100110 010101 010111 000000 100000 100010 111010 000001 110110 011110 101011
S box output
1110 0000 0110 0001 1110 1010 0001 1010
P(B12)
10011011 10100111 10000010 10000100 01101101 11011111 10010100 10100111
P(B12)
P(B9)
Binary
⊕ L12 = R12
Round 13 ER12
Binary 101101 011011 111011 111111 110010 101001 010100 001110
K13 000011 010000 110000 100101 101011 Aplikasi Enkripsi SMS (Short Message Service) Menggunakan Algoritma Data Encryption Standard (DES) Berbasis Android. Oleh : Syamsul Bahri Lubis
56
Pelita Informatika Budi Darma, Volume : V, Nomor: 2, Desember 2013
E(R12)
⊕ K13
111010 001110 001000 101110 001011 001011 011010 011001 010011 011010 000110
S box output
1011 0010 0100 1100 0011 0001 1010 0100
P(B13)
01100000 10000001 00110110 11100011 01000001 10110000 10011110 10111101
SSN : 2301-9425
P(B16)
00011100 11101100
01011100
00010111
P(B16)
10000001 00000001
10001100
01111010
⊕ L16 = R16
P(B13)
⊕ L13 = R13 Round 14 ER13
K14 E(R13)
⊕ K14 S box output P(B14) P(B14)
⊕ L14 = R14 Round 15 ER14 K15 E(R14)
⊕ K15 S box output P(B14) P(B15)
⊕ L15 = R15 Round 16 ER15 K16 E(R15)
⊕ K16 S box output
Output Ciphertext biner IP-1(R16L16) = 11101011 00000110 10111010 10110100 10100110 10000110 00101100 11111010 Ciphertext hexa : EB 06 BA B4 A6 86 2C FA
Binary 101000 000011 110110 100001 010011 111101 010111 111010 110000 110010 100010 001100 111100 000111 011101 000011 011000 110001 010100 101101 101111 111010 001010 111001 0101 1011 1100 1101 1101 1101 0000 0011 11110001 00001111 11111001 01001010 10011100 11010000 01101101 11101101
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 :
Binary 110011 111011 111010 100000 001101 011011 111101 011011 000110 001010 011010 100000 011111 101000 001000 101110 110101 110001 100000 000000 010010 110011 110101 110101 0011 1011 1101 0111 0101 1110 0000 1001 11111100 01101101 01011011 00001010 10111101 11011101 11000101 10110111
Binary
[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
110111 111011 111011 111011 111000 001011 110110 101111 111100 011000 100000 000100 000000 101100 010111 111110 001011 100011 011011 111111 111000 100111 100001 010001 0010 1000 1011 1110 0110 1100 0110 1100
Aplikasi Enkripsi SMS (Short Message Service) Menggunakan Algoritma Data Encryption Standard (DES) Berbasis Android. Oleh : Syamsul Bahri Lubis
57