BAB I
PENDAHULUAN
1.1. Latar Belakang
Kemajuan dan perkembangan teknologi informasi dewasa ini telah berpengaruh pada hampir semua aspek kehidupan manusia, tak terkecuali dalam hal berkomunikasi. Dengan adanya internet, komunikasi jarak jauh dapat dilakukan dengan cepat dan murah. Namun di sisi lain, ternyata internet tidak terlalu aman karena merupakan media komunikasi umum yang dapat digunakan oleh siapapun sehingga sangat rawan terhadap penyadapan informasi oleh pihak-pihak yang tidak berhak mengetahui informasi tersebut. Oleh karena penggunaan internet yang sangat luas seperti pada bisnis, perdagangan, bank, industri dan pemerintahan yang umumnya mengandung informasi yang bersifat rahasia maka keamanan informasi menjadi faktor utama yang harus dipenuhi. Berbagai hal telah dilakukan untuk mendapatkan jaminan keamanan informasi rahasia ini. Salah satu cara yang digunakan adalah dengan menyandikan isi informasi menjadi suatu kode-kode yang tidak dimengerti sehingga apabila disadap maka akan kesulitan untuk mengetahui isi informasi yang sebenarnya.
Metode penyandian yang pertama kali dibuat masih menggunakan metode algoritma rahasia. Metode ini menumpukan keamanannya pada kerahasian algoritma yang digunakan. Namun metode ini tidak efisien saat digunakan untuk berkomunikasi dengan banyak orang. Oleh karena itu seseorang harus membuat algoritma baru apabila akan bertukar informasi rahasia dengan orang lain.
Karena penggunaannya yang tidak efisien maka algoritma rahasia mulai ditinggalkan dan dikenalkan suatu metode baru yang disebut dengan algoritma kunci. Metode ini tidak menumpukan keamanan pada algoritmanya, tetapi pada kerahasian kunci yang digunakan pada proses penyandian. Algoritmanya dapat diketahui, digunakan dan dipelajari oleh siapapun. Metode algoritma kunci mempunyai tingkat efisiensi dan keamanan yang lebih baik dibandingkan dengan algoritma rahasia. Sampai sekarang algoritma kunci masih digunakan secara luas di internet dan terus dikembangkan untuk mendapatkan keamanan yang lebih baik.
Algoritma ElGamal merupakan salah satu dari algoritma kunci. Algoritma ini dikembangkan pertama kali oleh Taher ElGamal pada tahun 1985. Sampai saat ini, algoritma ElGamal masih dipercaya sebagai metode penyandian, seperti aplikasi PGP dan GnuPG yang dapat digunakan untuk pengamanan e-mail dan tanda tangan digital. Pada tahun 1994 pemerintah Amerika Serikat mengadopsi Digital Signature Standard, sebuah mekanisme penyandian yang berdasar pada algoritma ElGamal.
1.2. Perumusan Masalah
Masalah yang dibahas pada skripsi ini adalah konsep-konsep matematis yang melandasi pembentukan algoritma ElGamal, proses penyandian serta implementasi algoritma ElGamal dalam bentuk sebuah program komputer yang sederhana.
1.3. Batasan Masalah
Pada skripsi ini, pembahasan algoritma ElGamal meliputi konsep matematis yang melandasinya dan proses penyandiannya. Serta mengenai pembuatan sebuah program komputer yang digunakan untuk menyandikan suatu pesan. Program ini merupakan implementasi algoritma ElGamal dan dibuat menggunakan bahasa Pascal. Pada skripsi ini tidak membahas mengenai sulitnya dan cara-cara untuk memecahkan mekanisme penyandian.
1.4. Maksud dan Tujuan
Selain untuk memenuhi syarat kelulusan program Strata-1 (S1) program studi Matematika Universitas Gadjah Mada, penyusunan skripsi ini bertujuan untuk mempelajari konsep matematis yang melandasi pembentukan algoritma ElGamal dan penggunaannya. Sedangkan pembuatan program komputer hanya ditujukan sebagai contoh semata agar mempermudah pemahaman.
1.5. Tinjauan Pustaka Algoritma ElGamal banyak dibahas pada buku-buku kriptografi, tetapi masih sedikit yang membahas secara mendetail tentang konsep-konsep matematisnya. Stinson (1995) telah menjelaskan secara umum tentang algoritma ElGamal beserta sistem pendukungnya. Buchmann (2000) secara khusus menitikberatkan pada pemahaman konsep dasar matematis dari algoritma ElGamal, seperti teori bilangan bulat, persamaan kongruen, dan struktur aljabar abstrak yang meliputi grup, homomorfisma dan gelanggang. Pembahasan aljabar abstrak yang lebih terperinci diberikan oleh Fraleigh (2000), namun tidak ada pembahasan yang mengaitkan secara langsung dengan algoritma ElGamal. Sedangkan implementasi algoritma ElGamal diberikan oleh Menezes, Oorschot dan Vanstone (1996), termasuk penjelasan beberapa algoritma yang dapat digunakan untuk membuat program komputer.
1.6. Metodologi Penelitian
Metode yang digunakan dalam pembuatan skripsi ini adalah dengan terlebih dahulu melakukan studi literatur mengenai algoritma ElGamal pada beberapa buku, paper, maupun situs internet yang berhubungan dengan algoritma ElGamal. Kemudian penulis mengambil beberapa materi yang menjelaskan mengenai algoritma ElGamal dan membahasnya. Langkah terakhir adalah melakukan perancangan dan menerapkan algoritma tersebut menggunakan bahasa Pascal untuk membuat sebuah program komputer yang digunakan untuk menyandikan pesan.
1.7. Sistematika Penulisan
Dalam skripsi ini pembahasan materi disusun menjadi tujuh bab. Materi tersebut disusun dengan sistematika berikut ini.
BAB I PENDAHULUAN
Pada bab ini dibahas mengenai latar belakang, perumusan masalah, batasan masalah, maksud dan tujuan penulisan skripsi, tinjauan pustaka, metode penulisan, serta sistematika penulisan skripsi.
BAB II LANDASAN TEORI
Pada bab ini dibahas mengenai tiga landasan teori yang harus dipahami sebelum membahas bagian inti dari skripsi ini, yaitu mengenai kriptografi, bilangan bulat dan struktur aljabar. Pada bagian kriptografi akan diberikan definisi kriptogafi, algoritma kriptografi dan sistem kriptografi. Pada bagian bilangan bulat akan dibahas mengenai beberapa sifat bilangan bulat seperti divisibility, algoritma pembagian pada bilangan bulat, representasi bilangan bulat, pembagi persekutuan terbesar, algoritma Euclide, serta faktorisasi ke bilangan prima. Sedangkan pada pembahasan mengenai struktur aljabar akan dibahas mengenai grup, grup siklik, partisi dan relasi ekuivalensi, homomorfisma, grup fakor, gelanggang, dan lapangan.
BAB III PERSAMAAN KONGRUEN DAN HIMPUNAN BILANGAN BULAT MODULO
Pada bab ini dibahas mengenai konsep-konsep dasar matematika yang secara khusus mendasari pembentukan algoritma ElGamal yang meliputi persamaan kongruen, himpunan bilangan bulat modulo, gelanggang bilangan bulat modulo, grup pergandaan bilangan bulat modulo, Euler j -function, teorema Fermat, metode fast exponentiation, grup unit atas lapangan berhingga dan elemen primitif.
BAB IV TES KEPRIMAAN
Pada bab ini dibahas mengenai dua tes keprimaan (primality test), yaitu tes Fermat dan tes Miller-Rabbin. Tes keprimaan merupakan suatu algoritma yang digunakan untuk mengecek apakah suatu bilangan bulat positif ganjil merupakan bilangan prima atau bukan.
BAB V MASALAH LOGARITMA DISKRET DAN ALGORITMA ELGAMAL
Pada bab ini dibahas dua hal yang menyangkut algoritma ElGamal, yaitu masalah logaritma diskret yang mendasari pembentukan algoritma ElGamal dan proses penyandian menggunakan algoritma ElGamal. Pada penjelasan mengenai proses penyandian dijelaskan tiga hal yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Serta diberikan contoh kasus penggunaannya.
BAB VI IMPLEMENTASI DAN UJI COBA
Bab ini membahas mengenai langkah- langkah pembuatan program komputer yang digunakan untuk menyandikan suatu pesan menggunakan algoritma ElGamal. Serta pembahasan hasil uji coba program tersebut.
BAB VII PENUTUP
Bab ini berisi kesimpulan dan saran-saran yang dapat diambil berdasarkan materi-materi yang telah dibahas pada bab-bab sebelumnya.