implementasi algoritma hill cipher 3x3 dan rabin

13
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

Upload: duongminh

Post on 01-Jan-2017

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 3: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 4: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 5: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 6: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 7: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 8: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 9: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 10: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 11: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 12: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

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

Page 13: IMPLEMENTASI ALGORITMA HILL CIPHER 3x3 DAN RABIN

xii

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Listing Program A-1

Lampiran 2 Daftar Riwayat Hidup (Curriculum Vitae) B-1

Universitas Sumatera Utara