El Gamal Encryption ( El Cemal Şifrelemesi)

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.

Bu yazıyı beğendiyseniz, başkalarının da ilgisini çekebilirsiniz:


233 views

3 responses to “El Gamal Encryption ( El Cemal Şifrelemesi)”
  1. Hadi Borozan says:

    Merhaba, bir kaynakta plaintext’in (c2 / (c1^x)) formülüyle elde edilmesi yerine c2.(c1^(p-1-x)) şeklinde açılacağı gözüküyordu (p ile ifade edilen üzerinde çalışılan mod). Teyit etmek için soruyorum, bu iki ifade matematiksel olarak eşittir öyle değilmi. Şayet evetse 2 satır denklem çözümü ile gösterebilirseniz çok sevinirim.

    Kaynak: Menezes, Applied Cryptography sf. 295

    Teşekkürler.

  2. eşittir. Ama gereksizdir :)

    bakın ikinci denklem gereksiz yere karmaşıklaştırılmış.

    c1^-x değerinin 1/c1^x olduğunu biliyoruz.

    bu değer modüler aritmetikte olduğumuz için -x yerine p-1-x olarak yazılmış. Sebebi modüler aritmetikte – değerlerin moduloya tamamlanması. Örneğin -3 mod 5 = 2 olarak alınabilir.

    Dolayısıyla denklemimiz

    c1^p-1-x olarak yazılmış. Elbette algoritmada (El Gamal) bu değerin c2 ile çarpılması gerekiyor (ki benim yazımda da c2/c1^x formülünün payında olan c2 bu anlama gelmektedir. Denklemin son hali aşağıdaki şekilde oluyor:

    c2(c1^(p-1-x))

    başarılar

  3. Hadi Borozan says:

    c2 / c1^x = c2.(c1^(-x)) 1. denklemimiz bu

    c2.c1^(p-1-x) 2. denklemde bu

    Dolayısıyla

    c2.(c1^(-x)) = c2.c1^(p-1-x)

    c2′ler sadeleştirilirse

    (c1^(-x)) = c1^(p-1-x)

    Tabanlar eşit olması sebebiyle üstlerde birbirlerine eşit olacaktır

    (-x) = (p-1-x)

    Denklemde bir eşitsizlik var sanki

    Örneğin -3 mod 5 =2 örneğini vermişsiniz. p-1-x=5-1-3 ve -3 + 5 = 2 değerleri birbirlerine eşit değildir. Sizin denklemin doğru olduğu aşikar ancak menezes’in kaynağında bir yanlış noktamı var acaba?

Leave a Reply


iki * = 10

Benzer Yazılar:

Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'El Gamal Encryption ( El Cemal Şifrelemesi)' isimli yazı 30 Apr 2008 tarihinde, saat: 21:38 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam233 defa okunmuştur.

Benzer yazıları Veri Güvenliği(Cryptography) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


Category: Veri Güvenliği(Cryptography)