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.
Leave a Reply