ElGamal şifrelemesi: Revizyonlar arasındaki fark

Vikipedi, özgür ansiklopedi
[kontrol edilmemiş revizyon][kontrol edilmemiş revizyon]
İçerik silindi İçerik eklendi
Değişiklik özeti yok
Akmurat (mesaj | katkılar)
Değişiklik özeti yok
1. satır: 1. satır:
'''ElGamal şifrelemesi''', [[Diffie-Hellman]] anahtar alış-verişi'ne dayanan bir [[asimetrik şifreleme]] algoritması olup Taher Elgamal tarafından 1984 yılında önerilmiştir.
<ref>{{cite journal |author=Taher ElGamal |title=A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms |journal=IEEE Transactions on Information Theory |volume=31 |issue=4 |year=1985 |pages=469–472 |doi=10.1109/TIT.1985.1057074 |url=http://caislab.kaist.ac.kr/lecture/2010/spring/cs548/basic/B02.pdf}} (conference version appeared in [[CRYPTO]]'84, pp. 10&ndash;18)</ref>

ElGamal, bedava bulunan [[GNU Privacy Guard]] yazılımında, PGP'nin son versiyonlarında ve başka kriptosistemlerde kullanılmaktadır.

[[DSA]] ElGamal dijital anahtar metodunun bir türevi olup, ElGamal şifrelemesi ile karıştırılmamalıdır.

ElGamal şifrelemesi herhangi bir döngüsel grup <math>G</math> üzerinde tanımlanabilir.
Güvenliği <math>G</math> grubunda kesikli logaritma([[:en:Discrete logarithm]]) adı verilen belli bir problemin zorluğuna dayanmaktadır (aşağıda açıklanacaktır).


== Algoritma ==
ElGamal şifrelemesi üç bileşenden oluşur: anahtar üretici, şifreleme algoritması, ve deşifreleme algoritması.

=== Anahtar üretilmesi ===
Anahtar üretici şöyle çalışır:

* Ayşe, kertesi <math>q\,</math> olan, <math>g\,</math> üretecine sahip, çarpımsal bir <math>G\,</math> döngüsel grubunun etkin bir tanımını üretir. Böyle bir grubun gereksinimleri aşağıdadır.
* Ayşe <math>\{0, \ldots, q-1\}</math> aralığından rastgele bir <math>x\,</math> seçer.
* Ayşe <math>h = g^x\,</math> değerini hesaplar.
* Ayşe, '''açık anahtar''' olarak <math><G, q, g>\,</math> ve <math>h\,</math> değerlerini yayınlar. Ayşe <math>x\,</math> değerini ise '''gizli anahtar'''ı olarak kendisine saklar.

=== Şifreleme ===
Şifreleme algoritması şöyle çalışır: Bir <math>m\,</math> mesajını Ayşe'ye göndermek için, açık anahtar <math>(G,q,g,h)\,</math> kullanılarak,

* Burak <math>\{0, \ldots, q-1\}</math> aralığından rastgele bir <math>y\,</math> değeri seçer, ve <math>c_1=g^y\,</math> değerini hesaplar.
* Burak paylaşılan gizli anahtarı <math>s=h^y\,</math> şeklinde hesaplar. Her mesaj için yeni bir <math>y\,</math> değeri üretildiği için, <math>y\,</math> değerine '''geçici anahtar'''([[:en:Ephemeral key]]) da denir.

Yukarıdaki adımlar şifreleme zamanından daha önce yapılabilir, çünkü bu adımlarda mesaj henüz kullanılmamıştır.

* Burak gizli mesajı <math>m\,</math>'yi <math>G\,</math> grubunun bir elemanına, <math>m'\,</math>'ye dönüştürür.
* Burak <math>c_2=m'\cdot s</math> değerini hesaplar.
* Burak <math>(c_1,c_2)=(g^y, m'\cdot h^y)=(g^y, m'\cdot(g^x)^y)\,</math> gizli mesajını Ayşe'ye gönderir.

=== Deşifreleme ===
Deşifreleme algoritması şöyle çalışır: <math>(c_1,c_2)\,</math> şeklindeki bir gizli mesajı deşifrelemek için, gizli anahtarı <math>x\,</math> ile Ayşe şunları yapar:
* Ortak gizli anahtar <math>s=c_1^x\,</math> değerini hesaplar.
* Daha sonra <math>m'=c_2 \cdot s^{-1}\,</math> değerini bulur ve bu değerden de <math>m\,</math> mesajını elde eder.

Deşifreleme algoritmasından gerçekten de doğru mesaj elde edildiği şu eşitliklerle gösterilebilir:

:<math> c_2 \cdot s^{-1} = m'\cdot h^y \cdot (g^{xy})^{-1} = m'\cdot g^{xy} \cdot g^{-xy} = m'.</math>

ElGamal kriptosistemi genellikle bir '''hibrid kriptosistem''' içinde kullanılır.
Hibrid kriptosistemlerde mesaj simetrik bir kriptosistemle şifrelendikten sonra burada kullanılan anahtar ise bir açık anahtar sistemiyle şifrelenir.
Böylece kullanılan <math>G</math> grubunun büyüklüğünden (<math>q</math>) çok daha uzun mesajlar şifrelenebilir.

== Güvenlik ==

ElGamal metodunun güvenliği <math>G</math> grubunun ve mesaj üzerinde kullanılan dolgulama metodunun özelliklerine dayanmaktadır.

Eğer kullanılan döngüsel grup <math>G</math> için Hesaplamasal [[Diffie–Hellman]] varsayımı doğru ise, o halde ElGamal şifreleme fonksiyonu tek yönlüdür.
<ref name=cryptutor>''CRYPTUTOR'', "[http://crypto.cs.uiuc.edu/wiki/index.php/Elgamal_encryption_scheme Elgamal encryption scheme]"</ref>

Eğer <math>G</math> için Kararsal [[Diffie–Hellman]] varsayımı ([[:en:decisional Diffie–Hellman assumption]]) doğru ise, o halde ElGamal şifreleme fonksiyonu semantik güvenliği[[:en:Semantic security]] sağlar.
<ref name=cryptutor /> Semantic security is not implied by the computational Diffie–Hellman assumption alone.
<ref name=DHAES>M. Abdalla, M. Bellare, P. Rogaway, "DHAES, An encryption scheme based on the Diffie–Hellman Problem" (Appendix A)</ref>
Bu varsayımın doğru olduğu düşünülen gruplar hakkında daha fazla bilgi için bkz. [[Kararsal Diffie–Hellman Varsayımı]] ([[:en:decisional Diffie–Hellman assumption]]).

ElGamal şifrelemesi, koşulsuz [[şekillenebilir|şekillenebilirlik]] olduğu için, seçili gizli mesaj ataklarına ([[:en:chosen ciphertext attack]]) karşı dayanıksızdır.
Mesela mesajı (<math>m</math>) bilinmeyen bir <math>(c_1, c_2)</math> gizli mesajı verildiğinde, <math>2m</math> mesajının geçerli bir gizli mesajı olarak <math>(c_1, 2 c_2)</math> kolayca elde edilebilir.

Seçili mesaj güvenliğine ulaşmak için metodun değiştirilmesi veya uygun bir dolgulama metodu kullanılmalıdır.
Yapılan değişikliğe göre kararsal Diffie-Hellman varsayımı ([[:en:decisional Diffie–Hellman assumption]]) gerekebilir veya gerekmeyebilir.

ElGamal ile ilişkili olup seçili gizli mesaj güvenliğini sağlayan başka metotlar da önerilmiştir.
Örneğin, <math>G</math> için DDH varsayımı altında [[Cramer–Shoup kriptosistemi]]([[:en:Cramer–Shoup cryptosystem]]), seçili gizli mesaj ataklarına karşı dayanıklıdır.
Bu sistemin güvenlik ispatı [[rassal kahin modeli]]ni ([[:en:random oracle model]]) gerektirmemekte, standart modelde yapılabilmektedir.
Önerilmiş başka bir metot olan DHAES,<ref name=DHAES /> metodunun güvenlik ispatı içinse DDH'ten daha zayıf bir varsayım yeterlidir.

== Verimlilik ==

ElGamal şifreleme bir olasılıksal şifreleme metodudur, yani bir mesaj çok sayıda farklı gizli mesaja şifrelenebilir, dolayısıyla ElGamal şifreleme mesajdan gizli mesaj üretirken 2:1'lik bir genişleme oranına sahiptir.

ElGamal şifreleme iki üs alma işlemi gerektirir; fakat, bu üs alma işlemleri mesajdan bağımsız oldukları için önceden hesaplanabilir. Deşifreleme ise sadece bir üs alma işlemi gerektirir.

=== Deşifreleme ===
Deşifreleme için farklı bir yöntem kullanılarak <math>s\,</math> ile bölme işleminden kaçınılabilir.


<math>(c_1,c_2)\,</math> şeklindeki bir gizli mesajı deşifre etmek için Ayşe gizli anahtarı <math>x\,</math> ile şunları yapar:
* <math>s'=c_1^{{q-x}}=g^{(q-x)y}</math> değerini hesaplar.<math>s'\,</math>, <math>s\,</math>'in çarpımsal tersidir. Bu Lagrange teoremi'nin ([[:en:Lagrange's_theorem_(group_theory)]]) bir sonucudur:
<math>s\cdot s' = g^{xy}\cdot g^{y(q-x)} = (g^q)^y = 1^y =1</math>.
* Daha sonra <math>m'= c_2 \cdot s'</math> değerini hesaplar, ve açık mesaj <math>m\,</math>'yi elde eder.
Deşifreleme algoritması doğru açık mesajı verir çünkü:
:<math> c_2 \cdot s' = m' \cdot s \cdot s' = m' \cdot 1 = m'</math>.

==Ayrıca bakınız==
* [[ElGamal İmza Algoritması]]
* [[Homomorfik şifreleme]]

==Referanslar==
<references />

* {{cite conference
| first = Taher
| last = ElGamal
| başlık = A public key cryptosystem and a signature scheme based on discrete logarithms
| kitapbaşlık = Advances in cryptology: Proceedings of CRYPTO 84
| pages = 10–18
| volume = 196
| series = Lecture Notes in Computer Science
| publisher = Springer-Verlag
| date = 1985
| location = Santa Barbara, California, United States
| url = http://groups.csail.mit.edu/cis/crypto/classes/6.857/papers/elgamal.pdf
| doi = 10.1007/3-540-39568-7_2}}
* {{cite book
|author=A. J. Menezes, P. C. van Oorschot, and S. A. Vanstone
|publisher=CRC Press
|url=http://www.cacr.math.uwaterloo.ca/hac/about/chap8.pdf
|başlık=Handbook of Applied Cryptography
|chapter=Chapter 8.4 ElGamal public-key encryption}}
* {{cite journal
|author=[[Dan Boneh]]
|title=The Decision Diffie–Hellman Problem
|journal=Lecture Notes in Computer Science
|year=1998 |volume=1423 |pages=48–63 |doi=10.1007/BFb0054851
|url=http://crypto.stanford.edu/~dabo/abstracts/DDH.html}}

{{DEFAULTSORT:Elgamal Şifreleme}}
[[Category:Kriptoloji]]

[[cs:ElGamal]]
[[de:Elgamal-Verschlüsselungsverfahren]]
[[es:Cifrado ElGamal]]
[[fa:رمزنگاری الجمل]]
[[fr:Cryptosystème de ElGamal]]
[[it:ElGamal]]
[[he:צופן אל-גמאל]]
[[lt:ElGamal kriptosistema]]
[[nl:Elgamal-encryptiesysteem]]
[[ja:ElGamal暗号]]
[[pl:ElGamal]]
[[pt:El Gamal]]
[[ru:Схема Эль-Гамаля]]
[[fi:ElGamal]]
[[sv:ElGamal-kryptering]]



{{düzenle|Temmuz 2008}}
{{düzenle|Temmuz 2008}}
Bu algoritma 1984 yılında Taber ElGamal tarafindan öne sürüldü.Daha sonra farklı varyasyonlar geliştirildi.Bu varyasyonlardan bir tanesi olan DSA (Digital Signature Algorithm) 1991 yılında DSS (Digital Signature Standard) olarak kabul edilmiştir.
Bu algoritma 1984 yılında Taber ElGamal tarafindan öne sürüldü.Daha sonra farklı varyasyonlar geliştirildi.Bu varyasyonlardan bir tanesi olan DSA (Digital Signature Algorithm) 1991 yılında DSS (Digital Signature Standard) olarak kabul edilmiştir.
ElGamal asimetrik bir şifreleme yöntemidir. Anahtar üretimi ve şifreleme/açma işlemlerinden oluşur. Anahtar üretiminde dairesel gruptan yararlanılır.
ElGamal asimetrik bir şifreleme yöntemidir. Anahtar üretimi ve şifreleme/açma işlemlerinden oluşur. Anahtar üretiminde dairesel gruptan yararlanılır.

[[Kategori:Kriptoloji]]



[[cs:ElGamal]]
[[cs:ElGamal]]

Sayfanın 11.46, 23 Mayıs 2012 tarihindeki hâli

ElGamal şifrelemesi, Diffie-Hellman anahtar alış-verişi'ne dayanan bir asimetrik şifreleme algoritması olup Taher Elgamal tarafından 1984 yılında önerilmiştir. [1]

ElGamal, bedava bulunan GNU Privacy Guard yazılımında, PGP'nin son versiyonlarında ve başka kriptosistemlerde kullanılmaktadır.

DSA ElGamal dijital anahtar metodunun bir türevi olup, ElGamal şifrelemesi ile karıştırılmamalıdır.

ElGamal şifrelemesi herhangi bir döngüsel grup üzerinde tanımlanabilir. Güvenliği grubunda kesikli logaritma(en:Discrete logarithm) adı verilen belli bir problemin zorluğuna dayanmaktadır (aşağıda açıklanacaktır).


Algoritma

ElGamal şifrelemesi üç bileşenden oluşur: anahtar üretici, şifreleme algoritması, ve deşifreleme algoritması.

Anahtar üretilmesi

Anahtar üretici şöyle çalışır:

  • Ayşe, kertesi olan, üretecine sahip, çarpımsal bir döngüsel grubunun etkin bir tanımını üretir. Böyle bir grubun gereksinimleri aşağıdadır.
  • Ayşe aralığından rastgele bir seçer.
  • Ayşe değerini hesaplar.
  • Ayşe, açık anahtar olarak ve değerlerini yayınlar. Ayşe değerini ise gizli anahtarı olarak kendisine saklar.

Şifreleme

Şifreleme algoritması şöyle çalışır: Bir mesajını Ayşe'ye göndermek için, açık anahtar kullanılarak,

  • Burak aralığından rastgele bir değeri seçer, ve değerini hesaplar.
  • Burak paylaşılan gizli anahtarı şeklinde hesaplar. Her mesaj için yeni bir değeri üretildiği için, değerine geçici anahtar(en:Ephemeral key) da denir.

Yukarıdaki adımlar şifreleme zamanından daha önce yapılabilir, çünkü bu adımlarda mesaj henüz kullanılmamıştır.

  • Burak gizli mesajı 'yi grubunun bir elemanına, 'ye dönüştürür.
  • Burak değerini hesaplar.
  • Burak gizli mesajını Ayşe'ye gönderir.

Deşifreleme

Deşifreleme algoritması şöyle çalışır: şeklindeki bir gizli mesajı deşifrelemek için, gizli anahtarı ile Ayşe şunları yapar:

  • Ortak gizli anahtar değerini hesaplar.
  • Daha sonra değerini bulur ve bu değerden de mesajını elde eder.

Deşifreleme algoritmasından gerçekten de doğru mesaj elde edildiği şu eşitliklerle gösterilebilir:

ElGamal kriptosistemi genellikle bir hibrid kriptosistem içinde kullanılır. Hibrid kriptosistemlerde mesaj simetrik bir kriptosistemle şifrelendikten sonra burada kullanılan anahtar ise bir açık anahtar sistemiyle şifrelenir. Böylece kullanılan grubunun büyüklüğünden () çok daha uzun mesajlar şifrelenebilir.

Güvenlik

ElGamal metodunun güvenliği grubunun ve mesaj üzerinde kullanılan dolgulama metodunun özelliklerine dayanmaktadır.

Eğer kullanılan döngüsel grup için Hesaplamasal Diffie–Hellman varsayımı doğru ise, o halde ElGamal şifreleme fonksiyonu tek yönlüdür. [2]

Eğer için Kararsal Diffie–Hellman varsayımı (en:decisional Diffie–Hellman assumption) doğru ise, o halde ElGamal şifreleme fonksiyonu semantik güvenliğien:Semantic security sağlar. [2] Semantic security is not implied by the computational Diffie–Hellman assumption alone. [3] Bu varsayımın doğru olduğu düşünülen gruplar hakkında daha fazla bilgi için bkz. Kararsal Diffie–Hellman Varsayımı (en:decisional Diffie–Hellman assumption).

ElGamal şifrelemesi, koşulsuz şekillenebilirlik olduğu için, seçili gizli mesaj ataklarına (en:chosen ciphertext attack) karşı dayanıksızdır. Mesela mesajı () bilinmeyen bir gizli mesajı verildiğinde, mesajının geçerli bir gizli mesajı olarak kolayca elde edilebilir.

Seçili mesaj güvenliğine ulaşmak için metodun değiştirilmesi veya uygun bir dolgulama metodu kullanılmalıdır. Yapılan değişikliğe göre kararsal Diffie-Hellman varsayımı (en:decisional Diffie–Hellman assumption) gerekebilir veya gerekmeyebilir.

ElGamal ile ilişkili olup seçili gizli mesaj güvenliğini sağlayan başka metotlar da önerilmiştir. Örneğin, için DDH varsayımı altında Cramer–Shoup kriptosistemi(en:Cramer–Shoup cryptosystem), seçili gizli mesaj ataklarına karşı dayanıklıdır. Bu sistemin güvenlik ispatı rassal kahin modelini (en:random oracle model) gerektirmemekte, standart modelde yapılabilmektedir. Önerilmiş başka bir metot olan DHAES,[3] metodunun güvenlik ispatı içinse DDH'ten daha zayıf bir varsayım yeterlidir.

Verimlilik

ElGamal şifreleme bir olasılıksal şifreleme metodudur, yani bir mesaj çok sayıda farklı gizli mesaja şifrelenebilir, dolayısıyla ElGamal şifreleme mesajdan gizli mesaj üretirken 2:1'lik bir genişleme oranına sahiptir.

ElGamal şifreleme iki üs alma işlemi gerektirir; fakat, bu üs alma işlemleri mesajdan bağımsız oldukları için önceden hesaplanabilir. Deşifreleme ise sadece bir üs alma işlemi gerektirir.

Deşifreleme

Deşifreleme için farklı bir yöntem kullanılarak ile bölme işleminden kaçınılabilir.


şeklindeki bir gizli mesajı deşifre etmek için Ayşe gizli anahtarı ile şunları yapar:

  • değerini hesaplar., 'in çarpımsal tersidir. Bu Lagrange teoremi'nin (en:Lagrange's_theorem_(group_theory)) bir sonucudur:

.

  • Daha sonra değerini hesaplar, ve açık mesaj 'yi elde eder.

Deşifreleme algoritması doğru açık mesajı verir çünkü:

.

Ayrıca bakınız

Referanslar

  1. ^ Taher ElGamal (1985). "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms" (PDF). IEEE Transactions on Information Theory. 31 (4): 469–472. doi:10.1109/TIT.1985.1057074.  (conference version appeared in CRYPTO'84, pp. 10–18)
  2. ^ a b CRYPTUTOR, "Elgamal encryption scheme"
  3. ^ a b M. Abdalla, M. Bellare, P. Rogaway, "DHAES, An encryption scheme based on the Diffie–Hellman Problem" (Appendix A)


Bu algoritma 1984 yılında Taber ElGamal tarafindan öne sürüldü.Daha sonra farklı varyasyonlar geliştirildi.Bu varyasyonlardan bir tanesi olan DSA (Digital Signature Algorithm) 1991 yılında DSS (Digital Signature Standard) olarak kabul edilmiştir. ElGamal asimetrik bir şifreleme yöntemidir. Anahtar üretimi ve şifreleme/açma işlemlerinden oluşur. Anahtar üretiminde dairesel gruptan yararlanılır.