Şifreleme ElGamal veya şifreleme El Gamal (ya da El Gamal sistemi ) bir protokoldür asimetrik kriptografi ile icat Taher ElGamal 1984 ve sorununa inşa ayrık logaritma .
Bu protokol, son sürümleri kendi sürümünü bile eliptik eğriler üzerinde uygulayan ücretsiz GNU Privacy Guard tarafından kullanılır . RSA şifrelemesinin aksine , hiçbir zaman patent koruması altında olmamıştır .
Taher Elgamal'ın kurucu makalesi bir şifreleme protokolü , aynı zamanda benzerliklerine rağmen (her ikisi de ayrı logaritma sorunu üzerine inşa edilmiştir ) karıştırılmaması gereken bir dijital imza sunar . Bu makale yalnızca fırsatları ile şifreleme protokolü .
Algoritma, Diffie-Hellman karar probleminin (DDH) zor olduğu sonlu bir döngüsel grup için tanımlanmıştır . CPA saldırılarına karşı direnç bölümünde daha kesin bilgiler verilmektedir .
Biz fark edebilir GKD bir olduğunu daha güçlü bir çalışma hipotezi bunun hiç sorun olmadığını tutan beri ayrık logaritmanın bunun dışında ayrık logaritma zordur. GKD probleminin kolay olduğu, ancak ayrık logaritmayı çözmek için etkili bir algoritmanın olmadığı gruplar da vardır .
Asimetrik bir şifreleme şeması olduğundan , şifreleme sistemi üç algoritmadan ( olasılıklı ) oluşur: GenClefs , Encrypt ve Decrypt .
Örnek için, Bob'un Alice'e bir mesaj göndermek istediğini varsayacağız . Ancak bu mesaj hassas bilgiler içeriyor, bu nedenle Bob, Alice dışında hiç kimse tarafından anlaşılır olmasını istemiyor. Böylece Bob mesajını şifreleyecek.
Asimetrik şifreleme şemaları genellikle simetrik analoglarından daha yavaş olduğundan, ElGamal şifreleme genellikle pratikte PGP spesifikasyonu gibi hibrit şifrelemenin bir parçası olarak kullanılır .
Bu şifreleme şemasına bakmanın bir yolu, Diffie-Hellman anahtar değişim protokolü ile bir paralel çizmektir . Şifreleme algoritması daha sonra şifrelenmiş bir mesaj göndererek oluşur , bir tarafından tek maske paylaşılan anahtarı altında o yana Alice hesaplanabilir, (resim ters bakınız).
Şifreleme şemasındaki ilk adım, bir çift anahtar üretmektir: genel anahtar ve gizli anahtar . Birincisi mesajları şifrelemek, ikincisi ise bunların şifresini çözmek için kullanılacaktır.
Yani Bob, Alice'in genel anahtarına erişebilir . Bob , grubun bir öğesi olarak kodlanmış bir mesajı şifrelemek için rastgele bir sayı çizerek başlar ve hesaplama sırasında mesajı kapatmak için kullanır . Alice mesajı deşifre sağlamak için Bob tehlike mesajı bilgisinin bu kısmına ekleyecektir: .
Sonunda şifre şu iki parçadan oluşacak : ve Bob , Alice'e gönderir .
Erişim ve erişim olan Alice böylece şunları hesaplayabilir:
Ve bu nedenle mesajı bulabilir .
Kamuya açık bilgilere bakıldığında ; Sadece öğelerinin görünür hale getirildiğini ve üslerin görünmediğini anlıyoruz (burada sırasıyla x ve s ). Gayri resmi olarak, ayrık logaritma probleminin , mesajı bulmayı mümkün kılacak gizli bilgiyi ( örneğin) bulmanın zor olduğu gerçeği olarak yorumlanabileceğini fark edebiliriz .
Daha doğrusu, planın anlamsal güvenliğini garanti etmeyi mümkün kılan Diffie-Hellmann (veya DDH ) karar problemidir .
Gösteri İndirgemeÖnemsiz olmayan bir olasılıkla kazanan ElGamal şifrelemesinin anlamsal güvenliğine karşı bir rakibimiz olduğunu varsayarsak ε . Daha sonra GKD'ye karşı bir rakip oluşturmak mümkün hale gelir ve bu, bu sorunun varsayılan zorluğuyla çelişir. Az önce tarif ettiğimiz bu indirim , planın güvenlik kanıtını oluşturacaktır.
"Olarak bundan sonra anılacaktır bu rakibi oluşturmak için indirgeme " üçlü almak için varsayılır DDH : amacı karar vermek daha sonra ya ile ihmal edilemez bir olasılık. Bunun için, yukarıda açıklanan düşmanla ElGamal şifreleme sisteminin anlamsal güvenliğiyle yüzleşen bir arayüze sahiptir.
Bu nedenle indirim, açık anahtarı ElGamal'a karşı düşmana gönderecektir . Karşı rakip için talebin oluşturulması zaman semantik güvenlik kriptosistemin, azaltma olarak şifrelenmiş göndermek olacaktır: için kendi seçtiği. Eğer üçlü bir DDH üçlüsü ise, yani eğer , o zaman ElGamal için açık anahtarla ilgili geçerli bir şifre olarak oluşturulacaktır . Öte yandan, üs rastgele ise, o zaman ElGamal'a karşı rakip, rastgele yanıt verme dışında, mücadelenin iki mesajını ayırt edemeyecektir.
Rakibimiz başarılı olursa sadece "1" (GGD için meydan okuyucunun GGD üçlüsü gönderdiği gerçeğine karşılık gelir) ve "0" (GKD için rakibinin üçlü rastgele gönderdiği gerçeğine karşılık gelir) yanıtlamamız gerekir. aksi takdirde.
AnalizŞimdi edecek sınırlamak avantaj avantajı bizim indirimden kazanma £ değerinin bizim şemalarına karşı sözde rakibin.
İki durumumuz olduğunu belirterek başlıyoruz: ya meydan okuyucumuz tarafından gönderilen meydan okuma gerçek bir DDH üçlüsü ya da tek tip olarak çizilmiş bir üçlü.
Dolayısıyla, önemli kalan bir avantajımız var: GKD ile şifreleme sistemimiz arasında aynı güvenliği sağlamak için GKD sorununun ek bir güvenlik biti ile güvende kalması yeterlidir .
Seçilmiş şifreleme saldırıları gibi daha fazla güce sahip bir saldırganın bulunduğu modellerde, ElGamal şifreleme sistemi işlenebilirliği nedeniyle güvenli değildir ; aslında, mesaj için bir şifre verildiğinde , mesaj için geçerli olacak şifreyi oluşturabiliriz .
Bu şekillendirilebilirlik ( çarpımsal bir homomorfizmdir ) öte yandan, örneğin elektronik oylama için kullanılmasını mümkün kılar .
Bununla birlikte, ElGamal şifresinin bir uzantısı olarak görülebilen Cramer-Shoup şifreleme sistemi gibi seçilmiş şifreleme saldırılarına karşı güvenliği sağlayan varyantlar vardır .
Örneğin, g = 5 oluşturucu ile grubu alabiliriz ( Uyarı : Bu güvenli bir grup değildir, bu değerler sadece basit bir örnek oluşturmak için alınmıştır).
Bu nedenle olası bir genel anahtar : ve bir gizli anahtar olabilir .
Şifreleme olasılıklı bir algoritma olduğundan, aynı mesaj için farklı olası çıktılar olduğunu unutmayın. Bu nedenle , 42 mesajı için olası bir şifreleme (58086963, 94768547) olabilir , ancak aynı zamanda sırasıyla 6689644 ve 83573058'e eşit r riskleri için (83036959, 79165157) olabilir .
Ancak iki rakamımız için hesaplama yaparsak , çıktıda 42 alacağız .