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