El-Gamal Diciptakan oleh Taher ElGamal tahun 1984 Awalnya untuk digital signature algoritme Asimetris (kunci public) Memerlukan sepasang kunci Algoritme blok cipher Terdiri dari 3 proses: pembentukan kunci, enkripsi dan dekripsi Panjang ciphertext yang dihasilkan dua kali lebih besar dari plaintext Pembentukan Kunci El-Gamal
Tentukan sebuah bilangan prima p (p tidak
rahasia) Tentukan dua bilangan g dan x, dimana g < p (g tidak rahasia) dan x < p (x rahasia) Hitung y = gx mod p y, g dan p adalah kunci publik (public key) x dan p adalah kunci rahasia (private key) Proses Enkripsi El-Gamal 1. Potong plaintext menjadi blok-blok m1, m2, …, nilai setiap blok di dalam selang [0, p – 1]. 2. Ubah nilai blok pesan ke dalam nilai ASCII. 3. Pilih bilangan acak k sebanyak m, dengan syarat 1 ≤ k ≤ p – 2 (k relatif prima terhadap p). 4. Setiap blok m dienkripsi dengan rumus sebagai berikut. gamma (γ) = gk mod p delta (δ) = ykm mod p 5. Susun ciphertext dengan urutan γ1,δ1, γ2,δ2,…,γn,δn. Pasangan γ dan δ adalah cipherteks untuk blok pesan m. Hasil yang didapat dari proses enkripsi berupa pesan rahasia (ciphertext). Proses Dekripsi El-Gamal 1. Penentuan nilai gamma dan delta. Nilai gamma (γ) diperoleh dari ciphertext dengan urutan ganjil sedangkan delta (δ) dengan urutan genap. 2. Hitung plaintext m dengan persamaan rumus berikut. m = δ. γ(p-1-x) mod p 3. Ubah nilai m yang didapat ke dalam nilai ASCII. 4. Susun plaintext dengan urutan m1,m2,…,mn. Contoh Pembuatan Kunci El-Gamal
p = 2903, g = 5, x = 1751 y = gx mod p = 51751 mod 2903 = 771 Kunci publik: y = 771, g = 5, p = 2903 Kunci rahasia: x = 1751, p = 2903
Plaintext: AB (kode ascii: m1 = 65 dan m2 = 66)
K1 = 319; K2 = 259 Contoh Proses Enkripsi El-Gamal γ1 = gk1 mod p = 5319 mod 2903 = 452 δ1 = yk1m1 mod p = 771319 ∙ 65 mod 2903 = 117 γ2 = gk2 mod p = 5259 mod 2903 = 2640 δ2 = yk2m2 mod p = 771259 ∙ 66 mod 2903 = 2087 Ciphertext: 452, 117, 2640, 2087 Contoh Proses Dekripsi El-Gamal Ciphertext: 452, 117, 2640, 2087 γ1 δ1 γ2 δ2
m1 = δ1. γ1(p-1-x) mod p
=117 . 452(2903-1-1751) mod 2903 =117 . 452(1151) mod 2903 = 65 (A)