BAB I PENDAHULUAN
1.1
Latar Belakang
Perkembangan jaringan komputer di masa kini memungkinan kita untuk melakukan pengiriman pesan melalui jaringan komputer. Untuk menjaga kerahasiaan dan keutuhan pesan tersebut, dibutuhkan sebuah penyandian terhadap pesan yang akan dikirim. Enkripsi merupakan suatu cara penyandian pesan yang akan mengubah pesan yang kita kirim (plaintext) menjadi pesan yang berisi deretan simbol atau tulisan yang tidak beraturan. Salah satu algoritma yang digunakan untuk melakukan penyandian tersebut adalah Algoritma ElGamal. Algoritma ElGamal merupakan sistem kriptografi asimetrik dimana terdapat dua pasang kunci yatu kunci yang digunakan untuk enkripsi dan kunci untuk melakukan dekripsi. Kunci untuk enkripsi bersifat publik, sehingga dinamakan kunci publik (public key). Sedangkan kunci untuk dekripsi bersifat rahasia, sehingga dinamakan kunci privat (private key). Algoritma ElGamal terdiri dari tiga proses, yaitu proses pembentukan kunci, proses enkripsi, dan proses dekripsi. Proses pembentukan kunci didasarkan pada perhitungan � � mod � , dimana � � , �, dan � adalah kunci publik.
Sedangkan a adalah kunci privat. Keuntungan keamanan Algoritma ElGamal bergantung pada sulitnya memecahkan perhitungan logaritma diskrit. Sedangkan kerugiannya adalah pada ciphertext-nya yang mempunyai panjang dua kali lipat dari plaintext-nya. Pemecahan (hacking) kunci pada keamanan pesan dapat memiliki tujuan yang baik dan buruk. Dalam hal ini penulis ingin melakukan pemecahan kunci untuk menguji seberapa aman Algoritma ElGamal untuk bertahan dari serangan terhadap
perhitungan logaritma diskritnya. Pada proses pembangkitan kunci, dihitung � � mod �, a adalah kunci privat yang akan dipecahkan dalam hal ini. Salah satu metode untuk melakukan serangan ini adalah metode Baby-step Giant-step.
Universitas Sumatera Utara
2
Metode Baby-step Giant-step dilakukan dengan cara membuat dua buah daftar perhitungan yang bertujuan untuk mendapatkan hasil yang sama. Daftar yang pertama meningkatkan eksponen sebanyak satu setiap waktu (Baby-step). Sedangkan daftar yang kedua meningkatkan eksponen sebanyak kelipatan N dimana p - 1 < N2. a adalah jumlah dari eksponen di daftar pertama dan eksponen di daftar kedua yang memiliki hasil yang sama. Setelah a (kunci privat) didapatkan maka kemudian akan digunakan untuk melakukan proses dekripsi untuk mendapatkan plaintext. Berdasarkan latar belakang yang telah penulis uraikan, maka dilakukan penelitian dengan judul “Teknik Pemecahan Kunci Privat ElGamal dengan Algoritma Baby-step Giant-step”.
1.2
Rumusan Masalah
Berdasarkan latar belakang di atas, maka rumusan masalah yang dapat diambil adalah sebagai berikut : 1. Bagaimana suatu pesan yang disandikan menggunakan algoritma ElGamal dapat terpecahkan kunci privatnya menggunakan metode Baby-step Giant-step dengan hanya memperoleh informasi kunci publik. 2. Bagaimana efektivitas dan efisiensi perhitungan logaritma diskrit, khususnya metode Baby-step Giant-step dalam menguji keamanan algoritma ElGamal ditinjau dari panjang digit bilangan prima dan parameter waktu.
1.3
Batasan Masalah
Batasan masalah yang dapat diambil dari latar belakang di atas adalah 1. File yang dienkripsi dan didekripsi hanya berfokus pada algoritma kriptografi ElGamal menggunakan teks dengan karakter ASCII dan disimpan dalam format *.txt dan *.doc. 2. Metode penguji bilangan prima yang digunakan adalah Lehmann Primality Test. 3. Panjang kunci publik yang diterapkan pada algoritma ini tidak lebih dari 80 bit.
Universitas Sumatera Utara
3
4. Aplikasi berbasis dekstop dan bahasa pemograman yang digunakan untuk membangun aplikasi adalah bahasa Python untuk melakukan pengujian bilangan prima serta perhitungan matematis dan bahasa Java sebagai user interface. 5. Proses yang dilakukan pada penelitian ini adalah melakukan perhitungan logaritma diskrit x dengan mengetahui informasi � � , �, dan � dari rumus � � mod � yang kemudian hasilnya digunakan untuk mendekripsikan ciphertext menjadi plaintext kembali menggunakan algoritma ElGamal.
6. Untuk mengukur efisiensi dan efektivitas dari metode Baby-step Giant-step adalah dengan mencari lama waktu proses yang dibutuhkan untuk melakukan perhitungan logaritma diskrit terhadap panjang digit bilangan prima.
1.4
Tujuan Penelitian
Tujuan penelitian ini antara lain: 1. Menguji keamanan kunci algoritma ElGamal sekaligus melakukan proses pemecahan kunci untuk memperoleh plaintext dari ciphertext yang ada, untuk menjadi referensi dalam menggunakan algoritma kriptografi yang baik kedepannya. 2. Menguji sejauh mana efisiensi dan efektivitas metode Baby-step Giant-step dalam memecahkan kunci algoritma ElGamal dilihat dari parameter waktu dan panjang digit bilangan prima minimal 3 digit dan maksimal 10 digit.
1.5
Manfaat Penelitian
1. Mengetahui seberapa efisien dan efektif metode Baby-step Giant-step dalam menguji keamanan algoritma ElGamal. 2. Mengetahui panjang kunci yang dibutuhkan agar algoritma ElGamal dapat dikatakan masih aman digunakan.
Universitas Sumatera Utara
4
1.6 1.
Metodologi Penelitian Studi Literatur Peninjauan terhadap buku-buku, artikel-artikel, jurnal-jurnal maupun hasil penelitian terdahulu yang terkait dengan algoritma pengujian bilangan prima Lehmann, cryptosystem, algoritma kunci publik ElGamal.
2. Analisis dan Perancangan Dengan adanya rumusan dan batasan masalah, kebutuhan perancangan dianalisis disertai pembuatan flowchart, diagram Unified Modeling Language(UML),design interface, dan pseudocode.
3.
Implementasi Implementasi dilakukan guna menguji keamanan ElGamal dimana user berlaku sebagai pengirim mengenkripsikan pesan dengan metode ElGamal dan juga berlaku sebagai eavesdropper dimana mempunyai data kunci publik (� � , �, p) dan dihitung kunci privat a menggunakan metode Baby-step Giant-step sehingga dapat mendekripsikan pesan dengan dekripsi ElGamal.
4. Pengujian Aplikasi diuji berdasarkan hasil analisis dan perancangan.
5. Dokumentasi dan Laporan Akhir Setelah implementasi, maka penulis akan membuat dokumentasi atau laporan tiap tahap dari program yang penulis rancang.
Universitas Sumatera Utara
5
1.7
Sistematika Penulisan
Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu : BAB 1
PENDAHULUAN Bab ini akan menjelaskan mengenai latar belakang penilitian judul skripsi “Teknik Pemecahan Kunci Privat ElGamal Dengan Algoritma Baby-step Giant-step.”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, tinjauan pustaka, dan sistematika penulisan skripsi.
BAB 2
LANDASAN TEORI Berisi tentang penjelasan singkat mengenai definisi kriptografi, keamanan data, algoritma ElGamal, bilangan prima dan komposit, bilangan prima aman, GCD, bilangan relatif prima, kekongruenan, fungsi Euler, ordo modulo, modulo invers, akar primitif dan metode pembangkit bilangan prima Lehmann, dan metode Baby-step Giantstep.
BAB 3
ANALISIS DAN PERANCANGAN Berisi tentang uraian analisis mengenai proses kerja dari metode ElGamal dan Baby-step Giant-step yang terdiri dari flowchart, pseudocode, Unified Modeling Language (UML) serta perancangan dari aplikasi.
BAB 4
IMPLEMENTASI DAN PENGUJIAN Pada tahap ini dilakukan pembuatan sistem dan coding sesuai dengan analisis dan perancangan. Kemudian melakukan pengujian sistem.
BAB 5
KESIMPULAN DAN SARAN Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian dari bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.
Universitas Sumatera Utara