Algoritme 1 Pembangkitan Kunci Algoritme 2 Enkripsi Algoritme 3 Dekripsi Algoritme 1 Pembangkitan Kunci

3.4.4 Menentukan Invers Negatif Titik

INPUT : Titik P , dengan , OUPUT : P , Mulai 1. Hitung 2. Tampilkan ,

3.4.5 Menentukan kelipatan

sebanyak k kali INPUT : Titik P , dan merupakan integer positif acak dengan , , OUPUT : Mulai 1. Pilih suatu integer acak dan diubah menjadi basis 2 2. Misalkan 3. Jika hanya terdapat satu titik P, maka a. Nilai yaitu nilai P b. Selesai 4. Untuk langkah kedua, lakukan sampai i kali apabila terdapat beberapa titik yang sama dengan cara a. Nilai yaitu nilai . Jadi apabila terdapat dua titik yang sama dan masing-masing bisa dipasangkan, titik tersebut digandakan sampai i sehingga ditemukan satu titik. b. Jika operasi ke i kali yang nilai biner terdapat satu titik yang tidak ada pasangan untuk digandakan, maka lakukan 1. Titik yang digandakan sebelumnya dijumlahkan dengan satu titik yang tidak mempunyai pasangan sehingga proses a 2. Selesai c. Selesai 5. Tampilkan titik

3.5 ElGamal Kurva Eliptik atas

Untuk penerapan kurva eliptik dalam algoritme ElGamal, maka terdapat beberapa perubahan yang terjadi dalam algoritme tersebut. Perubahannya dari grup multiplikatif yang digeneralisasi menjadi aritmetik kurva eliptik . Berikut langkah-langkah penyandian dengan grup multiplikatif digeneralisasi. Diilustrasikan A mengirim pesan kepada B.

1. Algoritme 1 Pembangkitan Kunci

B membuat sebuah kunci publik dan kunci pribadi. Hal yang dilakukan adalah a. Memilih suatu grup siklik berorder dengan generator . b. Memilih suatu integer acak a dalam . c. Menghitung . d. Kunci publik B adalah , dan kunci pribadi B adalah a. e. Kemudian kunci publik tersebut dikirimkan ke A.

2. Algoritme 2 Enkripsi

A menyandikan atau me-enkripsi sebuah pesan m ke B. Langkah-langkah yang harus dilakukan oleh A adalah a. Memperoleh kunci publik , . b. Merepresentasikan pesan tersebut sebagai suatu integer c. Memilih integer acak k, dimana positif. d. Menghitung dan . e. Mengirim siferteks , ke B.

3. Algoritme 3 Dekripsi

Untuk menemukan kembali m dari c, B harus melakukan hal-hal berikut a. Menggunakan kunci pribadi a untuk menghitung . Dengan catatan . b. Menemukan kembali m dengan menghitung , sehingga diperoleh . Menezes et al. 1996 Sedangkan untuk aritmetika kurva eliptik digunakan aturan definisi grup kurva eliptik dengan menggunakan proses adisi. Perubahan yang terjadi adalah a. menjadi Sebanyak kali b. menjadi . Oleh karena itu, algoritme ElGamal dalam grup multiplikatif diatas diganti menjadi aritmetika kurva eliptik diilustrasikan A mengirim pesan ke B.

1. Algoritme 1 Pembangkitan Kunci

B membuat sebuah kunci publik dan kunci pribadi. Hal yang dilakukan adalah a. Memilih suatu generator , yang merupakan titik pada kurva eliptik. . b. Memilih suatu integer acak a dalam . c. Menghitung . d. Kunci publik B adalah , dan kunci pribadi B adalah a. e. Mengirim kunci publik ke A.

2. Algoritme 2 Enkripsi