Goldwasser–Micali (GM) kriptosistemi 1982 yılında Shafi Goldwasser ve Silvio Micali tarafından geliştirilmiş bir asimetrik anahtar şifreleme algoritmasıdır. GM standart kriptografik varsayımlar altında güvenliği kanıtlanmış ilk probabilistik açık anahtar şifreleme yöntemidir. Bununla birlikte başlangıç düz metinden yüzlerce kez daha geniş olan şifreli metinler olduğundan verimli bir kriptosistem değildir. Kriptosistemin güvenlik özelliğini kanıtlamak için Shafi Goldwasser ve Silvio Micali anlamsal güvenliğin geniş alanda kullanılan bir tanımını önerdiler.
Temelleri
GM kriptosistemi kuadratik kalan probleminin p ve q büyük asal sayılar olmak üzere, N=p.q modunun zorluğunun varsayımına dayanan anlamsal güvenliktir. Bu varsayım verilen(x,N)'nin x'in, +1 için bir Jacobi sembolü olduğunda , N(x=y^2 mod N bazı y'ler için) modulüne göre kuadratik bir kalan olup olmadığını belirleme zorluğunu ifade eder. Kuadratik kalan problemi yeni kuadratik kalanlar her hangi bir kısım tarafından üretilebiliyorken verilen N nin çarpanlara ayırımını bu çarpanla ayrım bilgisi verilemese bile kolayca çözebilir. GM kriptosistemi birbirinden ayrı düz metin bitlerini ya rastgele kuadratik kalanlar yada tüm kuadratik sembol +1 ile birlikte modül N'ye göre kalmayanları alıp şifreleyerek bu asimetrikliği sağlamış olur. Alıcılar N'nin çarpanlarını gizli anahtar olarak kullanır ve mesajı aldığı şifreli metnin değerlerinin kuadratik kalanını test ederek deşifrelerler.
Çünkü Goldwasser–Micali düz metnin her tek bitini şifrelemek için yaklaşık olarak |N| boyutunda bir değer üretir. GM şifreleme sağlam ölçüde şifreli metin genişlemesini sonucunu verir. Çarpanlara ayırmaya çalışma ataklarını önlemek için, |N| nin yüzlerce bit ya da daha fazla olması tavsiye edilmiştir.Bu yüzden yöntem temelde bir kavram kanıtı olarak hizmet eder ve Elgamal gibi daha etkili kanıtlanabilir güvenlik yöntemleri geliştirilmiştir. Çünkü şifreleme probabilistik algoritma kullanılarak şifrelenmiştir.verilen bir düzmetin her bir zamanda şifrelediği birbirinden çok farklı şifrelimetinleri üretebilir.Bu hasımın bilinen şifrelimetinleri sözlükle karşılaştırarak haberleşmeler arasında müdahale edip eriştiği mesajlardan her hangi bir benzerlik bulup düzmetne erişmeye çalışmasını önleme avantajı demektir.
Yöntemin Tanıtılması
Goldwasser–Micali 3 algoritma içerir: açık ve gizli anahtar üreten probabilistik anahtar üretimi algoritması , probabilistik kriptosistem algoritması ve bir deterministik deşifreleme algoritması.
Bu yöntem verilen bir x değerinin kare mod N, ( (p,q) N nin çarpanları) olup olmadığına karar vermenin zorluğuna güvenmektedir.Bu aşağıdaki prosedürü kullanarak başarılır:
1. xp = x mod p, xq = x mod q Hesapla 2. EĞER VE ise x modN. ye göre bir kuadratik kalandır. Anahtar ÜretimiGM içindeki kullanılan mod alma işlemi RSA kripto sistem içerisindeki aynı yöntemle gerçekleştirilir.(ayrıntılar içn RSA anahtar üretimine bakınız)
1.Alice 2 farklı büyük p ve q asal sayılarını rasgele ve her biri bir birinden bağımsız olacak şekilde üretir. 2.Alice N = p q. yu hesaplar 3.Alice olacak şekilde bir x bulur. Ve bundan dolayı Jacobi sembolü is+1 dir. X değeri rasgele sayılar seçerek ve 2 Legendre sembolünü test ederek bulunabilir.eğer (p,q) =3 mod 4 (N Blum Tamsayısı) ise o zaman N-1 değeri gereken özelliği karşılıyor anlamına gelir. Açık anahtar (x,N) den oluşur. Gizli anahtar (p,q) çarpanlarından oluşur. Mesaj ŞifrelemeVarsayalım ki Bob Alice e m mesajını göndermeyi istesin:
Bob ilk önce m i (m1, ..., mn) bitlerinden oluşan bir string olarak çözecektir.
1.Her mi, biti için , Bob moduloN den birimler halinde rasgele y değeri üretir, veya GCD(y,N) = 1. olacak şekilde rasgele değerler üretir. . değerlerini sonuç olarak üretir.Bob (c1, ..., cn). Şifreli metinlerini gönderir.
Mesaj DeşifrelemeAlice (c1, ..., cn) i alır.Aşağıdaki prosedürü kullanarak m yi geri elde edebilir.
1.Asal çarpan (p,q) kullanan Her bir i için ,Alice ci değerinin kuadratik kalan olup olmadığını belirler eğer öyle ise mi = 0, değilse mi = 1. Dir.Alice m = (m1, ..., mn). Mesajını çıktı olarak üretir.
Güvenlik özellikleriBurada basitçe bu kriptosistemi Jacobi sembolü +1 ile rastgele modül N değerinin kuadratik kalan olup olmadığını belirleme problemine dönüştürerek kırmaya çalışma vardır.Eğer verilen bir A algoritması kriptosistemi kırarsa, ardından verilen bir 'x' değerinin kuadratik modül N kalanı olup olmadığını belirlemek için, biz A yı (x,N) açık anahtarlarını kullanarak kırabildiğini anlamak için test ederiz.Eğer 'x' bir kalan değilse o zaman 'A' doğru olarak çalışacaktır.Ancak eğer 'x' bir kalansa o zaman her şifreli metin basitçe rastgele kuadratik kalan olabilir , bu yüzden 'A' zamanın yarısından daha doğru olamaz. Bundan başka bu problem verilen bir 'B' için her açık anahtarı tıpkı diğer açık anahtar gibi güvenli kılan rastgele kendini dönüştürme problemidir.
GM kriptosistemi homomorfik özelliklere sahiptir. Eğer c0, c1 m0, m1, bitlerinin şifrelenmiş halleriyse o zaman c0c1 modN , in şifrelenmiş halleri olacaktır.Bu sebebten dolayı GM kriptosistemi bazen daha karmaşık kriptografik ilkel yapılarla birlikte kullanılır.
Kaynaklar İngilizce Wikipedia Dış bağlantılar * Çanakkale OnSekiz Mart Üniversitesi * Çanakkale OnSekiz Mart Üniversitesi Bilgisayar Mühendisliği