2 LANDASAN TEORI - PENERAPAN ALGORITMA RC4 UNTUK ENKRIPSI DAN DEKRIPSI SMS BERBASIS ANDROID - eprints3
PENERAPAN ALGORITMA RC4 UNTUK ENKRIPSI DAN
DEKRIPSI SMS BERBASIS ANDROID
Halim Dermawan ([email protected])
Derry Alamsyah ([email protected])
Jurusan Teknik Informatika
STMIK GI MDP
Abstrak : Pemilik handphone dapat bertukar informasi lewat SMS dengan pemilik handphone lainnya.
Akan tetapi, pengguna tidak menyadari apakah informasi yang terkirim tersebut terjaga keamanan dan
kerahasiaannya. Tujuan dari penulisan skripsi ini adalah dapat menjaga keamanan penyimpanan
informasi SMS dan pengiriman SMS pada sistem operasi Android dengan menerapkan algoritma RC4
untuk mengenkripsi dan mendekripsi SMS. Handphone yang digunakan adalah handphone yang
mendukung Android karena aplikasi ini akan di-install terlebih dahulu pada handphone pengguna.
Metodologi penelitian yang digunakan penulis adalah metode Rational Unified Process (RUP) yang
terdiri dari 4 tahapan yaitu : tahap Inception, Elaboration, Construction, dan Transition.Penerapan RC4
pada proses enkripsi dan dekripsi SMS pada ponsel berbasis Android membantu pengguna dalam menjaga
keamanan dan kerahasiaan penyimpanan informasi SMS yang dikirim dan diterima.Kata Kunci : Algoritma RC4, enkripsi, dekripsi, RUP.
Abstract : Mobile phone owners can exchange information via SMS to other mobile phone owners.
However, users are not aware of whether the information sent is held secure and confidential. The
purpose of this paper is to maintain the security of information storage and delivery of SMS texting on
the Android operating system by implementing a RC4 algorithm to encrypt and decrypt SMS. This
research is using mobile phone supported by android because these applications will be installed prior to
the user's mobile phone. The research methodology used by the author is Rational Unified Process
(RUP), consists of 4 stages: stage Inception, Elaboration, Construction, and Transition. Implementation
of the RC4 algorithm using the encryption and decryption process SMS on Android-based phone helps
the user in maintaining the security and confidentiality of information storage of SMS sent and received.
Key Word : Algorithme hybrid RC4, encryption, decryption, RUP.
1 PENDAHULUAN mengirimkan pesan singkat kepada
Keamanan merupakan aspek yang pengguna telepon seluler lainnya dengan sangat penting dalam berkomunikasi cepat dan biaya yang murah. Oleh karena dengan menggunakan komputer dan itu layanan ini lebih diminati dan sering perangkat komunikasi lainnya. Kerahasiaan digunakan oleh pengguna telepon seluler data atau informasi harus terjaga dari pihak untuk berkomunikasi. yang tidak berwenang hingga data atau informasi tersebut terkirim kepada
2 LANDASAN TEORI
penerima yang semestinya. Salah satu alat
2.1 SMS
komunikasi yang saat ini banyak digunakan Short Messaging Service (SMS) adalah telepon seluler. merupakan salah satu fitur dari GSM yang Telepon seluler adalah alat dikembangkan dan distandarisasi oleh komunikasi yang menyediakan media ETSI. Pada saat kita mengirim pesan SMS komunikasi beragam dan salah satunya dari handphone, maka pesan SMS tersebut adalah media SMS (Short Message Service). tidak langsung dikirim ke handphone
SMS merupakan suatu layanan untuk tujuan, akan tetapi terlebih dahulu dikirim ke SMS Center (SMSC) dengan prinsip
Store and Forward, setelah itu baru dikirimkan ke handphone yang dituju.
Proses pengiriman SMS dapat dilihat pada dibawah ini.
SMSC Pengirim Penerima Gambar 1 : Skema Cara Kerja SMS
i := (i + 1) mod 256 j := (j + S[i]) mod 256 swap values of S[i] and S[j] K := S[(S[i] + S[j]) mod 256] output K
while GeneratingOutput:
i := 0 j := 0
2.2 Algoritma RC4
Kemudian langkah yang terakhir yang di lakukan adalah operasi XOR k dengan plaintext nilai k yang sudah didapatkan dari langkah di atas kemudian dimasukkan dalam operasi XOR dengan plaintext yang ada, dengan sebelumnya pesan dipotong-potong terlebih dahulu menjadi byte-byte. Setelah operasi ini dilakukan, langkah satu kembali dilakukan untuk mendapatkan indeks baru dari setiap elemen S. Bagan Alir
for i from 0 to 255
S[i] := i
Step selanjut nya inisialisasikan kembali i dan j dengan angka 0 kemudian di lakukan perhitungan untuk keluaran yang akan di hasilkan dengan memasukan variable i dan j ke dalam masing-masing rumus yang telah di sediakan, kemudian di lakukan pertukaran kembali antara S[i] dan S[j] sampai teks yang akan di enkrip selesai, untuk mendapatkan nilai keystream nya masukan kembali nilai s dan j nya kemudian di mod kan dan akan mendapatkan hasil dari nilai keystream tersebut
j := 0
for i from 0 to 255
j := (j + S[i] + key[ikeylength]) mod 256 swap values of S[i] and S[j]
endfor
Masukan i dari dengan nilai dari 0 sampai 255 setelah itu nilai i menjadi nilai di dalam S[i], kemudian inisialisikan j dengan 0, kemudian masukan kedalam rumus j menjadi 0 di tambah S[i] yang di beri nilai tadi antara 0 sampai 255 kemudian panjangan dari sebuah text yang akan di masukan di mod kan dengan 256, kemudian setelah di dapat S[i] di tukar kan dengan nilai S [j] yang di dapat di dalam perhitungan di atas.
XOR merupakan operasi logik yang membandingkan dua bit biner. Jika bernilai beda maka akan dihasilkan nilai 1. Jika kedua bit sama maka hasilnya adalah 0. Kemudian penerima pesan akan mendekripnya dngan meng XOR-kan kembali dengan kunci yang sama agar dihasilkan pesan dari plaintext tersebut(Hanriyawan, 2004). cara kerja algoritma RC4 sebagai berikut. Proses Inisalisasi S-Box (Array S), Secara pseudocode langkah ini dapat dituliskan sebagai berikut.
Algoritma RC4 memiliki dua fase, setup kunci dan pengenkripsian. Setup untuk kunci adalah fase pertama dan yang paling sulit dalam algoritma ini setup Sbit kunci (S merupakan panjang dari kunci), kunci enkripsi digunakan untuk menghasilkan variabel enkripsi yang menggunakan dua buah array, state dan kunci, dan sejumlah-S hasil dari operasi penggabungan. Operasi penggabungan ini terdiri dari pemindahan (swapping) byte, operasi modulo, dan rumus lain. Operasi modulo merupakan proses yang menghasilkan nilai sisa dari satu pembagian. Sebagai contoh, 11 dibagi 4 adalah 2 dengan sisa pembagian 3, begitu juga jika tujuh modulo empat maka akan dihasilkan nilai tiga. Variabel enkripsi dihasikan dari setup kunci dimana kunci akan di XOR-kan dengan plain text untuk menghasilkan teks yang sudah terenkripsi.
endwhile
Inisialisasi S - Box Simpan Key dalam Key byte
endfor
Gambar 1 : Bagan Alir Algoritma RC4 Proses Dekripsi RC4
class diagram, dan sequence diagram.
Generate Pseudorandom byte
Analisis kebutuhan dilakukan sebelum melakukan tahap desain sistem Permutasi untuk S - Box
3.4 Analisis Kebutuhan
e. Mengexor kan message dengan plaintext yang akan di enkrip
c. Dilakukan pencarian pseudorandom byte d. Di lakukan pencarian keystream
b. Setelah melakuakn inisial melakukan pengacakan sbox dan di lakukan pertukaran
1. Langkah pertama adalah sebagai berikut: a. Inisial sbox s dan k
Proses kerja algoritma RC4 adalah sebagai berikut:
3.3 Algoritma RC4
(user) yang merupakan target dari perancangan aplikasi yang dibuat penulis. Penyerahan dilakukan apabila pengimplementasian telah selesai dilakukan. Kemudian, penulis melakukan uji coba terhadap aplikasi dengan meminta respon dari pengguna (user), tentag aplikasi menggunakan penyebaran kuesioner sebagai media untuk melihat respon dari pengguna (user). Tahap ini dijelaskan pada bab 3 dan bab 4.
d. Transition (Tahap Pengembangan) Pada tahap ini, penulis menyerahkan aplikasi kepada pengguna
c. Construction (Tahap Implementasi) Pada tahap ini, penulis memeriksa kembali hasil dari tahap analisis dan desain. Apakah kedua tahap tersebut telah sesuai dengan analisis yang dilakukan. Apabila semuanya telah sesuai, maka penulis selanjutnya melakukan pengimplementasian dengan pembuatan perancangan aplikasi pada perangkat keras. Tahap ini dijelaskan pada bab 3 dan bab 4.
Tahap ini dijelaskan pada bab 3.
(Inception), maka penulis mulai melakukan perancangan system secara lengkap. Mulai dari merancang tampilan (Interface), package diagram,
Proses dekripsi merupakan proses mengubah pesan rahasia ciphertext) menjadi pesan asli (plaintext). secara deskriptif algoritma RC4 dapat mengenkrip plainteks dengan cara melakukan operasi
b. Elaboration (Tahap Desain) Berdasarkan hasil analisis yang diperoleh dari tahap analisis
fungsional. Tahap ini dijelaskann pada bab 1 dan bab 3.
Use case dan kebutuhan non
dibagi menjadi dua, yaitu kebutuhan fungsional yang digambarkan melului
diagram. Analisis kebutuhan user
Pada tahap ini, penulis melakukan analisis sistem yang meliputi ruang lingkup, kebutuhan user, analisis pemecahan masalah, serta logika prosedural sistem dengan activity
RUP (Rational Unified Process) yang terbagi dalam empat fase sebagai berikut: a. Inception (Tahap Analisis)
Process). Penulis menggunakan metodologi
Metodologi yang digunakan dalam perancangan aplikasi enkripsi dan dekripsi data file dengan menggunakan algoritma RC4 adalah RUP (Rational Unified
3.2 Metodologi
Pada pengembangan rancangan aplikasi enkripsi dan dekripsi SMS menggunakan algoritma RC4 diperlukan dua kebutuhan dalam lingkungan pengembangan sistem, yaitu perangkat lunak (Software) dan perangkat keras (Hardware).
3.1 Lingkungan Pengembangan Program
XOR terhadap plainteks dengan kunci.plainteks
3 ANALISIS SISTEM YANG BERJALAN
(system design). Pada analisis kebutuhan ini, akan dibahas mengenai analisis kebutuhan kebutuhan fungsional beserta logika prosedural sistem.
Usecase Diagram Enkripsi dan Dekripsi Pesan Menulis pesan Mengirim Proses Enkrip Pesan
Actor
Gambar 3: Tampilan Halaman Utama Membaca Proses Dekrip Pesan
4.2 Halaman Menu Gambar 2 : Use Case Implementasi
Mengisi nomor yang dituju, kunci, dan isi SMS yang ada pada aplikasi.
Algoritma RC4 Tampilan halaman menu dapat dilihat pada gambar dibawah ini.
Tabel 12 : Glosarium No Nama Use Case Dekripsi Use Case 1 Menulis pesan Use case ini menggambarkan Pengguna ketika pengguna menulis pesan . Use Case Use Case Pelaku 3 Enkripsi pesan Use case ini menggambarkan Pengguna
2 Mengirim Pesan Use case ini mengambarkan Pengguna pesan yang telah di enkripsi ketika penguna akan mengirim ketika pengguna ingin mengenkripsi suatu pesan. Gambar 4 : Tampilan Halaman Menu
4.3 Halaman Hasil dekripsi 4 Membaca Pesan Use case ini mengambarkan Sistem ketika penguna mendapatkan Tampilan enkripsi dan dekripsi. sms yang telah di enkripsi Halaman ini dapat dilihat pada gambar 5 Proses Dekripsi Use case ini menggambarkan Pengguna ketika sistem menampilkan hasil dekrispsi pesan. dibawah ini.
4 RANCANGAN SISTEM
4.1 Halaman Utama
Halaman tampilan mengisi no yang dituju, 8 digit kunci, dan isi sms.
Gambar
Tampilannya dapat dilihat pada gambar
Gambar 5: Tampilan Halaman enkripsi dibawah ini.
dan dekripsi
4.4 Evaluasi
Tabel 1: Pengujian Mengunakan Smartphone Berbeda Tetapi Versi Android Sama dan Mengunakan Provider Sama Jumlah Karakter Dengan Enkripsi Tanpa Enkripsi Terima (Detik) Kirim (Detik) Terima (Detik) Kirim (Detik)
5 60 110 70 100 20 180 240 230 210 50 230 300 210 260 75 165 240 170 225
100 300 350 262 310 125 410 480 355 500 160 440 690 570 840
Tabel 2 : Pengujian Mengunakan Smartphone Berbeda Tetapi Versi Android Berbeda dan Mengunakan Provider Berbeda Jumlah Karakter Dengan Enkripsi Tanpa Enkripsi Terima (Detik) Kirim (Detik) Terima (Detik) Kirim (Detik)
5 90 115 110 120 20 181 244 125 188 50 240 300 180 244 75 180 252 190 225
100 300 325 259 312 125 418 453 345 490 160 460 560 438 585
Tabel 3 : Pengujian Mengunakan Smartphone Sama Tetapi Versi Android Berbeda dan Mengunakan Provider Sama
Jumlah Karakter Dengan Enkripsi Tanpa Enkripsi Terima (Detik) Kirim (Detik) Terima (Detik) Kirim (Detik)
5
33
42
20
22
28
30
43
50
25
28
34
37
75
27
29
35 100
25
36
40
42
44 125
44
55
49
54 160
53
56
60
64
Berdasarkan hasil pembahasan pada bab-bab sebelumnya dalam laporan skripsi ini, maka dapat disimpulkan sebagai berikut :
1. Dengan adanya aplikasi keamanan sms dengan menerapkan metode RC4 untuk enkripsi pada sms berbasis android sehingga user dapat menggunakan aplikasi yang lebih aman untuk pertukaran data
32
20
18
19
21
30
39
20
20
22
28
40
50
20
24
26
30
75
23
5
23
Jumlah Karakter Dengan Enkripsi Tanpa Enkripsi Terima (Detik) Kirim (Detik) Terima (Detik) Kirim (Detik)
70 Tabel 4 : Pengujian Mengunakan Smartphone Sama Tetapi Versi Android Berbeda dan Mengunakan Provider Berbeda
62
59
55
53 160
47
50
48
49 125
40
44
36
25 100
5 PENUTUP
5.1 Kesimpulan
melalui sms agar privasi pengguna Budi Susanto, Ivan Wibowo & Junius lebih terjamin Karel, 2009. Penerapan Algoritma
2. Pada ponsel berbasis Android, Kriptografis Asimetris untuk pesan dapat diukur kecepatan dan keamanan data, Jurnal Informatika. waktu pada saat mengenkripsikan Vol 5, No.1. pesan dan dapat memberikan Cepy Slamet, Dini Destiani & Rodwan keamanan saat pengiriman pesan. Setiawan, 2012. Perancangan sistem Selanjutnya, pesan dapat didekripsi pakar. Vol 09. No.1. dengan aplikasi yang sama. Eko Arubiwi, 2008. Aplikasi Pengamanan dokumen dengan algoritma kriptografi
5.2 Saran kunci asimetris, Vol 2, No.2.
Adapun saran-saran yang ingin Novi Dian Nathasia and Anang eko disampaikan oleh penulis yaitu sebagai Wicaksono “Penerapan teknik berikut : Kriptografi stream cipher untuk
1. Bagi yang ingin mengembangkan pengaman basis data”, Malang, 2011.
aplikasi ini disarankan agar mengembangkan aplikasi tidak hanya untuk keamanan pesan teks saja melainkan dapat memberikan keamanan image juga.2. Aplikasi ini hanya dapat
memberikan keamanan pesan dalam bentuk teks sehingga penulis berharap dapat dikembangkan untuk keamanan
image seperti : png, jpg,dll.
3. Aplikasi ini hanya dapat
mengenkripsi dan mendekripsi pesan saja sehingga penulis berharap dapat dikembangkan dengan membuat kotak penyimpanan khusus hasil enkripsi/dekripsi.
DAFTAR PUSTAKA
Ariyus, Dony dan Rum Andri K.R 2008,Komunikasi Data, ANDI, Yogyakarta.
Andri Budiman, Dedy Arisandi & Reza, 20012. Pengamanan file teks mengunakan algoritma Asimetri, Vol
1. No.1. Arun Kumar, Shefalika Ghosh & Swagat
Ranjan, 2012 Increasing Robustness of
RC4 Family For Automated Selection of Ciphersuites. Procedia Engineering.
Vol 30. No (45-52). Alfikri, Zakry. F2010, Studi dan Analisis
Dua Algoritma Block Chiper : RC4,
Program Studi Teknik Informatika
ITB, Bandung