Yazan: Şadi Evren ŞEKER
Asimitrik şifreleme yöntemlerinden birisidir. Anahtar üretimi ve şifreleme / açma olarak iki aşamadan oluşur. Dayandığı matematiksel zorluk, dairesel gruplar (cyclic group) üzerindeki ayrık logaritmadır (discrete logarithm).
Anahtar üretme aşaması:
El Gamal şifrelemesinde dairesel gruplardan (cyclic group) faydalanılmaktadır. Alice q derecesinde bir G grubunu g üreticisi (Generator) ile üretir. Alice bu gruptan { 0 , … , q-1 } rasgele bir x değerini seçer. Alice h = gx değerini hesaplar.
Bu işlemler sonucunda Alice , g, G , q ve h değerlerini umumî anahtar (public key) olarak yayınlar.
Şifreleme aşaması (encryption):
Bob, göndermek istediği mesajı şifrelemek için Alice tarafından yayınlanan G grubundan faydalanır. Buna göre şifreli metin (cipher text) aşağıdaki şekilde adım adım hesaplanır:
Bob öncelikle Alice tarafından açık olarak yayınlanan G grubundan rasgele bir sayı seçer (bu örnekte y olarak geçecektir)
Bob iki adet sayıyı hesaplayarak Alice’e gönderir bunlar:
c1 = gy ve
c2 = m hy değerleridir. Dolayısıyla Bob, Alice’e (c1 , c2 ) çiftini yollar.
Şifre açma aşaması (decryption):
Alice, Bob’dan aldığı (c1 , c2 ) çiftini açmak için kendi hususî anahtarı olan x değerinden faydalanır.
Alice mesaja ulaşmak için basitçe ( c2 / c1x ) bölümünü hesaplar.
Bu şifreleme yönteminde G grubundan daha büyük mesajların gönderilmesi durumunda mesajı alt parçalara bölerek göndermek de mümkündür.
