IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN ...
Transcript of IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN ...
IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN
PUBLIC KEY PADA PENGIRIMAN SHORT MESSAGE
SERVICE (SMS)
SKRIPSI
FITRI RAHMADHANI
121401040
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN PUBLIC KEY PADA
PENGIRIMAN SHORT MESSAGE SERVICE (SMS)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer
FITRI RAHMADHANI
121401040
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul : IMPLEMENTASI HILL CIPHER 3x3 DAN RABIN
PUBLIC KEY PADA PENGIRIMAN SHORT MESSAGE
SERVICE (SMS)
Kategori : SKRIPSI
Nama : FITRI RAHMADHANI
Nomor Induk Mahasiswa : 121401040
Program Studi : SARJANA (S-1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Diluluskan di
Medan, 23 Juni 2016
Pembimbing 2 Pembimbing 1
Dian Rachmawati, S.Si., M.Kom. M. Andri Budiman, S.T., M.Comp.Sc., M.E.M.
NIP. 198307232009122004 NIP. 197510082008011011
Diketahui/disetujui oleh
Program Studi S-1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M.Kom.
NIP. 196203171991031001
Universitas Sumatera Utara
iii
PERNYATAAN
IMPLEMENTASI ALGORITMA HILL CIPHER 3x3
DAN RABIN PUBLIC KEY PADA PENGIRIMAN
SHORT MESSAGE SERVICE (SMS)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 23 Juni 2016
Fitri Rahmadhani
121401040
Universitas Sumatera Utara
iv
UCAPAN TERIMA KASIH
Puji dan syukur penulis ucapkan kehadirat Allah SWT, karena rahmat dan izin-Nya
penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana
Komputer pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Implementasi Algoritma Hill Cipher dan
Algoritma Rabin Public Key pada Pengiriman Short Message Service (SMS), penulis
menyadari bahwa banyak bantuan berupa uluran tangan, budi baik, buah pikiran dan
kerjasama yang telah penulis terima selama menempuh studi sampai dengan
penyelesaian studi (skripsi) ini.
Oleh karena itu, penulis menyampaikan ucapan terima kasih kepada pihak-pihak
yang telah membantu.
1. Bapak Prof. Dr. Runtung Sitepu, SH., M.Hum selaku Rektor Universitas
Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fasilkom-TI USU.
3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S-1 Ilmu
Komputer Universitas Sumatera Utara dan selaku Dosen Pembanding I yang
telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
4. Ibu Maya Silvi Lydia, B.Sc., M.Sc. selaku Sekretaris Program Studi S-1 Ilmu
Komputer Universitas Sumatera Utara dan selaku Dosen Pembanding II yang
telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
5. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. selaku Dosen
Pembimbing I yang telah memberikan bimbingan dan dukungan kepada penulis.
6. Ibu Dian Rachmawati, S.Si., M.Kom. selaku Dosen Pembimbing II dan
sekaligus Dosen Pembimbing Akademik yang telah memberikan bimbingan dan
dukungan kepada penulis.
7. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi
Informasi USU, terkhususnya di Program Studi S-1 Ilmu Komputer.
8. Yang teristimewa, Almarhum Ayahanda Sarmin dan Ibunda Parida Hanum,
serta Adinda Nurfadilla dan Khusnun Khofifah yang selalu memberikan kasih
Universitas Sumatera Utara
v
sayangnya dan seluruh keluarga besar yang telah memberi semangat kepada
penulis.
9. Terima kasih kepada Abangda Hari Rahman Nihe, S.Kom., Aulia Akbar
Harahap, S.Kom., Agung Putu Yoga, S.Kom., Jonathan Simamora, S.Kom.,
Fernandes, S.Kom., Al Mizfar, S.Kom., Kakak Henny Wandani, S.Kom.,
Fauzana, S.Kom., dan Geubrina Rizky, S.Kom., yang telah bersedia membantu
dan memberikan arahan, bantuan moral, dan pengetahuan kepada penulis.
10. Teman-teman seperjuangan stambuk 2012, rekan-rekan di Ilmu Komputer
Laboratory Center (IKLC), UKMI Al-Khuwarizmi Fasilkom-TI, PEMA
Fasilkom-TI periode 2015/2016, Relawan Teknologi Informasi dan Komunikasi
Sumatera Utara, Gerakan USU Mengajar, AIESEC, Smart Generation
Community (SGC) USU, YILF 2015, dan Indonesia Positif telah memberikan
semangat kepada penulis.
11. Teman-teman kuliah, khususnya Akhiruddin Nur, Zulfikri Lubis, Yogi
Sulaiman, Muhammad Asri Zulfazri, Muhammad Miftahul Huda, Dina
Meiladya Rizki, dan Andika Mulia Utama yang telah memberikan semangat dan
teman diskusi yang menyenangkan.
12. Teman-teman Sumayyah Circle yang selalu memberikan semangat moral dan
selalu menjadi pemberi solusi ketika menghadapi segala masalah dalam proses
pengerjaan skripsi.
13. Adik-adik praktikan yang imut-imut serta adik-adik mentoring Darussalam yang
memberikan semangat untuk terus berjuang dalam proses penellitian ini.
14. Semua pihak yang terlibat langsung atau tidak langsung yang penulis tidak dapat
tuliskan satu per satu.
Semoga Allah SWT melimpahkan berkah dan kasih sayang-Nya kepada semua
pihak yang telah memberikan bantuan, semangat, dukungan dan perhatian kepada
penulis dalam menyelesaikan skripsi ini. Penulis menyadari bahwa skripsi ini masih
terdapat kekurangan. Semoga skripsi ini bermanfaat bagi penulis, pendidikan,
masyarakat, organisasi, dan negara.
Medan, Juni 2016
Penulis
Universitas Sumatera Utara
vi
ABSTRAK
Setiap SMS yang masuk pada perangkat seseorang merupakan suatu privasi. Keamanan
dan kerahasiaan pesan merupakan salah satu aspek penting. Untuk menjaga kerahasian
SMS diperlukan sebuah sistem keamanan yang berupa aplikasi keamanan dari suatu
pesan. Ada beberapa cara dan teknik yang digunakan untuk menjaga kerahasian pesan,
yaitu Kriptografi dimana pesan disamarkan menjadi sandi. Dalam penelitian ini, penulis
mengimplementasi kombinasi algoritma simetris dan asimetris berbasis Android.
Algoritma simetris yang digunakan untuk mengenkripsi maupun mendekripsi pesan
adalah algoritma Hill Cipher dan algoritma asimetris yang digunakan untuk
mengenkripsi maupun mendekripsi kunci algoritma simetris adalah algoritma Rabin
Public Key. Panjang plaintext sesudah proses enkripsi akan sama setelah proses
dekripsi. Waktu yang dibutuhkan untuk proses enkripsi cenderung lebih singkat
dibandingkan waktu yang dibutuhkan untuk proses dekripsi. Hal ini disebabkan pada
proses dekripsi algoritma Rabin Public Key mempunyai empat kunci yang harus
dipecahkan untuk menjadi kunci yang sebenarnya akan tetapi waktu yang dibutuhkan
untuk proses enkripsi dan proses dekripsi masih tergolong sangat singkat.
Kata kunci: Kriptografi, Hill Cipher, Rabin Public Key, SMS, Android.
Universitas Sumatera Utara
vii
IMPLEMENTATION OF HILL CIPHER AND RABIN PUBLIC KEY FOR
SENDING SHORT MESSAGE SERVICE (SMS)
ABSTRACT
Each incoming SMS on the device is a privacy person. Security and confidentiality
message is one important aspect. To keep a secret SMS needed a security system like
security application from a message. There are several ways and techniques that are
used to maintain the confidentiality of message, namely Cryptography where the
message disguised as a password. In this research, the author makes implementation of
a combination between symmetric and asymmetric algorithms based on Android
system. Symmetric algorithm used Hill Cipher algorithms to encrypt and decrypt
messages and asymmetric algorithms used Rabin Public Key algorithms to encrypt and
decrypt the symmetric key algorithm. Plaintext lenght after the encryption process will
same after decryption process. The time needed for encryption tend to be short than the
time required for the decryption process, this is due to the process of decryption Rabin
Public Key algorithm has four keys that must be solved to be the real key but the time
needed for encryption and decryption process still relatively very short.
Keywords: Cryptography, Hill Cipher, Rabin Public Key, SMS, Android.
Universitas Sumatera Utara
viii
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Ucapan Terima Kasih iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xii
Bab 1 Pendahuluan
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. Metodologi Penelitian 3
1.7. Sistematika Penulisan 4
Bab 2 Landasan Teori
2.1. Kriptografi 6
2.1.1. Terminologi 6
2.1.2. Tujuan kriptografi 7
2.2. Sistem Kriptografi 7
2.3. Kriptografi Berdasarkan Kunci yang Dipakai 7
2.3.1. Sistem kriptografi simetri 8
2.3.2. Sistem kriptografi asimetri 8
2.3.3. Fungsi Hash 11
2.4. Teori Bilangan Integer 11
2.4.1. Faktor persekutuan terbesar (greatest common divisor) 11
2.4.2. Aritmatika Modulo 11
2.4.3. Algoritma Extended Euclidean 12
2.4.4. Chinese Remainder Theorem 12
2.4.6. Bilangan prima 15
2.5. Sistem Kriptografi Hill Cipher 15
2.5.1. Enkripsi Hill Cipher 17
2.5.2. Dekripsi Hill Cipher 19
2.6. Sistem Kriptografi Rabin Public Key 23
2.6.1. Pembangkit Kunci Rabin Public Key 24
2.6.2. Enkripsi Rabin Public Key 24
2.6.3. Dekripsi Rabin Public Key 25
Universitas Sumatera Utara
ix
2.7. Android 26
2.8. Penelitian yang relevan 27
Bab 3 Analisis dan Perancangan Sistem
3.1. Analisis Sistem 28
3.1.1. Analisis masalah 28
3.1.2. Analisis kebutuhan 29
3.1.3. Analisis proses 31
3.2. Pemodelan (UML) 31
3.2.1. Use-case Diagram 31
3.2.2. Sequence diagram 34
3.2.3. Activity diagram 35
3.3. Flowchart sistem 37
3.3.1. Flowchart enkripsi Hill Cipher 38
3.3.2. Flowchart enkripsi Rabin Public Key 39
3.3.2. Flowchart dekripsi pesan dan kunci pesan 40
3.4. Perancangan Antarmuka 39
3.4.1. Form utama 41
3.4.2. Form pengirim 41
3.4.3. Form penerima 43
3.4.4. Form bantuan 44
Bab 4 Implementasi dan Pengujian
4.1. Implementasi 45
4.1.1. Tampilan splash screen 45
4.1.2. Tampilan home 46
4.1.3. Tampilan antarmuka halaman enkripsi 47
4.1.4. Tampilan antarmuka halaman dekripsi 47
4.1.5. Tampilan antarmuka halaman inbox 48
4.1.6. Tampilan antarmuka halaman sent 48
4.1.4. Tampilan antarmuka halaman tentang 49
4.1.5. Tampilan antarmuka halaman bantuan 49
4.2. Pengujian Sistem 50
4.2.1. Pengujian hasil enkripsi dan dekripsi 50
4.2.2. Pengujian lama waktu enkripsi dan dekripsi 64
Bab 5 Kesimpulan dan Saran 67
5.1. Kesimpulan 67
5.2. Saran 67
Daftar Pustaka 68
Universitas Sumatera Utara
x
DAFTAR TABEL
Halaman
Tabel 2.1. Transformasi Alphanumerik 18
Tabel 2.2. Enkripsi Hill Cipher 19
Tabel 2.3. Mencari Adjoint dari Matriks K 20
Tabel 2.4. Proses Determinan Matriks K 21
Tabel 2.5. Proses Pembulatan 22
Tabel 2.6. Proses Saling Invers 22
Tabel 2.7. Tabel Ciphertext 22
Tabel 2.8. Proses Dekripsi Hill Cipher 23
Tabel 3.1. Narrative Use-Case Enkripsi Pesan 32
Tabel 3.2. Narrative Use-Case Dekripsi Pesan 33
Tabel 3.3. Tabel Keterangan Gambar 3.11 40
Tabel 3.4. Tabel Keterangan Gambar 3.12 41
Tabel 3.5. Tabel Keterangan Gambar 3.13 42
Tabel 4.1. Keterangan Gambar Proses Enkripsi dan Hasilnya 50
Tabel 4.2. Keterangan Gambar Proses Dekripsi dan Hasilnya 51
Tabel 4.3. Tabel Encoding Android 52
Tabel 4.4. Proses Enkripsi Hill Cipher 52
Tabel 4.5. Tabel Hasil Enkripsi Hill Cipher 53
Tabel 4.6. Hasil Konversi m menjadi Tabel Encoding, Biner, dan Desimal 53
Tabel 4.7. Penyelesaian Extended Euclidean pada Dekripsi 55
Tabel 4.8. Tabel Hasil Konversi dan Penentuan Plaintext 61
Tabel 4.9. Hasil Konversi Plaintext 62
Tabel 4.10. Hasil Pengujian Enkripsi dengan Variasi Panjang Plaintext 63
Tabel 4.11. Hasil Pengujian Dekripsi dengan Variasi Panjang Ciphertext 64
Tabel 4.12. Perbandingan Waktu Enkripsi dan Dekripsi 64
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Halaman
Gambar 2.1. Skema Proses Enkripsi dan Dekripsi 6
Gambar 2.2. Skema Kriptografi Simetris 8
Gambar 2.3. Skema Kriptografi Asimetris 9
Gambar 2.4. Skema Kriptografi Asimetri Nirkunci Publik 10
Gambar 2.5. Ilustrasi Enkripsi Hill Cipher 18
Gambar 2.6. Ilustrasi Dekripsi Hill Cipher 20
Gambar 2.7. Logo Android 26
Gambar 3.1. Diagram Ishikawa Analisis Masalah 29
Gambar 3.2. Diagram Use-Case 32
Gambar 3.3. Diagram Sequence untuk Enkripsi 34
Gambar 3.4. Diagram Sequence untuk Dekripsi 34
Gambar 3.5. Activity Diagram Dekripsi 35
Gambar 3.6. Activity Diagram Enkripsi 36
Gambar 3.7. Flowchart Sistem 37
Gambar 3.8. Flowchart Enkripsi Pesan Algoritma Hill Cipher 38
Gambar 3.9. Flowchart Enkripsi Pesan Algoritma Rabin Public Key 39
Gambar 3.10. Flowchart Dekripsi Pesan dan Kunci Pesan 40
Gambar 3.11. Rancangan Form Utama 41
Gambar 3.12. Rancangan Form Pengirim 42
Gambar 3.13. Rancangan Form Penerima 43
Gambar 4.1. Splash Screen 44
Gambar 4.2. Home 45
Gambar 4.3. Halaman Enkripsi 46
Gambar 4.4. Halaman Dekripsi 46
Gambar 4.5. Halaman Inbox 47
Gambar 4.6. Halaman Sent 47
Gambar 4.7. Halaman Tentang 48
Gambar 4.8. Halaman Bantuan 48
Gambar 4.9. Proses Enkripsi dan Hasilnya 50
Gambar 4.10. Proses Dekripsi dan Hasilnya 51
Gambar 4.11. Grafik Pengaruh Panjang Plaintext dengan Lama Proses Enkripsi 63
Gambar 4.12. Grafik Pengaruh Panjang Ciphertext dengan Lama Proses Dekripsi 64
Gambar 4.13. Grafik Perbandingan Waktu Enkripsi dan Dekripsi 65
Universitas Sumatera Utara
xii
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Listing Program A-1
Lampiran 2 Daftar Riwayat Hidup (Curriculum Vitae) B-1
Universitas Sumatera Utara