IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA DAN RABIN
PADA THREE-PASS PROTOCOL UNTUK PENGAMANAN DATA
PADA APLIKASI CHAT BERBASIS ANDROID
SKRIPSI
JANUAR ANDI H SIRAIT
141421044
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA DAN RABIN PADA THREE-PASS PROTOCOL UNTUK PENGAMANAN DATA
PADA APLIKASI CHAT BERBASIS ANDROID SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
JANUAR ANDI H SIRAIT 141421044
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA DAN RABIN PADA THREE-PASS PROTOCOL UNTUK PENGAMANAN DATA PADA APLIKASI CHAT BERBASIS ANDROID
Kategori : SKRIPSI
Nama : JANUAR ANDI H. SIRAIT Nomor Induk Mahasiswa : 141421044
Program Studi : EKSTENSI SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Diluluskan di
Medan, Maret2017 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Jos Timanta Tarigan, S.Kom., M.Sc. Dian Rachmawati, S.Si., M. Kom. NIP. 198501262015041001 NIP. 198307232009122004
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA KRIPTOGRAFI RSA DAN RABIN PADA THREE-PASS PROTOCOL UNTUK PENGAMANAN DATA
PADA APLIKASI CHAT 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, Maret 2017
PENGHARGAAN
Puji dan syukur kehadirat Tuhan Yang Maha Esa, yang dengan rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi Ekstensi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Implementasi Algoritma Kriptografi Rsa Dan Rabin Pada Three-Pass Protocol Untuk Pengamanan Data Pada Aplikasi Chat Berbasis Android, penulis menyadari bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan orang-orang terkasih yang memotivasi dalam pengerjaan. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada:
1. Bapak Prof. Dr. Runtung Sitepu, SH, M. Hum selaku Rektor Universitas Sumatera Utara.
2. Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
4. Ibu Dian Rachmawati, S.Si., M. Kom.selakuDosen Pembimbing I yang telah meluangkan waktu dan pikiran dalam membimbing dan mengarahkan penulis agar dapat menyelesaikan skripsi ini.
5. Bapak Jos Timanta Tarigan, S.Kom., M.Sc. selaku Dosen Pembimbing II yang telah meluangkan waktu dan pikiran dalam membimbing dan mengarahkan penulis agar dapat menyelesaikan skripsi ini.
6. Bapak M.Andri Budiman, S.T., M.Comp.Sc., M.E.Mselaku Dosen Pembanding I yang telah memberikan arahan, kritik, dan saran kepada penulis selama pengerjaan skripsi.
7. Bapak Handrizal, S.Si., M.Comp.Sc selaku Dosen Pembanding II yang telah memberikan kritik dan sarankepada penulis selama pengerjaan skripsi.
9. Ayah tercinta Drs. Nelson Sirait dan ibu tercinta Elsina Sitorus yang selalu sabar dan memberikan dukungan. Dan kepada Abang. Kakak dan Adik yang saya sayangi.
10.Kepada sahabat sekaligus teman terbaik Dear Arini yang selalu memberikan dukungan serta teman-teman seperjuangan skripsi Josua Sianipar, Mariaty Harefa, Ruth Stephany, Benyamin Ginting, Sar Barita Lumbangaol, Firma Sinaga, S.Kom, Junita Situmorang, S.Kom serta seluruh teman-teman Ekstensi stambuk 2014.
11.Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah banyak membantu dalam penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini dalam penyusunan dan masih terdapat kekurangan. Oleh karena itu, kepada pembaca agar kiranya memberikan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semua.
Medan, Maret 2017 Penulis,
ABSTRAK
Pada saat ini, pertukaran informasi melalui media internet semakin sering dilakukan. Informasi menjadi hal yang sangat berharga, mudah dan cepat untuk dipertukarkan. Tetapi kemudahan itu menuntuk perlunya pengamanan data yang lebih baik. Pada pengamanan data menggunakan kriptografi simetris, pertukaran kunci menjadi sebuah permasalahan karena kunci privat harus dirahasiakan. Salah satu algoritma kriptografi simetris yang baik dalam melakukan pengamanan data adalah RSA dan Rabin. Kedua algoritma ini masih dianggap aman karena menggunakan pemfaktoran bilangan secara cepat. Tetapi keamanan pertukaran kunci kedua algoritma ini menjadi kunci algoritma ini masih dianggap aman. Three-Pass Protocol adalah sebuah skema protokol yang memungkinkan pertukaran pesan tanpa pertukaran kunci. Dengan protokol ini akan diimplementasikan pengamanan data dimana pengirim pesan akan menggunakan algoritma Rabin sedangakan penerima pesan akan menggunakan algoritma RSA. Dalam pengiriman data, kedua pengguna tidak akan mempertukarkan kunci karena menggunakan skema three-pass protocol. Metode ini akan diimplementasikan pada aplikasi chat berbasis Android menggunakan bahasa pemrograman Java. Hasil dari penelitian ini menunjukkan bahwa Rabin dan RSA dapat dikombinasikan dalam skema three-pass protocoldimana data yang dikirim dapat kembali ke bentuk semula. Hasil dari enkripsi teks akan meningkatkan panjang teks antara 42 sampai 44 kali dari panjang awal teks yang dikirimkan.
IMPLEMENTATION OF RSA AND RABIN CRYPTOGRAPHY
ALGORITHM ON THREE PASS PROTOCOL FOR DATA SECURITY IN
CHAT APPLICATION BASE ON ANDROID
ABSTRACT
At this time, the exchange of information through the internet more and more frequent. Information has become a very precious thing, it is easy and quick to be exchanged. But the ease of demanding need for better data security. In data security using symmetric cryptography, key exchange becomes a problem because private key must be kept secret. One of symmetric cryptographic algorithms are good at data security is the RSA and Rabin. Both of these algorithms are still considered safe for use factoring numbers quickly. But the security of the key exchange algorithm is the key to both of these algorithms is still considered safe. Three-Pass Protocol is a protocol scheme that allows the exchange of messages without the key exchange. With this protocol will be implemented to secure data when sending a message will use the Rabin algorithm while the recipient of the message will be using the RSA algorithm. In data transmission, the user will not exchange a key for using a three-pass scheme protocol. This method will be implemented on Android-based chat application using the Java programming language. The results of this study indicate that Rabin and RSA scheme can be combined in a three-pass protocol by which data can be sent back into shape. The results of encryption the text would increase the length of the text between 42 to 44 times the initial length of the text that was sent.
DAFTAR ISI
PERSETUJUAN ... ii
PERNYATAAN ... iii
PENGHARGAAN ... iv
ABSTRAK ... vi
ABSTRACT ... vii
DAFTAR ISI ... viii
DAFTAR TABLE ... xi
DAFTAR GAMBAR ... xii
LAMPIRAN ... xiv
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 3
1.3 Batasan Masalah ... 3
1.4 Tujuan Penelitian ... 4
1.5 Manfaat Penelitian ... 4
1.6 Metodologi Penelitian ... 4
1.7 Sistematika Penulisan ... 5
BAB 2 LANDASAN TEORI ... 7
2.1 Pengertian Kriptografi ... 7
2.2 Tujuan Kriptografi ... 7
2.3 Mekanisme Kriptografi ... 8
2.4 Kriptografi Simetrik dan Asimetrik ... 10
2.4.1 Kriptografi Simetrik ... 10
2.4.2 Kriptografi Asimetrik ... 11
2.5 Keamanan Algoritma Kriptografi ... 12
2.6 Bilangan Prima ... 13
2.7 Algoritma Pembangkitan Bilangan Prima Sieve of Eratosthenes ... 13
2.8 Algoritma RSA ... 14
2.8.1 Pembangkitan Kunci ... 14
2.8.2 Proses Enkripsi ... 15
2.8.3 Proses Dekripsi ... 15
2.9 Algoritma Rabin ... 16
2.9.2 Proses Enkripsi ... 16
2.9.3 Proses Dekripsi ... 17
2.10Three-Pass Protocol ... 18
2.11Tinjauan Penelitian yang Relevan ... 20
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 22
3.1 Analisis Sistem ... 22
3.1.1 Analisis Masalah ... 22
3.1.2 Analisis Kebutuhan ... 23
3.1.3 Analisis Proses ... 25
3.1.4 Pemodelan Sistem ... 29
3.2 Pseudocode Program ... 43
3.2.1 Pseudocode Enkripsi Rabin ... 43
3.2.2 Pseudocode Dekripsi Rabin ... 43
3.2.3 Pseudocode Enkripsi RSA ... 44
3.2.4 Pseudocode Dekripsi RSA ... 44
3.3 Flowchart Sistem ... 44
3.4 Perancangan Sistem ... 45
3.4.1 Rancangan Halaman Login ... 45
3.4.2 Rancangan Halaman Register ... 46
3.4.3 Rancangan Halaman Kontak ... 47
3.4.4 Rancangan Halaman Item Kontak Klik ... 48
3.4.5 Rancangan Halaman Daftar Chat... 49
3.4.6 Rancangan Halaman Chat Room ... 50
3.4.7 Rancangan Halaman Detail Pengiriman Pesan ... 51
3.4.8 Rancangan Halaman Simulasi Manual ... 52
BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 54
4.1 Implementasi Sistem ... 54
4.2 Antarmuka Sistem ... 54
4.2.1 Halaman Login ... 54
4.2.2 Halaman Register ... 55
4.2.3 Halaman Kontak ... 56
4.2.4 Halaman Item Kontak Klik ... 56
4.2.5 Halaman Daftar Chat ... 57
4.2.6 Halaman Chat Room ... 58
4.2.7 Halaman Detail Pengiriman Pesan ... 59
4.3 Pengujian Sistem ... 61
4.3.1 Pengujian Pembangkitan Kunci ... 61
4.3.2 Pengujian Simulasi Manual ... 62
4.3.3 Pengujian Pengiriman Pesan ... 63
4.3.4 Hasil Enkripsi dan Dekripsi Pesan ... 65
BAB 5 KESIMPULAN DAN SARAN ... 69
5.1 Kesimpulan ... 69
5.2 Saran ... 69
DAFTAR TABLE
DAFTAR GAMBAR
Gambar 2.1. Mekanisme Kriptografi Modern (Munir, 2011) 10 Gambar 2.2. Algoritma Kriptografi Simetri 11 Gambar 2.3. Algoritma Kriptografi Asimetrik 12 Gambar 2.4. Skema Three-Pass Protocol 20 Gambar 3.1. Diagram Ishikawa 23 Gambar 3.2. Use case diagram 30 Gambar 3.3. Activity Diagram Proses Login dan Register 38 Gambar 3.4. Activity Diagram Daftar Kontak, Chat Room dan Simulasi Manual 39 Gambar 3.5. Activity Diagram Pengiriman Pesan 40 Gambar 3.6. Sequence Diagram Login dan Register 41 Gambar 3.7. Sequence Diagram Kontak, Daftar Chat Room, dan Simulasi Manual 42 Gambar 3.8. Sequence Diagram Pengiriman Pesan 43
Gambar 3.9. Flowchart Sistem 45
Gambar 3.10. Rancangan Halaman Login 46 Gambar 3.11. Rancangan Halaman Register 47 Gambar 3.12. Rancangan Halaman Kontak 48 Gambar 3.13. Rancangan Halaman Item Kontak Klik 49 Gambar 3.14. Rancangan Halaman Daftar Chat 50 Gambar 3.15. Rancangan Halaman Chat Room 51 Gambar 3.16. Rancangan Halaman Detail Pengiriman Pesan 52 Gambar 3.17. Rancangan Halaman Simulasi Manual 53
Gambar 4.1. Halaman Login 55
Gambar 4.2. Halaman Register 55
Gambar 4.3. Halaman Kontak 56
LAMPIRAN