KOMBINASI ALGORITMA AFFINE CIPHER DAN ELGAMAL UNTUK PENGAMANAN PESAN RAHASIA SKRIPSI Diajukan kepada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Yogyakarta untuk Memenuhi sebagian Persyaratan guna Memperoleh Gelar Sarjana Sains Oleh: Arum Kurniawati NIM 12305141023 PROGRAM STUDI MATEMATIKA JURUSAN PENDIDIKAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS NEGERI YOGYAKARTA 2017 i
KOMBINASI ALGORITMA AFFINE CIPHER DAN ELGAMAL UNTUK PENGAMANAN PESAN RAHASIA Arum Kurniawati 12305141023 ABSTRAK Kemajuan dan perkembangan teknologi informasi dewasa ini telah berpengaruh pada seluruh aspek kehidupan manusia, termasuk bidang komunikasi. Informasi-informasi rahasia perlu disimpan atau disampaikan melalui suatu cara tertentu agar tidak diketahui oleh pihak yang tidak dikehendaki. Untuk mengatasi permasalahan di atas, dapat diselesaikan dengan kriptografi. Untuk menghasilkan algoritma yang kuat sehingga akan menyulitkan penyadap yang tidak berhak yang ingin membaca pesan, maka diperlukan perlindungan ganda untuk mengamankan pesan rahasia tersebut. Tujuan penulisan skripsi ini adalah menjelaskan proses pembuatan pengamanan pesan rahasia dengan mengkombinasikan algoritma Affine Cipher dan ElGamal yang dibahas secara matematis. Dasar dari pembuatan pengamanan pesan rahasia adalah dengan mengkombinasikan algoritma Affine Cipher dan ElGamal. Affine Cipher memiliki kelebihan yaitu menggunakan angka bilangan prima serta memiliki dua data masukan kunci. Sedangkan Algoritma ElGamal memiliki tingkat keamanan dalam pemecahan masalah logaritma diskret pada grup pergandaan bilangan bulat modulo prima. Pembuatan kombinasi algoritma Affine Cipher dan ElGamal untuk pengamanan pesan rahasia diawali dengan pembentukan kunci publik dan kunci privat. Tahap pembuatan kunci ini membutuhkan kunci rahasia, kunci rahasia, bilangan prima, elemen primitif dari Zp* dan sebarang * +, kemudian menghitung: Sehingga didapatkan kunci publik ( ) dan kunci rahasia, dan. Tahap selanjutnya adalah melakukan enkripsi. Plaintext terlebih dahulu dienkripsi dengan algoritma Affine Cipher, dengan menghitung: ( ) ( ), kemudian melakukan enkripsi kembali dengan menggunakan algoritma ElGamal, dengan menghitung: ( ) dan ( ). Dari hasil enkripsi tadi diperoleh ciphertext yang sebenarnya. Tahap selanjutnya adalah melakukan dekripsi. Ciphertext yang diperoleh terlebih dahulu didekripsi dengan menggunakan algoritma ElGamal dengan menghitung: dan (, kemudian melakukan dekripsi kembali dengan menggunakan algoritma Affine Cipher dengan menghitung: ( ) ( ) ( ). Selanjutnya akan diperoleh pesan asli yang telah dikirim oleh pengirim pesan. Kata Kunci: algoritma Affine Cipher, algoritma ElGamal, enkripsi, dekripsi, ciphertext, plaintext, kunci publik dan kunci privat ii
Motto Sesungguhnya sesudah kesulitan itu ada kemudahan. QS. Αl- Insyirah : 6 Barang siapa ingin meraih dunia maka harus dengan ilmu, barang siapa ingin meraih akherat maka harus dengan ilmu, barang siapa ingin meraih keduaduanya maka harus dengan ilmu. Al-Hadits Saya akan pikul rahasia itu jika engkau percayakan kepada saya dan saya akan masukkan ke dalam perbendaharaan hati saya dan kemudian saya kunci pintunya erat-erat. Kunci itu akan saya lemparkan jauh-jauh sehingga seorangpun tak dapat mengambilnya ke dalam lagi. Hamka- Di Bawah Lindungan Ka bah You see. A secret is not something untold. It s something which can t be told. Terence McKenna If you want to keep a secret, you must also hide it from yourself. George Orwell vi
PERSEMBAHAN Skripsi ini penulis persembahkan untuk: 1. Kedua orang tua, Ibu Rismiyati dan Bapak Suparno yang senantiasa mendoakan, menasehati, menyemangati serta menyayangi selalu. 2. Kakak-kakak tercinta mas Alwan Purbowo, mas Hanka Millyawan, mbak Ari Vanorita, mas Freska Permana yang selalu memberikan semangat, motivasi, dan nasehat. 3. Adik-adik tersayang Yusuf Evan Kuncoro dan Fathya Ilfatara Faizzah. vii
KATA PENGANTAR Puji syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan segala karunia, rahmat dan hidayah-nya sehingga tugas akhir skripsi yang berjudul Kombinasi Algoritma Affine Cipher dan ElGamal untuk Pengamanan Pesan Rahasia ini dapat diselesaikan dengan baik. Skripsi ini dibuat untuk memenuhi sebagian persyaratan untuk memperoleh gelar Sarjana Sains dari Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Yogyakarta. Penulis menyadari bahwa dalam penulisan skripsi ini tidak terlepas dari bantuan dan dukungan berbagai pihak, oleh karena itu penulis mengucapkan terima kasih kepada pihak-pihak yang telah membantu dalam menyelesaikan tugas akhir skripsi ini, yaitu kepada : 1. Bapak Dr. Hartono selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Negeri Yogyakarta. 2. Bapak Dr. Ali Mahmudi selaku Ketua Jurusan Pendidikan Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Negeri Yogyakarta. 3. Bapak Dr. Agus Maman Abadi selaku Ketua Program Studi Matematika, Jurusan Pendidikan Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Negeri Yogyakarta. 4. Ibu Dr. Karyati selaku dosen pembimbing yang telah bersedia memberikan bimbingan dan pengarahan dalam penyelesaian tugas akhir skripsi ini. viii
5. Kedua orangtua serta kakak dan adikku yang senantiasa mendoakan, menasehati dan memberi semangat dalam mengerjakan skripsi ini. 6. Sahabat-sahabatku Dita, Nisa, Seli, Desy, Puput, Rohmah, Puji, Putri, dan Dila yang senantiasa menyemangati selama ini. 7. Seluruh anak-anak Matematika B 2012 yang telah menjadi keluarga kedua selama masa perkuliahan di kampus tercinta ini. 8. Terimakasih juga untuk semua pihak yang secara tidak langsung turut membantu dalam kelancaran penyelesaian tugas akhir skripsi ini. Penulis menyadari bahwa tugas akhir skripsi ini masih banyak kekurangan serta kesalahan. Oleh sebab itu penulis mengharapkan kritik dan saran demi kesempurnaan tugas akhir skripsi ini. Semoga kelak skripsi ini dapat memberikan manfaat bagi pihak-pihak yang membaca. Yogyakarta, Mei 2017 Penulis, Arum Kurniawati NIM..12305141023 ix
DAFTAR ISI HALAMAN SAMPUL... i ABSTRAK... ii SURAT PERNYATAAN... iii LEMBAR PERSETUJUAN... iv HALAMAN PENGESAHAN... v HALAMAN PERSEMBAHAN... vii KATA PENGANTAR... viii DAFTAR ISI... x DAFTAR TABEL... xii DAFTAR GAMBAR... xiii DAFTAR LAMPIRAN... xiv BAB I... 1 PENDAHULUAN... 1 A. Latar Belakang... 1 B. Batasan Masalah... 3 C. Rumusan Masalah... 4 D. Tujuan... 4 E. Manfaat... 4 BAB II... 6 LANDASAN TEORI... 6 A. Keterbagian... 6 B. Faktor Persekutuan Terbesar (FPB)/Greatest Common Divisor (gcd)... 7 C. Algoritma Euclidean... 9 D. Kekongruenan... 11 E. Fungsi Euler... 16 F. Akar Primitif... 17 G. Uji Bilangan Prima... 18 H. Grup... 19 I. Kriptografi... 22 x
BAB III... 28 PEMBAHASAN... 28 A. Algoritma Affine Cipher... 28 1. Proses Enkripsi Affine Cipher... 30 2. Proses Dekripsi Affine Cipher... 34 B. Algoritma ElGamal... 37 1. Proses Pembentukan Kunci... 37 2. Proses Enkripsi ElGamal... 40 3. Proses Dekripsi ElGamal... 45 C. Kombinasi Algoritma Affine Cipher dan ElGamal... 49 1. Proses Pembentukan Kunci Kombinasi Affine Cipher dan ElGamal... 50 2. Proses Enkripsi Kombinasi Affine Cipher dan ElGamal... 53 3. Proses Dekripsi Kombinasi Affine Cipher dan ElGamal... 60 BAB IV... 72 PENUTUP... 72 A. Kesimpulan... 72 B. Saran... 73 DAFTAR PUSTAKA... 75 LAMPIRAN... 77 xi
DAFTAR TABEL Tabel 2.1. Relasi pada * +... 19 Tabel 3.1. Konversi karakter ke kode ASCII pada Algoritma Affine Cipher... 33 Tabel 3.2. Enkripsi plaintext menjadi ciphertext pada Algoritma Affine Cipher... 33 Tabel 3.3. Dekripsi ciphertext menjadi plaintext pada Algoritma Affine Cipher... 36 Tabel 3. 4. Konversi kode ASCII ke karakter pada Algoritma Affine Cipher... 37 Tabel 3. 5. Konversi plaintext ke kode ASCII pada Algoritma ElGamal... 44 Tabel 3.6. Enkripsi plaintext menjadi ciphertext pada Algoritma ElGamal... 44 Tabel 3.7. Dekripsi ciphertext menjadi plaintext pada Algoritma ElGamal... 48 Tabel 3. 8. Konversi kode ASCII ke karakter pada Algoritma ElGamal... 49 Tabel 3. 9. Konversi karakter ke kode ASCII pada Kombinasi Algoritma Affine Cipher dan ElGamal... 57 Tabel 3. 10. Enkripsi plaintext menjadi ciphertext sementara pada Kombinasi Algoritma Affine Cipher dan ElGamal... 58 Tabel 3. 11. Enkripsi plaintext menjadi ciphertext pada Kombinasi Algoritma Affine Cipher dan ElGamal sebenarnya... 59 Tabel 3. 12. Dekripsi ciphertext sebenarnya menjadi plaintext sementara pada Kombinasi Algoritma Affine Cipher dan ElGamal... 64 Tabel 3. 13. Dekripsi plaintext sementara menjadi plaintext sebenarnya pada Kombinasi Algoritma Affine Cipher dan ElGamal... 66 Tabel 3. 14. Konversi kode ASCII ke karakter pada Kombinasi Algoritma Affine Cipher dan ElGamal... 67 xii
DAFTAR GAMBAR Gambar 2. 1. Relasi dari ke... 20 Gambar 2. 2. Skema Kriptografi Simetri... 25 Gambar 2. 3. Skema Kriptografi Kunci Publik... 26 Gambar 3.1. Diagram alir proses enkripsi Affine Cipher... 32 Gambar 3.2. Diagram alir proses dekripsi Affine Cipher... 35 Gambar 3.3. Diagram alir proses pembentukan kunci algoritma ElGamal... 39 Gambar 3.4. Diagram alir proses enkripsi algoritma ElGamal... 43 Gambar 3.5. Diagram alir proses dekripsi algoritma ElGamal... 47 Gambar 3.6. Diagram alir proses pembentukan kunci kombinasi algoritma Affine Cipher dan ElGamal... 52 Gambar 3.7. Diagram alir proses enkripsi kombinasi algoritma Affine Cipher dan ElGamal... 56 Gambar 3.8. Diagram alir proses dekripsi kombinasi algoritma Affine Cipher dan ElGamal... 63 Gambar 3.9. Tampilan GUI untuk Pembentukan Kunci dan Enkripsi Kombinasi Algoritma Affine Cipher dan ElGamal... 68 Gambar 3.10. Tampilan GUI untuk Hasil Pembentukan Kunci dan Enkripsi Kombinasi Algoritma Affine Cipher dan ElGamal... 69 Gambar 3.11. Tampilan GUI untuk Proses Dekripsi Kombinasi Algoritma Affine Cipher dan ElGamal... 70 Gambar 3.12. Tampilan GUI untuk Hasil Dekripsi Kombinasi Algoritma Affine Cipher dan ElGamal... 71 xiii
DAFTAR LAMPIRAN Lampiran 1. Tabel Konversi Kode ASCII ke Desimal... 78 Lampiran 2. Script M-file Enkripsi Affine Cipher... 79 Lampiran 3. Script M-file Dekripsi Affine Cipher... 79 Lampiran 4. Script M-file untuk Pembentukan Kunci Publik dan Kunci Privat Algoritma ElGamal... 80 Lampiran 5. Script M-file Enkripsi ElGamal... 81 Lampiran 6. Script M-file Dekripsi ElGamal... 82 Lampiran 7. Tampilan GUI untuk Program Pembentukan Kunci dan Enkripsi Kombinasi Algoritma Affine Cipher dan ElGamal untuk Pengamanan Pesan Rahasia... 83 Lampiran 8. Script M-file untuk Program GUI Pembentukan Kunci dan Enkripsi Kombinasi Algoritma Affine Cipher dan ElGamal untuk Pengamanan Pesan Rahasia... 84 Lampiran 9. Tampilan GUI untuk Program Dekripsi Algoritma Affine Cipher dan ElGamal untuk Pengamanan Pesan Rahasia... 95 Lampiran 10. Script M-file untuk Program GUI Dekripsi Kombinasi Algoritma Affine Cipher dan ElGamal untuk Pengamanan Pesan Rahasia... 96 xiv