Pembangkit Bilangan Prima Kriptografi Kunci Publik Algoritma Elgamal Dengan Metode The Sieve Of Eratosthenes Untuk Pembangkitan Bilangan Prima

c. Kunci α merupakan salah satu akar primitif primitive root dari bilangan prima p , α ≠ p dan α ≠ a. Sebagaimana yang telah disebutkan pada bab yang sebelumnya, primitive root dari sebuah bilangan prima p adalah sebuah bilangan asli g yang mana orde modulo dari g mod p adalah p-1 [10]. d. Kunci y dengan persamaan . Sehingga keluaran dari aktivitas pembangkitan kunci ini adalah tiga kunci publik p, α, y yang akan dibagikan kepada para calon pengirim pesan dan satu kunci privat a yang hanya diketahui oleh penerima pesan. 2. Enkripsi Aktivitas enkripsi dilakukan oleh pengirim pesan dengan masukkan berupa tiga kunci publik p, α, y milik penerima pesan dan pesan asli plainteks m yang akan dikirimkan. Enkripsi dilakukan dengan menghitung cipherteks pertama dan cipherteks kedua . Hasil keluarannya berupa cipherteks c 1 , c 2 dikirimkan kepada penerima pesan. 3. Dekripsi Dekripsi dilakukan oleh penerima pesan dengan masukkan cipherteks c 1 , c 2 , kunci privat a, dan kunci publik p miliknya. Apabila cipherteks dan kunci yang dimasukkan benar maka akan diperoleh keluaran berupa plainteks yang sama dengan pesan aslinya. Berdasarkan pembahasan di atas, sistem yang akan dibangun memiliki tiga fungsi mengikuti aktivitas yang dimiliki algoritma ElGamal, yaitu pembangkit kunci, enkripsi, dan dekripsi. Di dalam fungsi ini terdapat proses-proses pendukung seperti pembangkit bilangan prima metode The Sieve of Eratosthenes, perhitungan modulo, dan proses pengujian apakah sebuah bilangan merupakan akar primitif dari kunci p.

3.1.1 Pembangkit Bilangan Prima

Bardasarkan pembahasan sebelumnya diketahui bahwa kunci publik p pada algoritma kriptografi ElGamal adalah bilangan prima dan kunci-kunci yang lainnya ditentukan berdasarkan nilai kunci p oleh karena itu, sebelum aktivitas pembangkitan kunci dilakukan pembangkitan bilangan prima terlebih dahulu. 3.1.1.1 The Sieve of Eratosthenes Dalam penelitian ini, algoritma pembangkit bilangan prima yang digunakan adalah The Sieve of Eratosthenes . Berikut ini merupakan langkah-langkah pembangkitan bilangan prima metode The Sieve of Eratosthenes. 1. Inisialisasi integer 2…N. 2. Tandai bilangan terkecil dari daftar 2…N sebagai prima pertama, p 1 = 2. 3. Eliminasi semua bilangan kelipatan p 1 dari daftar 2…N dimulai dari p 1 2 = 2 2 = 4 yaitu 4, 6, 8,…. 4. Tandai bilangan integer terkecil berikutnya dari daftar 2…N yang belum tereliminasi sebagai bilangan prima selanjutnya, p i +1 . 5. Eliminasi semua bilangan kelipatan p i +1 dari daftar 2…N dimulai dari p i +1 2 . 6. Ulangai angkah e dan g sampai p i +1 2 N, maka integer dari daftar 2…N yang tersisa adalah prima. Untuk mempermudah pemahaman langkah-langkah di atas, berikut ini merupakan contoh pembangkitan bilangan prima metode The Sieve of Eratosthenes jika nilai batas atas N = 30. 1. Inisialisasi integer 2…N yaitu 2…30. 2. Tandai bilangan terkecil dari 2…30 sebagai prima pertama, p 1 = 2. 3. Eliminasi semua bilangan kelipatan p 1 dari daftar 2…30 dimulai dari p 1 2 = 2 2 = 4 yaitu 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, maka daftar integer yang belum tereliminasi 2, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29. 4. Tandai bilangan integer terkecil berikutnya dari daftar 2…N yang belum tereliminasi sebagai prima selanjutnya, p i +1 = p 2 = 3. 5. Eliminasi semua bilangan kelipatan p i +1 = p 2 = 3 dari daftar 2…N dimulai dari p 2 2 = 3 2 = 9 yaitu 9, 12, 15, 18, 21, 24, 27, 30, maka daftar integer yang belum tereliminasi 2, 3, 5, 7, 11, 13, 15, 17, 19, 23, 25, 29. 6. Tandai bilangan integer terkecil berikutnya dari daftar 2…N yang belum tereliminasi sebagai prima selanjutnya, p i +1 = p 3 = 5. 7. Eliminasi semua bilangan kelipatan p i +1 = p 2 = 5 dari daftar 2…N dimulai dari p 2 2 = 5 2 = 25 yaitu 25, 30, maka daftar integer yang belum tereliminasi 2, 3, 5, 7, 11, 13, 17, 19, 23, 29. 8. Bilangan integer terkecil berikutnya dari daftar 2…N yang belum tereliminasi sebagai prima selanjutnya adalah p i +1 = p 4 = 7 namun 7 2 N, sehingga dapat dipastikan bilangan yang tersisa dari daftar integer yang belum tereliminasi yaitu 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 adalah bilangan prima.

3.1.2 Algoritma Kriptografi Kunci Publik ElGamal