eprints.mdp.ac.ideprints.mdp.ac.id/1035/1/58halimJurnal.doc · Web viewPENERAPAN ALGORITMA RC4...
Transcript of eprints.mdp.ac.ideprints.mdp.ac.id/1035/1/58halimJurnal.doc · Web viewPENERAPAN ALGORITMA RC4...
PENERAPAN ALGORITMA RC4 UNTUK ENKRIPSI DAN DEKRIPSI SMS BERBASIS ANDROID
Halim Dermawan ([email protected])Derry Alamsyah ([email protected])
Jurusan Teknik InformatikaSTMIK 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 PENDAHULUANKeamanan merupakan aspek yang
sangat penting dalam berkomunikasi dengan menggunakan komputer dan perangkat komunikasi lainnya. Kerahasiaan data atau informasi harus terjaga dari pihak yang tidak berwenang hingga data atau informasi tersebut terkirim kepada penerima yang semestinya. Salah satu alat komunikasi yang saat ini banyak digunakan adalah telepon seluler.
Telepon seluler adalah alat komunikasi yang menyediakan media komunikasi beragam dan salah satunya adalah media SMS (Short Message Service). SMS merupakan suatu layanan untuk
mengirimkan pesan singkat kepada pengguna telepon seluler lainnya dengan cepat dan biaya yang murah. Oleh karena itu layanan ini lebih diminati dan sering digunakan oleh pengguna telepon seluler untuk berkomunikasi.
2 LANDASAN TEORI2.1 SMS
Short Messaging Service (SMS) merupakan salah satu fitur dari GSM yang dikembangkan dan distandarisasi oleh ETSI. Pada saat kita mengirim pesan SMS dari handphone, maka pesan SMS tersebut tidak langsung dikirim ke handphone tujuan, akan tetapi terlebih dahulu dikirim
Hal - 1
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 PenerimaGambar 1 : Skema Cara Kerja SMS
2.2 Algoritma RC4Algoritma 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. 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.
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.
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
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
Hal - 2
for i from 0 to 255 S[i] := iendforj := 0for i from 0 to 255 j := (j + S[i] + key[i mod keylength]) mod 256 swap values of S[i] and S[j]endfor
i := 0j := 0while GeneratingOutput: 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 Kendwhile
Inisialisasi S - Box
Simpan Key dalam Key byte array
Gambar 1 : Bagan Alir Algoritma RC4
Proses Dekripsi RC4Proses dekripsi merupakan proses
mengubah pesan rahasia ciphertext) menjadi pesan asli (plaintext). secara deskriptif algoritma RC4 dapat mengenkrip plainteks dengan cara melakukan operasi XOR terhadap plainteks dengan kunci.plainteks
3 ANALISIS SISTEM YANG BERJALAN
3.1 Lingkungan Pengembangan ProgramPada 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.2 MetodologiMetodologi yang digunakan dalam
perancangan aplikasi enkripsi dan dekripsi data file dengan menggunakan algoritma RC4 adalah RUP (Rational Unified Process). Penulis menggunakan metodologi RUP (Rational Unified Process) yang terbagi dalam empat fase sebagai berikut:a. Inception (Tahap Analisis)
Pada tahap ini, penulis melakukan analisis sistem yang meliputi ruang lingkup, kebutuhan user, analisis pemecahan masalah, serta logika prosedural sistem dengan activity diagram. Analisis kebutuhan user dibagi menjadi dua, yaitu kebutuhan fungsional yang digambarkan melului Use case dan kebutuhan non fungsional. Tahap ini dijelaskann pada bab 1 dan bab 3.
b. Elaboration (Tahap Desain)
Berdasarkan hasil analisis yang diperoleh dari tahap analisis (Inception), maka penulis mulai melakukan perancangan system secara lengkap. Mulai dari merancang tampilan (Interface), package diagram, class diagram, dan sequence diagram. Tahap ini dijelaskan pada bab 3.
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.
d. Transition (Tahap Pengembangan)Pada tahap ini, penulis
menyerahkan aplikasi kepada pengguna (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.
3.3 Algoritma RC4Proses kerja algoritma RC4
adalah sebagai berikut:1. Langkah pertama adalah sebagai
berikut:a. Inisial sbox s dan kb. Setelah melakuakn inisial
melakukan pengacakan sbox dan di lakukan pertukaran
c. Dilakukan pencarian pseudorandom byte
d. Di lakukan pencarian keystreame. Mengexor kan message dengan
plaintext yang akan di enkrip
3.4 Analisis KebutuhanAnalisis kebutuhan dilakukan
sebelum melakukan tahap desain sistem
Hal - 3
Permutasi untuk S - Box
Generate Pseudorandom byte Stream
(system design). Pada analisis kebutuhan ini, akan dibahas mengenai analisis kebutuhan kebutuhan fungsional beserta logika prosedural sistem.
Gambar 2 : Use Case Implementasi
Algoritma RC4
Tabel 12 : Glosarium Use Case
No Nama Use Case Dekripsi Use Case Pelaku Use Case
1 Menulis pesan Use case ini menggambarkan ketika pengguna menulis pesan .
Pengguna
2 Mengirim Pesan Use case ini mengambarkan ketika penguna akan mengirim pesan yang telah di enkripsi
Pengguna
3 Enkripsi pesan Use case ini menggambarkan ketika pengguna ingin mengenkripsi suatu pesan.
Pengguna
4 Membaca Pesan Use case ini mengambarkan ketika penguna mendapatkan sms yang telah di enkripsi
Sistem
5 Proses Dekripsi Use case ini menggambarkan ketika sistem menampilkan hasil dekrispsi pesan.
Pengguna
4 RANCANGAN SISTEM
4.1 Halaman UtamaHalaman tampilan mengisi no yang
dituju, 8 digit kunci, dan isi sms. Tampilannya dapat dilihat pada gambar dibawah ini.
Gambar 3: Tampilan Halaman Utama
4.2 Halaman MenuMengisi nomor yang dituju, kunci,
dan isi SMS yang ada pada aplikasi. Tampilan halaman menu dapat dilihat pada gambar dibawah ini.
Gambar 4 : Tampilan Halaman Menu
4.3 Halaman Hasil dekripsiTampilan enkripsi dan dekripsi.
Halaman ini dapat dilihat pada gambar dibawah ini.
Gambar Gambar 5: Tampilan Halaman enkripsi
dan dekripsi
4.4 Evaluasi
Hal - 4
Usecase Diagram Enkripsi dan Dekripsi Pesan
Menulis pesan
Mengirim Pesan
Proses Enkrip
Membaca Pesan
Proses Dekrip
Actor
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
Hal - 5
Jumlah Karakter Dengan Enkripsi Tanpa Enkripsi
Terima (Detik) Kirim (Detik) Terima (Detik) Kirim (Detik)
5 18 21 30 39
20 20 22 28 40
50 20 24 26 30
75 19 23 23 25
100 36 44 40 49
125 48 50 47 53
160 55 59 62 70
Tabel 4 : Pengujian Mengunakan Smartphone Sama Tetapi Versi Android Berbeda dan Mengunakan Provider Berbeda
Jumlah Karakter Dengan Enkripsi Tanpa Enkripsi
Terima (Detik) Kirim (Detik) Terima (Detik) Kirim (Detik)
5 20 25 32 42
20 22 28 30 43
50 25 28 34 37
75 27 29 33 35
100 36 40 42 44
125 44 55 49 54
160 53 56 60 64
Hal - 6
5 PENUTUP
5.1 KesimpulanBerdasarkan 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 melalui sms agar privasi pengguna lebih terjamin
2. Pada ponsel berbasis Android, pesan dapat diukur kecepatan dan waktu pada saat mengenkripsikan pesan dan dapat memberikan keamanan saat pengiriman pesan. Selanjutnya, pesan dapat didekripsi dengan aplikasi yang sama.
5.2 SaranAdapun saran-saran yang ingin
disampaikan oleh penulis yaitu sebagai berikut :1. Bagi yang ingin mengembangkan
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
Budi Susanto, Ivan Wibowo & Junius Karel, 2009. Penerapan Algoritma Kriptografis Asimetris untuk keamanan data, Jurnal Informatika. Vol 5, No.1.
Cepy Slamet, Dini Destiani & Rodwan Setiawan, 2012. Perancangan sistem pakar. Vol 09. No.1.
Eko Arubiwi, 2008. Aplikasi Pengamanan dokumen dengan algoritma kriptografi kunci asimetris, Vol 2, No.2.
Novi Dian Nathasia and Anang eko Wicaksono “Penerapan teknik Kriptografi stream cipher untuk pengaman basis data”, Malang, 2011.
Hal - 7