KOMBINASI ALGORITMA RSA 512-BIT DAN ONE TIME PAD UNTUK PENGAMANAN PESAN PADA NIC MESSENGER SKRIPSI SATRIA PRAYUDI 091402037 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
KOMBINASI ALGORITMA RSA 512-BIT DAN ONE TIME PAD UNTUK PENGAMANAN PESAN PADA NIC MESSENGER SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi SATRIA PRAYUDI 091402037 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
i PERSETUJUAN Judul : KOMBINASI ALGORITMA RSA 512-BIT DAN ONE TIME PAD UNTUK PENGAMANAN PESAN PADA NIC MESSENGER Kategori : SKRIPSI Nama : SATRIA PRAYUDI Nomor Induk Mahasiswa : 091402037 Program Studi Departemen Fakultas : SARJANA (S-1) TEKNOLOGI INFORMASI : TEKNOLOGI INFORMASI : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Diluluskan di Medan, 27 Juni 2013 Komisi Pembimbing : Pembimbing 2 Pembimbing 1 M. Andri Budiman S.T., Dedy Arisandi, ST.M.Kom M.Comp.Sc., M.E.M. NIP. 197908312009121002 NIP. 197510082008011011 Diketahui/Disetujui oleh Program Studi Teknologi Informasi Ketua, Prof. Dr. Opim Salim Sitompul, M.Sc NIP 19610817 198701 1001
ii PERNYATAAN KOMBINASI ALGORITMA RSA 512-BIT DAN ONE TIME PAD UNTUK PENGAMANAN PESAN PADA NIC MESSENGER SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, 27 Juni 2013 SATRIA PRAYUDI 091402037
iii PENGHARGAAN Puji dan syukur penulis panjatkan kepada Allah SWT Yang Maha Pengasih dan Maha Penyayang, dengan limpahan rahmat dan karunia-nya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Dalam penyelesaian tugas akhir ini, tidak terlepas dari bantuan dan kerjasama serta doa dan dukungan dari berbagai pihak, untuk itu penulis sampaikan ucapan terima kasih sedalam-dalamnya dan penghargaan kepada : 1. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi 2. Ketua dan Sekretaris Departemen Prof. Dr. Opim Salim Sitompul, M.Sc dan Drs. Sawaluddin, M.Sc yang telah memberikan dukungan, arahan dan bantuannya dalam menyelesaikan tugas akhir ini. 3. Seluruh dosen Departemen Teknologi Informasi dan Ilmu Komputer USU yang telah mengajarkan dan memberikan dukungan serta bantuannya dalam menyelesaikan tugas akhir ini. 4. Kepada Bapak M. Andri Budiman S.T., M.Comp.Sc., M.E.M. dan Bapak Dedy Arisandi, ST.M.Kom selaku pembimbing yang selalu memberikan arahan, bimbingan, keluangan waktu serta dukungan dalam menyelesaikan tugas akhir ini beserta Ibu Sarah Purnamawati S.T., M.Sc dan Bapak M. Fadly Syahputra B.Sc., M.Sc.IT yang bersedia menguji seminar hasil dan sidang sarjana saya. 5. Untuk kedua orang tua yang selalu memberi dukungan moril dan motivasi yang tak terhingga hingga saat ini. 6. Seluruh keluarga yang telah memberikan bantuan do a dan dorongan dalam menyelesaikan tugas akhir ini. 7. Sahabat-sahabat Zaki, Toyo, Ussi, Razi, Rafa, Wildan, Mulki, Zizi, Ari, Bagus, Rozy, Aang, Yogi, Denny, Nazam, Mahatir, abang-kakak senior, adik-adik junior, dan seluruh teman-teman seperjuangan yang tidak dapat disebutkan. 8. Ummi Salamah Lubis yang secara tidak langsung memberi semangat. Semoga segala kebaikan dan bantuannya dibalas oleh Allah SWT dan semoga tugas akhir ini dapat bermanfaat bagi semua pihak yang memerlukannya.
iv ABSTRAK Perkembangan dan pemakaian internet telah mendunia dewasa ini sudah semakin pesat, banyak dari kalangan pengguna baik kalangan siswa, mahasiswa dan pekerja perkantoran atau pelaku bisnis menggunakan fasilitas internet didalam penambahan ilmu pengetahuan dan mempermudah pekerjaan serta mendapatkan informasi dengan mudah, hal ini membuat developer aplikasi harus merubah acuannya dari merancang dan mendesain aplikasi yang bersifat desktop menjadi bersifat web-based, dengan memanfaatkan cloud computing. Banyak contoh aplikasi yang berjalan dan berkembang sukses saat ini dengan memanfaatkan cloud computing, yang penulis jadikan contoh dalam hal ini adalah aplikasi messenger atau aplikasi pengirim pesan tanpa biaya, mudah dan cepat dengan memanfaatkan fasilitas internet. Dalam perkembangan aplikasi messenger sangat membantu dalam pertukaran pesan, hal ini menjadi kesempatan kebocoran pesan semakin besar. Oleh karena itu diperlukan sebuah pendekatan untuk mengamankan pesan tersebut yaitu dengan menerapkan sistem kriptografi pada aplikasi messenger. Dalam penelitian ini penulis akan menerapkan sistem kriptografi asimetris RSA dan kriptografi simetris One Time Pad untuk mengamankan pesan. Berdasarkan pengujian yang telah dilakukan, kombinasi RSA dan One Time Pad dapat mengamankan pesan yang dikirim RSA teruji sebagai sistem kriptografi yang aman karena kesulitan dalam proses memfaktorkan bilangan yang sangat besar, dimana menggunakan sepasang bilangan prima sebagai kunci public dan privat sebesar 100 hingga 200 digit atau bahkan lebih besar (Schneier, 1996). Kata kunci: NIC Messenger, RSA Algorithm, One Time Pad Algorithm, Kriptografi Simetris, Kriptografi Asimetris.
v COMBINATION OF 512 BITS RSA ALGORITHMS AND ONE TIME PAD FOR MESSAGE SECURITY ON NIC MESSENGER SOFTWARE ABSTRACT Development and use of the internet has grown worldwide is now growing rapidly, many of the users of both the students and office workers or business people use the internet facility in the addition of science and facilitate the work and get information easily, this makes the application developer must change reference of designing a desktop application became web-based application, by utilizing cloud computing. Many examples of applications that are running and growing successful by utilizing cloud computing, the authors make an example in this regard is a messenger application or applications without the cost of sending a message, easily and quickly by utilizing the internet. During its development, messenger applications are very helpful in the exchange of messages, it became an opportunity to greater leak message. Therefore we need an approach to securing these messages by applying cryptographic systems on messenger application. In this study the authors will apply the RSA assymmetric cryptographic system and the One Time Pad symmetric cryptographic system to securing these messages. Based on the testing that has been done, a combination of RSA and One Time Pad can secure messages. RSA tested as secure cryptographic system because of difficulties in the process of factoring very large numbers, where RSA using a pair of prime numbers as a public and private key of 100 to 200 digits or even larger (Schneier, 1996). Keywords: NIC Messenger, RSA Algorithm, One Time Pad Algorithm, symmetric cryptography, asymmetric cryptography.
vi DAFTAR ISI PERSETUJUAN... i PERNYATAAN... ii PENGHARGAAN... iii ABSTRAK... iv ABSTRACT... v DAFTAR ISI... vi DAFTAR TABEL... ix DAFTAR GAMBAR... x BAB 1 PENDAHULUAN... 1 1.1. Latar Belakang... 1 1.2. Rumusan Masalah... 2 1.3. Batasan Masalah... 2 1.4. Tujuan Penelitian... 3 1.5. Manfaat Penelitian... 3 1.6. Sistematika Penulisan... 3 BAB 2 TINJAUAN PUSTAKA... 5 2.1. Pertukaran Data... 5 2.2. Keamanan Informasi... 5 2.3. Android... 6 2.4. Kriptografi... 6 2.4.1. Algoritma RSA... 7 2.4.2. Algoritma LCG (Linear Congruential Generators)... 99 2.4.3. Fermat s Primality Test... 10 2.4.4. Algoritma Rabin-Miller... 12 2.4.5. Algoritma One Time Pad... 12 2.5. Database... 14 2.5.1. DBMS... 14 2.5.2. MySQL... 15
vii 2.6. PHP... 15 2.7. DFD... 16 2.8. UML (Unified Modelling Language)... 16 2.9. Penelitian Terdahulu... 17 BAB 3 ANALISIS DAN PERANCANGAN... 19 3.1. Use Case Diagram... 19 3.2. Data Flow Diagram... 20 3.2.1. DFD Level 0... 20 3.2.2. DFD Level 1... 21 3.2.3. DFD Manajemen Chat Level 2... 22 3.2.4. DFD Manajemen Teman Level 2... 23 3.2.5. DFD Manajemen Pengguna Level 2... 24 3.3. Flowchart... 24 3.3.1. Flowchart Sistem... 25 3.3.2. Flowchart Enkripsi Pesan... 28 3.3.3. Flowchart Dekripsi Pesan... 35 3.4. Perancangan Sistem... 39 3.4.1. Kebutuhan Perangkat Lunak... 39 3.4.2. Perancangan Antar Muka Sistem... 39 3.5. Perancangan Database... 47 3.5.1. Perancangan Database... 47 3.5.2. Relasi Antar Tabel... 49 BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM... 50 4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak... 50 4.2. Uji Batasan... 51 4.3. Pengujian Sistem Secara Menyeluruh... 58 4.3.1. Pengujian Pada Sisi User... 58 4.4. Analisis Kriptografi Terhadap Sistem... 72 4.4.1. Analisis Keamanan Pesan Antar Pengguna NIC Messenger... 72 4.4.2. Analisis Performa NIC Messenger... 75
viii BAB 5 KESIMPULAN DAN SARAN... 78 5.1. Kesimpulan... 78 5.2. Saran... 78 DAFTAR PUSTAKA... 80 LAMPIRAN KODE PROGRAM... 82
ix DAFTAR TABEL Tabel 2.1 Tabel Penelitian Terdahulu 18 Tabel 4.1 Tabel Hasil Pengujian Lama Proses Enkripsi dan Dekripsi 75 Hal
x DAFTAR GAMBAR Hal Gambar 3.1 Use Case Diagram 19 Gambar 3.2 Diagram Konteks 20 Gambar 3.3 DFD Level 1 21 Gambar 3.4 DFD Manajemen Chat Level 2 22 Gambar 3.5 DFD Manajemen Teman Level 2 23 Gambar 3.6 DFD Manajemen Pengguna Level 2 24 Gambar 3.7 Flowchart Sistem 25 Gambar 3.8 Flowchart Halaman Utama 26 Gambar 3.9 Flowchart Proses Enkripsi 28 Gambar 3.10 Enkripsi One Time Pad 29 Gambar 3.11 Enkripsi RSA 512-Bit 30 Gambar 3.12 Uji Bilangan Prima 31 Gambar 3.13 Flowchart Proses Dekripsi 35 Gambar 3.14 Dekripsi RSA 512-Bit 36 Gambar 3.15 Dekripsi One Time Pad 37 Gambar 3.16 Form Registrasi 40 Gambar 3.17 Form Login 41 Gambar 3.18 Halaman Utama 41 Gambar 3.19 Halaman Daftar Teman 42 Gambar 3.20 Halaman Hapus Teman 43 Gambar 3.21 Halaman Daftar Pengguna 44 Gambar 3.22 Halaman Tambah Teman 45 Gambar 3.23 Halaman Form Chat 46 Gambar 3.24 Table User 47 Gambar 3.25 Table Chat 48 Gambar 3.26 Table Nic List 48 Gambar 3.27 Database Relationship 49 Gambar 4.1 Proses Enkripsi Pesan 52
xi Gambar 4.2 Proses Enkripsi Kunci OTP 52 Gambar 4.3 Proses Pembangkit Kunci OTP 53 Gambar 4.4 Proses Enkripsi OTP 54 Gambar 4.5 Proses Dekripsi OTP 54 Gambar 4.6 Proses Pembangkit Bilangan Acak 55 Gambar 4.7 Proses Pembangkit Bilangan Prima Acak 55 Gambar 4.8 Proses Pengujian Bilangan Prima 56 Gambar 4.9 Proses Mendapatkan Nilai P dan Q 57 Gambar 4.10 Proses Mendapatkan Nilai E 57 Gambar 4.11 Proses Mendapatkan Nilai D 58 Gambar 4.12 Halaman Registrasi 59 Gambar 4.13 Halaman Login 60 Gambar 4.14 Halaman Utama 61 Gambar 4.15 Halaman Menu Pada Pertemanan 62 Gambar 4.16 Halaman Daftar Chat 63 Gambar 4.17 Halaman Chat Kepada Teman 64 Gambar 4.18 Pengiriman Pesan 65 Gambar 4.19 Pesan Diterima 68 Gambar 4.20 Notifikasi Hapus Pesan 69 Gambar 4.21 Halaman List 70 Gambar 4.22 Halaman Menu Tambah Teman 71 Gambar 4.23 Sniffing Jaringan Dengan Wireshark 72 Gambar 4.24 Analisis HTTP Request 73 Gambar 4.25 Chat Setelah Dienkripsi 74 Gambar 4.26 Hasil Analisis Regresi Linier Lama Proses Enkripsi dan Dekripsi 77