Hitung Manual Enkripsi dan Dekripsi Pada Algoritma ElGamal
Table of Contents
Algoritma ElGamal dibuat oleh Tager ElGamal tahun 1984 yang digunakan untuk enkripsi dan dekripsi text. Keamanan algoritma ini terletak pada sulitnya menghitung logaritma diskrit. Secara garis besar, besaran-besaran yang digunakan di dalam algoritma ElGamal adalah:
1.
p = bilangan prima (tidak rahasia, publik)
2.
g = akar primitif dari p (tidak rahasia,
publik)
3.
x = bilangan acak (rahasia, kunci privat)
4.
y = gx mod p (tidak rahasia,
kunci publik)
5.
m = plainteks (rahasia)
6. a dan b = chiperteks (tidak rahasia)
Misalkan
Tono dan Tini berkomunikasi menggunakan algoritma ElGamal untuk mengenkripsi
pesan. Tono dan Tini masing-masing membangkitkan pasangan kunci privat dan
kunci publiknya, kemudian menggunakannya untuk mengenkripsi dan dekripsi pesan.
Urutan prosesnya adalah sebagai berikut: pembangkitan kunci privat dan kunci
publik, enkripsi pesan dan dekripsi pesan. Cara untuk pembangkitan kunci privat
dan kunci publik dimulai dari Tono dan Tini yang sudah menyepakati bilangan
prima p dan bilangan bulat g. Tono membangkitkan kunci privat dan kunci
publiknya sebagai berikut:
1. Tono memilih sebuah bilangan acak x dengan syarat
1<x<p-1
2. Tono menghitung y= gx mod p.
Hasilnya,
kunci privat Tono adalah x, dan kunci public adalah tripel (y,g,p). Prosedur
yang sama juga dilakukan Tini untuk membangkitkan kunci privat dan kunci
publiknya.
Proses Enkripsi
Misalkan
Tono mengirim plainteks HALO kepada Tini. Misal A= 00, B= 01… Z=25, maka
Plainteks M menjadi 07001114.
1. p = 2273
2.
g = 3
3.
x = 243
4.
y = 3243
mod 2273 = 461
5.
m = HALO
6. a, b …?
Plainteks
m dipecah menjadi blok-blok sepanjang 4 angka:
m1 = 0700
m2 = 1114
Enkripsi m1
= 0700
Tono
memilih angka acak k = 1463 (masih dalam selang 0,2273-1)
a = gk
mod p = 31463 mod 2273 = 1439
b = ykm1
mod p = 4611463 . 700 mod 2273 = 74
Chiperteks
untuk m1 adalah a,b = 1439, 74
Enkripsi m2
= 1114
Tono
memilih angka acak k = 2001 (masih dalam selang 0,2273-1)
a = gk
mod p = 32001 mod 2273 = 1220
b = ykm2
mod p = 4612001 . 1114 mod 2273 = 1682
Chiperteks
untuk m2 adalah a,b = 1220, 1682
PLAINTEKS
= HALO
CHIPERTEKS = 1439, 74, 1220, 1682
Proses Dekripsi
Dekripsi
C1 (1439, 74)
(ax)-1 = ap-1-x mod p
= 14392029 mod 2273 =
1791
m1 = b/ax mod p
= b(ax)-1 mod
p
= 74 . 1791 mod 2273
= 700
= 0700
Dekripsi
C2 (1220, 1682)
(ax)-1 = ap-1-x mod p
= 12202029 mod 2273 =
1125
m2 = b/ax mod p
= b(ax)-1 mod
p
= 1682 . 1125 mod 2273
= 1114
m1m2 =
07001114
= H A L O
Post a Comment