IMPLEMENTASI ALGORITMA XOR DAN ALGORITMA RC4 PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID SKRIPSI TANTA ADITYA PRANATA 111401122 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
IMPLEMENTASI ALGORITMA XOR DAN ALGORITMA RC4 PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer TANTA ADITYA PRANATA 111401122 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
ii PERSETUJUAN Judul : IMPLEMENTASI ALGORITMA XOR DAN ALGORITMA RC4 PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID Kategori : SKRIPSI Nama : TANTA ADITYA PRANATA Nomor Induk Mahasiswa : 111401122 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen Fakultas Komisi Pembimbing : : ILMU KOMPUTER : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Diluluskan di Medan, Januari 2016 Pembimbing 2 Pembimbing 1 Amalia, ST, MT Dr. Poltak Sihombing, M.Kom Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
iii PERNYATAAN IMPLEMENTASI ALGORITMA XOR DAN ALGORITMA RC4 PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, November 2015 Tanta Aditya Pranata 111401122
iv PENGHARGAAN Puji dan syukur atas kehadirat Allah SWT karena dengan rahmat dan izin-nya, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Fasilkom-TI Universitas Sumatera Utara. Dan tidak lupa sholawat dan salam selalu dipersembahkan kepada Rasulullah SAW sebagai pembawa kebenaran yang telah membawa kita dari alam kegelapan (jahiliyah) ke alam terang benderang yang penuh dengan ilmu pengetahuan seperti saat ini. Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar besarnya kepada : 1. Bapak Prof. Drs. Subhilhar, M.A., Ph.D selaku Pejabat Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 3. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 4. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan selaku Dosen Pembimbing I yang telah memberikan bimbingan, masukan dan saran dalam penyempurnaan skripsi ini. 5. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara. 6. Ibu Amalia, ST, MT selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini. 7. Bapak M. Andri Budiman, ST, M.Comp.Sc, M.E.M selaku Dosen Pembanding I yang telah memberikan kritik, dan saran kepada penulis dalam pengerjaan skripsi ini. 8. Bapak Ade Candra, ST, M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran kepada penulis dalam pengerjaan skripsi ini.
v 9. Seluruh Dosen serta pegawai tata usaha di Program Studi S1 Ilmu Komputer Fasilkom-TI USU yang telah memperlancar semua urusan penulis dalam menyelesaikan administrasi. 10. Kedua orang tua saya yaitu Surahman dan Rispa serta kedua adik saya Fikri Al-Akbari dan Fadli Al-Ikhsal yang telah memberikan kasih sayang, doa, semangat, motivasi dan bantuan yang tak ternilai kepada penulis dalam menyelesaikan skipsi ini. 11. Sahabat-sahabat penulis Anggiat, Juca, Reza, Agus serta semua temanteman perumahan, SD, SMP, SMA penulis yang sampai saat ini selalu memberikan dukungan dan motivasi, terkhusus kepada Anggiat dan Juca. 12. Nurhayati Lubis S.Kom atas semangat, dukungan, perhatian, kasih sayang, pengertian, dan kesabaran dalam mendengarkan keluh kesah penulis, semoga kita sama-sama sukses di masa depan. 13. Teman-teman seperjuangan dalam mengerjakan skripsi ini, Henry, Patra, Edwin, Farid, Fernandes, Samuel serta teman-teman Pengurus IMILKOM periode 2014/2015 yang telah memberikan banyak saran, hiburan, dukungan, bantuan, dan semangat dalam pengerjaan skripsi ini. 14. Teman-teman seperjuangan stambuk 2011 yang sedang mengerjakan skripsi khususnya Kom A 2011, 4 tahun penuh suka dan duka bersama kalian semoga kita bisa sukses, tetap kompak serta tetap menjalin silaturahim kelak. 15. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis ucapkan satu demi satu yang telah membantu penulis dalam menyelesaikan skripsi ini. Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Penulis menyadari bahwa skripsi ini masih memiliki banyak kekurangan dan jauh dari kesempurnaan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun untuk menyempurnakan skripsi ini sehingga dapat bermanfaat bagi semua pihak. Medan, November 2015 Tanta Aditya Pranata
vi ABSTRAK Kriptografi dapat dimanfaatkan untuk mengamankan pengiriman pesan pada smartphone berbasis Android. Pada penelitian ini penulis mengkombinasikan kriptografi klasik dan kriptografi modern dengan tujuan untuk memperkuat keamanan pesan. Untuk kriptografi klasik, penulis memilih algoritma XOR dikarenakan mudah diimplementasikan dan tidak sulit secara komputasional. Untuk kriptografi modern, penulis memilih algoritma RC4 dikarenakan proses algoritma ini cepat dan juga kuat. Proses pengamanan pesan diawali dengan proses enkripsi plainteks menggunakan algoritma XOR untuk menghasilkan cipherteks pertama yang disebut cipherxor. Selanjutnya cipherxor dienkripsi lagi dengan algoritma RC4 sehingga menghasilkan cipherteks akhir. Sedangkan untuk proses dekripsi, tahap awal cipherteks didekripsi dengan algoritma RC4 untuk mendapatkan cipherxor. Kemudian cipherxor didekripsi lagi dengan algoritma XOR untuk menghasilkan plainteks kembali. Hasil dari penelitian ini menunjukkan bahwa waktu pemrosesan enkripsi dan dekripsi dari kombinasi algoritma XOR dan algoritma RC4 lebih efisien dibandingkan dengan penjumlahan waktu pada proses enkripsi maupun proses dekripsi masing-masing algoritma tersebut. Untuk proses enkripsi selisihnya adalah 0,015 detik sedangkan untuk proses dekripsi selisihnya adalah 0,016 detik. Waktu tersebut juga berbanding lurus dengan panjang plainteks. Kunci : Kriptografi, Enkripsi, Dekripsi, XOR, RC4, Android
vii IMPLEMENTATION OF XOR ALGORITHM AND RC4 ALGORITHM IN TEXT ENCRYPTION AND DECRYPTION APPLICATION BASED ON ANDROID ABSTRACT Cryptography can be used to secure the delivery of messages on an Android-based smartphone. In this research, the authors combine classical cryptography and modern cryptography with the aim to strengthen the security of message. For classical cryptography, the author chose XOR algorithm because it s easy to implement and it s not difficult computationally. For modern cryptography, the author chose RC4 algortihm because the process of this algorithm is fast and the security is also strong. The process of securing message begins with encryption process of plaintext using XOR algorithm to produce a first ciphertext that called cipherxor. Furthermore, the cipherxor is encrypted again with RC4 algorithm to produce last ciphertext. As for the decryption process, the first step ciphertext is decrypted with RC4 algorithm to get cipherxor. Cipherxor then decrypted again with the XOR algorithm to generate the plaintext back. The results from this research showed that the encryption and decryption processing time of the combination of XOR algorithm and RC4 algorithm is more efficient than the sum of encryption and decryption processing time each of both algorithms. For the encryption process difference was 0.015 seconds while the decryption process difference was 0.016 seconds. That time is also directly proportional to the lenght of plaintext. Keyword : Cryptography, Encryption, Decryption, XOR, RC4, Android
viii DAFTAR ISI Hal. Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar isi Daftar Gambar Daftar Tabel Daftar Lampiran ii iii iv vi vii viii x xii xiii Bab 1 Pendahuluan 1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3 1.6 Metodologi Penelitian 4 1.7 Sistematika penulisan 5 Bab 2 Landasan Teori 2.1 Kriptografi 6 2.1.1 Sejarah Kriptografi 6 2.1.2 Algoritma Kriptografi 6 2.2 Macam-Macam Algoritma Kriptografi 7 2.2.1 Algoritma Simetri 7 2.2.2 Algoritma Asimetri 8 2.3 Tipe dan Model Algoritma Kriptografi 9 2.3.1 Aliran kode 9 2.3.2 Blok kode 12 2.4 Algoritma Kriptografi XOR 14 2.5 Algoritma Kriptografi RC4 16 2.5.1 Key Scedulling Algorithm 17 2.5.2 Pseudo Random Generation Algorithm 19 2.6 Android 20 2.7 Penelitian yang Relevan 21 Bab 3 Analisis dan Perancangan Sistem 3.1 Analisis Sistem 22 3.1.1 Analisis Masalah 22 3.1.2 Analisis Kebutuhan 23 3.1.3 Analisis Proses 24
ix 3.2 Pemodelan 25 3.2.1 Use Case Diagram 25 3.2.2 Activity Diagram 29 3.2.3 Sequence Diagram 31 3.3 Flowchart 32 3.3.1 Flowchart Sistem 32 3.3.2 Flowchart Program Enkripsi Pesan dengan Algoritma XOR 34 3.3.3 Flowchart Program Enkripsi Pesan dengan Algoritma RC4 35 3.3.4 Flowchart Program Dekripsi Pesan dengan Algoritma RC4 36 3.3.5 Flowchart Program Dekripsi Pesan dengan Algoritma XOR 37 3.4 Pseudocode 38 3.4.1 Pseudocode Proses Enkripsi Pesan 38 3.4.2 Pseudocode Proses Dekripsi Pesan 40 3.5 Perancangan Antarmuka 41 3.5.1 Form Home 42 3.5.2 Form Main Menu 43 3.5.3 Form Encryption 44 3.5.4 Form Decryption 45 3.5.5 Form Help 47 3.5.6 Form About 48 Bab 4 Implementasi dan Pengujian 4.1 Implementasi Sistem 49 4.1.1 Form Home 49 4.1.2 Form Main Menu 50 4.1.3 Form Encryption 50 4.1.4 Form Decryption 51 4.1.5 Form Help 51 4.1.6 Form About 52 4.2 Pengujian 52 4.2.1 Pengujian Hasil Enkripsi 53 4.2.2 Pengujian Hasil Dekripsi 64 4.2.3 Hubungan Waktu Proses Enkripsi dan Dekripsi Terhadap Plaintext 71 Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 74 5.2 Saran 75 Daftar Pustaka 76
x DAFTAR GAMBAR Hal. Gambar 2.1 Proses Enkripsi dan Dekripsi 7 Gambar 2.2 Kriptografi Simetri 8 Gambar 2.3 Kriptografi Asimetri 9 Gambar 2.4 Konsep Stream Cipher 10 Gambar 2.5 Contoh Stream Cipher 11 Gambar 2.6 Proses Stream Cipher 11 Gambar 2.7 Proses Enkripsi dan Dekripsi Block Cipher 13 Gambar 2.8 Gerbang logika XOR 14 Gambar 3.1 Diagram Ishikawa 23 Gambar 3.2 Use Case Diagram 26 Gambar 3.3 Activity Diagram Proses Enkripsi 29 Gambar 3.4 Activity Diagram Proses Dekripsi 30 Gambar 3.5 Sequence Diagram untuk Proses Enkripsi 31 Gambar 3.6 Sequence Diagram untuk Proses Dekripsi 32 Gambar 3.7 Flowchart Sistem 33 Gambar 3.8 Flowchart Program Enkripsi Pesan dengan Algoritma XOR 34 Gambar 3.9 Flowchart Program Enkripsi Pesan dengan Algoritma RC4 35 Gambar 3.10 Flowchart Program Dnkripsi Pesan dengan Algoritma RC4 36 Gambar 3.11 Flowchart Program Dekripsi Pesan dengan Algoritma XOR 37 Gambar 3.12 Rancangan Antarmuka Form Home 42 Gambar 3.13 Rancangan Antarmuka Form Main Menu 43 Gambar 3.14 Rancangan Antarmuka Form Encryption 44 Gambar 3.15 Rancangan Antarmuka Form Decryption 45 Gambar 3.16 Rancangan Antarmuka Form Help 47 Gambar 3.17 Rancangan Antarmuka Form About 48 Gambar 4.1 Form Home 49 Gambar 4.2 Form Main Menu 50 Gambar 4.3 Form Encryption 50 Gambar 4.4 Form Decryption 51 Gambar 4.5 Form Help 51 Gambar 4.6 Form About 52 Gambar 4.7 Contoh Proses Enkripsi dan Hasilnya 53 Gambar 4.8 Contoh Proses Share Ciphertext Melalui Gmail 54 Gambar 4.9 Pesan Peringatan Ketika Plaintext Tidak Dimasukkan 54 Gambar 4.10 Pesan Peringatan Ketika Salah Satu Kunci Tidak Diisi 55 Gambar 4.11 Pesan Peringatan Ketika Panjang Kunci XOR > Panjang Plaintext 55
Gambar 4.12 Contoh Proses Dekripsi dan Hasilnya 65 Gambar 4.13 Contoh Proses Share Plaintext Melalui Aplikasi Pesan Xiaomi 65 Gambar 4.14 Pesan Peringatan Ketika Ciphertext Tidak Dimasukkan 66 Gambar 4.15 Pesan Peringatan Ketika Salah Satu Kunci Tidak Diisi 66 Gambar 4.16 Pesan Peringatan Ketika Panjang Kunci XOR > Panjang Ciphertext 67 xi
xii DAFTAR TABEL Hal. Tabel 2.1 Tabel XOR 14 Tabel 2.2 Larik 256 Byte Kotak-S Awal 17 Tabel 2.3 Larik 256 Byte Kunci 18 Tabel 2.4 Larik 256 Byte Kotak-S Akhir 18 Tabel 3.1 Naratif Use Case Encryption 26 Tabel 3.2 Naratif Use Case Decryption 27 Tabel 4.1 Tabel Modifikasi untuk Algoritma XOR 56 Tabel 4.2 Hasil Pengujian Lamanya Waktu Proses Enkripsi 71 Tabel 4.3 Hasil Pengujian Lamanya Waktu Proses Dekripsi 72 Tabel 4.4 Perbandingan Waktu Enkripsi dan Dekripsi 73
xiii DAFTAR LAMPIRAN A. Listing Program 78 B. Daftar Riwayat Hidup 94 Hal.