Teknik Pemecahan Kunci Algoritma ElGamal Menggunakan Metode Index Calculus

i

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
MEDAN
2017

Universitas Sumatera Utara

i

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
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017

Universitas Sumatera Utara

ii


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
NIP. 19751008 2008011001

Prof. Dr. Iryanto, M.Si
NIP. 194604041971071001

Diketahui/Disetujui oleh
Departemen Ilmu Komputer FASILKOM-TI USU
Ketua,

Dr. Poltak Sihombing, M.Kom.
NIP. 196203171991021001

Universitas Sumatera Utara

iii

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

ERWIN M H SINAGA
111401067

Universitas Sumatera Utara

iv

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
kritik dan saran kepada penulis dalam penyempurnaan skripsi ini

Universitas Sumatera Utara

v

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

Erwin M H Sinaga

Universitas Sumatera Utara


vi

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.
Kata kunci : Kriptanalisis, ElGamal, Masalah Logaritma Diskrit, Index Calculus.

Universitas Sumatera Utara

vii

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.
Keywords : Cryptanalysis, ElGamal, Discrete Logarithm Problem, Index Calculus.

Universitas Sumatera Utara

viii

DAFTAR ISI

Hal.
PERSETUJUAN
PERNYATAAN
UCAPAN TERIMA KASIH
ABSTRAK
ABSTRACT
DAFTAR ISI
DAFTAR TABEL
DAFTAR GAMBAR
DAFTAR LAMPIRAN
BAB I

BAB II

ii
iii
iv
vi
vii
viii
x
xi
xiii

PENDAHULUAN
1.1 Latar Belakang
1.2 Rumusan Masalah
1.3 Batasan Masalah
1.4 Tujuan Penelitian
1.5 Manfaat Penelitian
1.6 Metodologi Penelitian
1.7 Sistematika Penulisan

1
2
2
3
3
3
4

TINJAUAN PUSTAKA
2.1 Kriptografi
2.2 Kriptanalisis dan Kriptanalis
2.3 Faktor Pembagi Terbesar (Greatest Common Divisor/GCD)
2.4 Kelipatan Persekutuan Terkecil (Least Common
Multiple/LCM)
2.5 Bilangan Prima
2.6 Relatif Prima (Coprime)
2.7 Fungsi Euler (ϕ)
2.8 Grup Siklik
2.9 Kekongruenan
2.10 Ordo Modulo
2.11 Eksponensial Modulo
2.12 Akar Primitif
2.13 Pengujian Miller-Selfridge-Rabin
2.14 Algoritma ElGamal
2.15 Metode Index Calculus
2.16 Penelitian Yang Relevan

6
9
10
11
11
11
11
12
12
12
12
13
14
15
17
19

Universitas Sumatera Utara

ix

BAB III

BAB IV

BAB V

ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
3.1.1 Analisis Masalah
3.1.2 Analisis Kebutuhan
3.1.3 Analisis Proses
3.2 Perancangan Sistem
3.2.1 Perancangan Flowchart
3.2.2 Perancangan Unified Modeling Language (UML)
3.2.3 Perancangan Antarmuka Aplikasi

20
20
22
23
24
24
36
39

IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
4.1.1 Form Halaman Utama
4.1.2 Form Naïve User
4.1.3 Form Hacker
4.1.4 Form Tentang
4.2 Pengujian
4.2.1 Pengujian Algoritma ElGamal
4.2.2 Pengujian Metode Index Calculus

45
45
46
48
50
50
51
56

KESIMPULAN DAN SARAN
5.1 Kesimpulan
5.2 Saran

60
60

DAFTAR PUSTAKA

62

Universitas Sumatera Utara

x

DAFTAR TABEL

Hal.

Tabel 4.1
Tabel 4.2
Tabel 4.3
Tabel 4.4

Pengujian Proses Pembangkitan Kunci ElGamal
Pengujian Proses Enkripsi ElGamal
Pengujian Proses Dekripsi ElGamal
Pengujian proses pemecahan kunci ElGamal dengan metode Index
Calculus

51
54
56
57

Universitas Sumatera Utara

xi

DAFTAR GAMBAR

Hal.

Gambar 3.1
Gambar 3.2
Gambar 3.3
Gambar 3.4
Gambar 3.5
Gambar 3.6
Gambar 3.7
Gambar 3.8
Gambar 3.9
Gambar 3.8
Gambar 3.10
Gambar 3.11
Gambar 3.12
Gambar 3.13
Gambar 3.14
Gambar 3.15
Gambar 3.16
Gambar 3.17
Gambar 3.18
Gambar 4.1
Gambar 4.2
Gambar 4.3
Gambar 4.4
Gambar 4.5
Gambar 4.6
Gambar 4.7
Gambar 4.8
Gambar 4.9
Gambar 4.10
Gambar 4.11
Gambar 4.12
Gambar 4.13
Gambar 4.14

Diagram Ishikawa
Flowchart Umum Sistem
Flowchart Proses Pembangkitan Kunci Publik ElGamal
Flowchart Pengujian Miller-Selfridge-Rabin
Flowchart Pencarian Akar Primitif
Flowchart Proses Enkripsi ElGamal
Flowchart Proses Dekripsi ElGamal
Flowchart Proses Pencarian Nilai Logaritma Diskrit MasingMasing pi Dalam Factor Base
Flowchart Pencarian Kunci Privat A ElGamal
Menggunakan Logaritma Diskrit Factor Base
Flowchart Pemecahan Kunci Dengan Metode Index Calculus
Use-case Diagram
Sequence Diagram Untuk Naïve User
Sequence Diagram Untuk Hacker
Activity Diagram Untuk Naïve User
Activity Diagram Untuk Hacker
Rancangan Interface Halaman Utama
Rancangan Interface Naïve User
Rancangan Interface Form Hacker
Rancangan Interface Form Tentang
Form Halaman Utama
Form Naïve User
Jendela Penelusuran Berkas
Laporan Proses Pembangkitan Kunci ElGamal
Laporan Proses Enkripsi ElGamal
Laporan Proses Dekripsi ElGamal
Form Hacker
Laporan Proses Pemecahan Kunci
Form Tentang
Grafik Ukuran Kunci (bit) Dengan Waktu Proses Pembangkitan
Kunci
Isi Berkas *.txt Pesan Asli
Isi Berkas *.txt Pesan Terenkripsi
Grafik Ukuran Kunci (bit) Dengan Waktu Proses Enkripsi
Grafik Ukuran Kunci (bit) Dengan Waktu Proses Dekripsi

21
26
27
29
31
32
33
35
36
35
37
38
38
39
40
41
42
43
44
46
47
48
48
48
48
49
49
50
52
53
54
55
56

Universitas Sumatera Utara

xii

Gambar 4.15 Grafik Pengujian Proses Pemecahan Kunci ElGamal
Dengan Metode Index Calculus

57

Universitas Sumatera Utara

xiii

DAFTAR LAMPIRAN

Hal.
LISTING PROGRAM
CURRICULUM VITAE

A-1
B-1

Universitas Sumatera Utara