3. Giriş
1985’te Taher Elgamal tarafından tasarlanmış Diffie Hellman
algoritmasına dayanan asimetrik şifreleme algoritmasıdır.
Temel olarak ayrık algoritma ve dairesel gruplardan oluşur.
Hem veri şifreleme hem de sayısal imza yapabilir.
3 aşamadan meydana gelir: Anahtar oluşturma, şifreleme, deşifreleme.
4. Algoritma Açıklaması
P, k, g ve x sayıları
kullanılarak y =g^x
mod(p) değeri
hesaplanır.
Açık anahtar olarak k,
y, g ve p değişkenleri
tüm vericilere
ulaştırılabilir.
Gizli anahtar olarak
kullanılacak x
değişkeni, alıcıda
saklanmalıdır.
Verici, M
(şifrelenmemiş mesaj)
mesajını şifrelemek
istediğinde belirtilen
işlemleri yapar.
Bu işlemler sonucunda
C₁ ve C₂ şifreli
metinleri oluşur.
C₁=g^k mod(p)
C₂=y^k * M mod(p)
5. Algoritma Açıklaması
Alıcıya ulaştıracağımız C₁ ve C ₂ şifreli metinlerini
kullanarak aşağıdaki işlemi yapıp düz metin olan M
mesajı elde edilir.
M= C₂/C₁* mod(p)
Elgamal algoritmasında sağlamlık seçilecek olan açık ve
gizli anahtarların rastgeleliğine ve değerlerin büyüklüğü
ile ilgilidir.
Bir örnek ile bu 3 aşamayı işleyelim.
6. Anahtar Oluşturma
“p” asal sayısı
belirlenir.
(p-1) ile aralarında
asal olacak bir k
sayısı belirlenir.
P’den küçük
olacak şekilde
birbirlerinden
farklı g ve x
sayıları belirlenir.
Bu değerler
kullanılarak
y = g*mod(p)
hesaplanır.
p, g ve y değerleri
public key olarak
yayınlanır.
ElGamal Oluşturma Örneği:
1. p=23 olsun.
2. Primitive element g=11
3. Private key x=6 olarak seçelim.
4. y=11⁶(mod 23) =9
Public key: 9
Private key: 6
7. Şifreleme
2.aşamada M
mesajını şifrelemek
için gerekli işlemler
yapılır.
Şifreli metinleri
hesaplamak için
aşağıdaki adımlar
gerçekleştirilir:
C₁=g^k mod(p) C₂=y^k M mod(p)
ElGamal Şifreleme Örneği:
Public key 9 ile M=10 ’u şifrelemek için
1. Rastgele k=3 oluşturun.
2. C₁=11³ mod 23=20
C₂=10 x 9³ mod 23
=10 x 16 = 160 mod 23=22
3. Ciphertext C= (20, 22)
8. Deşifreleme
Mesajı alan tarafın şifreli mesajı
açması için:
M = C₂/C₁^x mod(p)
ElGamal Deşifreleme Örneği:
C=(20, 22) şifrelemek için,
1. Hesaplama 20⁴=16 mod 23 hesaplayın.
2. Hesaplama 22 /16=10 mod 23
3. Plaintext = 10
9. Kaynakça
1. Çetinkaya,H. (2019) RSA ve Elgamal Kismi Homomorfik Kripto Sistemlerin Vergi Ödeme Sistemine
Uygulanması ve Bu Uygulamaların Performans Analizleri. YÖK Tez Merkezi , 20-100
2. Paar C., Pelzl J. (2010). Understanding Cryptography, Springer. (s.226- 246)
3. Hoşcoşkun, R. E. (2020). Homomorfik Şifreleme Yöntemi Üzerine Bir İnceleme. Dspaca@Trakya
Kurumsal Akademik Arşiv, 60-70.
4. URL: https://www.researchgate.net/publication/340455167_ELGAMAL_SIFRELEME_ALGORITMASI