Keamanan algoritma ElGamal didasarkan pada sulitnya memecahkan kunci privat dengan dasar permasalahan discrete log. Namun telah diketahui beberapa
algoritma untuk memecahkan discrete log dari sebuah bilangan, diantaranya adalah Algoritma Silver-Pohlig-Hellman. Oleh sebab itu penulis ingin membuat
implementasi algoritma Silver-Pohlig-Hellman dalam pencarian discrete log untuk pemecahan kunci privat ElGamal.
Berdasarkan latar belakang yang telah disebutkan, maka penulis akan mencoba membuat penelitian dengan judul “Simulasi Pencarian Kunci Privat dengan Algoritma
Silver-Pohlig-Hellman pada Algoritma Kriptografi ElGamal”.
1.2 Rumusan Masalah
Berdasarkan latar belakang masalah yang telah disebutkan, rumusan masalah yang akan dibahas dalam penelitian ini adalah bagaimana algoritma Silver-Pohlig-Hellman
dapat memecahkan kunci privat ElGamal berdasarkan kunci publik yang telah diketahui.
1.3 Ruang Lingkup Penelitian
Ruang lingkup di dalam penelitian ini adalah sebagai berikut: 1.
Ukuran panjang kunci publik adalah 4 sampai 16 digit. 2.
Pembangkitan bilangan prima menggunakan algoritma Miller-Rabin. 3.
Enkripsi dan dekripsi hanya dilakukan pada file text. 4.
Bahasa pemrograman yang digunakan adalah Python.
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah membuat sebuah aplikasi yang dapat membangkitkan kunci, mengenkripsi pesan, mendekripsi pesan, dan menemukan kunci privat
berdasarkan kunci publik ElGamal menggunakan algoritma Silver-Pohlig-Hellman.
1.5 Manfaat Penelitian
Penelitian ini diharapkan dapat memberikan pengetahuan tentang karakteristik dan batas panjang minimal kunci privat ElGamal yang aman dari serangan Algoritma
Silver-Pohlig-Hellman.
Universitas Sumatera Utara
1.6 Metodologi Penelitian
Tahapan yang dilakukan dalam penelitian ini adalah: 1.
Studi Literatur Pada tahap ini penulisan dimulai dengan studi kepustakaan yaitu proses
pengumpulan bahan-bahan referensi baik dari buku-buku, artikel-artikel, maupun dari hasil penelitian mengenai sistem kriptografi ElGamal dan Algoritma Silver-
Pohlig-Hellman.
2. Analisis dan Perancangan
Masalah akan dianalisis untuk dimodelkan secara konseptual dengan mengidentifikasi seluruh elemen yang dibutuhkan dan batasan masalah dalam
mencapai tujuan. Kemudian perancangan sistem dilakukan dengan mendesain user interface, flowchart, dan UML sebagai gambaran sistem yang akan dibuat.
3. Implementasi
Pada tahap ini sistem akan dibangun dengan menggunakan bahasa pemrograman Python.
4. Pengujian Sistem
Sistem yang telah dibuat akan diuji dengan membangkitkan banyak kunci dengan panjang yang berbeda pada algoritma ElGamal lalu melihat ketepatan dan
kecepatan sistem yang dibangun dalam memecahkan kunci privat menggunakan algoritma Silver-Pohlig-Hellman.
5. Dokumentasi
Proses dokumentasi hasil penelitian dilakukan selaman penelitian dengan menyusun laporan dalam bentuk skripsi.
Universitas Sumatera Utara
1.7 Sistematika Penulisan