TEKNIK PEMECAHAN KUNCI ALGORITMA ELGAMAL DENGAN METODE INDEX CALCULUS
SKRIPSI
ERWIN M H SINAGA 111401067
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
TEKNIK PEMECAHAN KUNCI ALGORITMA ELGAMAL DENGAN METODE INDEX CALCULUS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
ERWIN M H SINAGA 111401067
PROGRAM STUDI S-1 ILMU KOMPUTER
PERSETUJUAN
Judul : TEKNIK PEMECAHAN KUNCI ALGORITMA
ELGAMAL DENGAN METODE INDEX CALCULUS
Kategori : SKRIPSI
Nama : ERWIN M H SINAGA
Nomor Induk Mahasiswa : 111401067
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
M. Andri Budiman, S.T., M.Comp.Sc., M.E.M Prof. Dr. Iryanto, M.Si NIP. 19751008 2008011001 NIP. 194604041971071001
Diketahui/Disetujui oleh
Departemen Ilmu Komputer FASILKOM-TI USU Ketua,
PERNYATAAN
TEKNIK PEMECAHAN KUNCI ALGORITMA ELGAMAL DENGAN METODE INDEX CALCULUS
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 31 Juli 2017
UCAPAN TERIMA KASIH
Puji syukur dan terima kasih penulis ucapkan kepada Tuhan Yesus Kristus karena oleh kasih karuniaNya penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi (Fasilkom-TI) Universitas Sumatera Utara.
Dalam penyelesaian penulisan skripsi ini penulis memperoleh bantuan dari berbagai pihak dan oleh sebab itu sudah sepatutnya penulis menyampaikan ucapan terimakasih, terkhusus kepada:
1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum. selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc. selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing sebagai Ketua Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara yang telah memberikan bimbingan dan dukungan kepada penulis dalam menyelesaikan skripsi ini.
4. Bapak Herriyance, ST., M.Kom sebagai Sekretaris Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara.
5. Bapak Prof. Dr. Drs. Iryanto, M.Si selaku Dosen Pembimbing I yang telah memberikan arahan dan bimbingan kepada penulis
6. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. selaku dosen Pembimbing II dan pembimbing dosen akademik yang telah membagikan ilmu, membantu peneliti dan memberikan semangat kepada penulis untuk dapat menyelesaikan penulisan skripsi ini
7. Ibu Dian Rachmawati, S.Si., M.Kom selaku Dosen Pembanding I yang telah memberikan saran dan kritik kepada penulis dalam penyempurnaan skripsi ini. 8. Ibu Amalia, S.T., M.T. selaku Dosen Pembanding II yang telah memberikan
9. Kedua orangtua penulis Bapak Robinson Sinaga, Ibu Dra. Tuamida Sitanggang, abang, kakak dan adik penulis Pagar D. R. Sinaga, S.P., Prihyanti L. E. Sinaga, S.P., dan Samuel C. T. Sinaga yang telah memberikan dukungan doa dan semangat kepada penulis dalam penyelesaian skripsi ini.
10.Sahabat Stenos Filos (Kak Destriani, Febri, Ega, Ari, Dina dan Putri), adik-adik terkasih Chara-Charisse (Agustin, Evi, Laura) dan Hosanna (Adit, Daniel, Exaudi, Ezra), dan teman-teman mahasiswa Satya, Andrus, Ita, dan juga untuk abang dan adik KTI (bang Kurniawan, bang Septian, Mahesa, Jay, Jhonri, Mangasa). Terimakasih untuk doa, dukungan dan semangat yang diberikan kepada penulis.
11.Seluruh tenaga pengajar dan pegawai pada Fakultas Ilmu Komputer dan Teknologi Informasi USU, khususnya Program Studi S-1 Ilmu Komputer. 12.Teman-teman mahasiswa S-1 Ilmu Komputer yang telah berbagi kebersamaan
selama menyelesaikan skripsi ini.
13.Dan semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis tuliskan satu per satu.
Penulis menyadari bahwa skripsi ini masih memiliki kekurangan. Oleh karena itu penulis menerima kritik dan masukan bersifat membangun dari segala pihak untuk menyempurnakan skripsi ini. Akhir kata penulis berharap skripsi ini dapat bermanfaat bagi pengayaan ilmu pengetahuan.
Medan, 31 Juli 2017 Penulis
TEKNIK PEMECAHAN KUNCI ALGORITMA ELGAMAL DENGAN METODE INDEX CALCULUS
ABSTRAK
Kriptanalisis adalah usaha yang dilakukan untuk memecahkan teknik kriptografi. Algoritma ElGamal adalah algoritma kriptografi kunci publik yang memanfaatkan masalah logaritma diskrit dalam mengamankan informasi dengan ukuran ordo modulo yang dihasilkan adalah sebesar p-1. Masalah logaritma diskrit pada ElGamal dianggap tidak dapat diselesaikan dalam waktu yang masuk akal meskipun ketiga kunci publik ElGamal yang merupakan akar primitif α, bilangan prima p dan sebagai salah satu produk perpangkatan modulo p disebarluaskan. Pada penelitian ini digunakan metode Index Calculus untuk memecahakan masalah logaritma diskrit pada algoritma kunci publik ElGamal. Pengujian dilakukan dengan melihat hubungan antara lama waktu pemecahan kunci dan panjang kunci dan menghitung nilai theoretical running time metode Index Calculus. Berdasarkan hasil pengujian ditemukan bahwa semakin besar ukuran kunci ElGamal maka semakin lama pula waktu yang digunakan untuk memecahkan kunci. Penulis menemukan bahwa metode Index Calculus tidak selalu dapat memecahkan kunci privat ElGamal dalam satu kali percobaan diakibatkan oleh kegagalan pada tahap eliminasi matriks. Penulis juga menemukan bahwa banyaknya bilangan yang s-smooth dalam p-1 dengan s merupakan anggota terbesar dari factor base mempengaruhi keberhasilan metode Index Calculus dan lama waktu pemecahan kunci di mana semakin besar nilai ψ(p, s) maka semakin cepat pula lama waktu pemecahan kunci. Hal tersebut disebabkan pembangkitan matriks Index Calculus ditentukan oleh hasil perpangkatan modulo dengan eksponen acak yang dibangkitkan harus difaktorkan terhadap anggota factor base. Pada percobaan yang dilakukan metode Index Calculus dapat menghitung kunci privat ElGamal untuk p berukuran 17 bit dalam waktu 21.722 detik setelah 5 kali percobaan.
ELGAMAL KEY SOLVING TECHNIQUE WITH INDEX CALCULUS METHOD
ABSTRACT
Cryptanalysis is an effort to breach a cryptography technique. ElGamal is a public key cryptography system which security is depend on its discrete logarithm problem (DLP) which order size is p-1. ElGamal’s discrete logarithm problem can’t be solved in reasonable time despite its public key pair primitive root α, as a product of exponential modulo with secret exponent A, and p made public. Writer about to test ElGamal’s security by calculating its discrete logarithm problem with Index Calculus method. The testing be done in data testing and algorithm testing. The test result shows that bigger the key size would take longer time process to obtain the private key. Writer find that
Index Calculus method can’t always find the ElGamal’s private key in the first try
because the matrix elimination fails to return the correct solution to the given linear problem. Writer also find that there is relation between hacking process with number of s-smooth integer under p where the bigger is smoothness, the faster is Index Calculus method calculating the private key. The cause is Index Calculus needs to generate products with set of random exponents and factorize them into factor base. In real time experiment Index Calculus can retrieve the private key of 17 bit p of ElGamal in 21.722 second after 5 times attempt.
DAFTAR ISI
1.6 Metodologi Penelitian 3
1.7 Sistematika Penulisan 4
BAB II TINJAUAN PUSTAKA
2.1 Kriptografi 6
2.2 Kriptanalisis dan Kriptanalis 9
2.3 Faktor Pembagi Terbesar (Greatest Common Divisor/GCD) 10 2.4 Kelipatan Persekutuan Terkecil (Least Common
Multiple/LCM) 11
2.11 Eksponensial Modulo 12
2.12 Akar Primitif 13
2.13 Pengujian Miller-Selfridge-Rabin 14
2.14 Algoritma ElGamal 15
2.15 Metode Index Calculus 17
BAB III ANALISIS DAN PERANCANGAN BAB IV IMPLEMENTASI DAN PENGUJIAN
DAFTAR TABEL
Hal.
Tabel 4.1 Pengujian Proses Pembangkitan Kunci ElGamal 51
Tabel 4.2 Pengujian Proses Enkripsi ElGamal 54
Tabel 4.3 Pengujian Proses Dekripsi ElGamal 56
Tabel 4.4 Pengujian proses pemecahan kunci ElGamal dengan metode Index
DAFTAR GAMBAR
Hal.
Gambar 3.1 Diagram Ishikawa 21
Gambar 3.2 Flowchart UmumSistem 26
Gambar 3.3 Flowchart Proses Pembangkitan Kunci Publik ElGamal 27 Gambar 3.4 Flowchart Pengujian Miller-Selfridge-Rabin 29
Gambar 3.5 Flowchart Pencarian Akar Primitif 31
Gambar 3.6 Flowchart Proses Enkripsi ElGamal 32
Gambar 3.7 Flowchart Proses Dekripsi ElGamal 33
Gambar 3.8 Flowchart Proses Pencarian Nilai Logaritma Diskrit Masing- 35 Masing pi Dalam Factor Base
Gambar 3.9 Flowchart Pencarian Kunci Privat A ElGamal 36 Menggunakan Logaritma Diskrit Factor Base
Gambar 3.8 Flowchart Pemecahan Kunci Dengan Metode Index Calculus 35
Gambar 3.10 Use-case Diagram 37
Gambar 3.11 Sequence Diagram Untuk Naïve User 38
Gambar 3.12 Sequence Diagram Untuk Hacker 38
Gambar 3.13 Activity Diagram Untuk Naïve User 39
Gambar 3.14 Activity Diagram Untuk Hacker 40
Gambar 3.15 Rancangan Interface Halaman Utama 41
Gambar 3.16 Rancangan InterfaceNaïve User 42
Gambar 3.17 Rancangan Interface FormHacker 43
Gambar 3.18 Rancangan InterfaceForm Tentang 44
Gambar 4.1 Form Halaman Utama 46
Gambar 4.2 FormNaïve User 47
Gambar 4.3 Jendela Penelusuran Berkas 48
Gambar 4.4 Laporan Proses Pembangkitan Kunci ElGamal 48
Gambar 4.5 Laporan Proses Enkripsi ElGamal 48
Gambar 4.6 Laporan Proses Dekripsi ElGamal 48
Gambar 4.7 Form Hacker 49
Gambar 4.8 Laporan Proses Pemecahan Kunci 49
DAFTAR LAMPIRAN
Hal.
LISTING PROGRAM A-1