Algoritma Elgamal: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
LaninBot (bicara | kontrib)
k namun (di tengah kalimat) → tetapi
k Bot: Perubahan kosmetika
Baris 7:
== Pembentukan kunci ==
 
Skema ElGamal memerlukan sepasang kunci yang dibangkitkan dengan memilih sebuah bilangan prima p dan dua buah bilangan random g dan x. Nilai g dan x lebih kecil dari p yang memenuhi persamaan: y = g<sup>x</sup> mod p
 
Dari persamaan tersebut y, g dan p merupakan kunci publik dan x adalah kunci rahasia.
Baris 13:
== Proses Enkripsi ==
 
Proses enkripsi merupakan proses mengubah pesan asli (plaintext) menjadi pesan rahasia (ciphertext). Pada proses ini digunakan kunci publik (p, g, y). Langkah-langkah dalam mengenkripsi pesan adalah sebagai berikut:
 
Potong plaintext menjadi blok-blok m1, m2, …, nilai setiap blok di dalam selang [0, p – 1].
Baris 19:
Ubah nilai blok pesan ke dalam nilai ASCII.Pilih bilangan acak k, dengan syarat 1 ≤ k ≤ p – 2.
 
Setiap blok m dienkripsi dengan rumus sebagai beriku:
 
gamma (γ) = gk mod p. (1)
 
delta (δ) = ykm mod p. (2)
 
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).
Baris 29:
== Proses dekripsi ==
 
Proses dekripsi merupakan proses mengubah pesanrahasia (ciphertext) menjadi pesan asli (plaintext). Padaproses ini digunakan kunci pribadi (x, p).
 
Langkah-langkah dalam mendekripsi pesan adalah sebagai berikut:
 
Penentuan nilai gamma dan delta. Nilai gamma (γ) diperoleh dari ciphertext dengan urutan ganjil sedangkan delta (δ) dengan urutan genap.
 
Hitung plaintext m dengan persamaan rumus berikut:
 
m = δ. γ(p-1-x) mod p (3)