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