Benaloh şifreleme sistemi

testwiki sitesinden
Gezinti kısmına atla Arama kısmına atla

Şablon:Öksüz Benaloh kriptosistemi 1994 yılında Josh (Cohen) Benaloh tarafından oluşturulan Goldwasser-Micali şifreleme sisteminin bir genişletilmesidir. Goldwasser-Micali'de bitler tek tek şifrelenirken, Benaloh Kriptosisteminde veri blokları grup olarak şifrelenmektedir.[1] Orijinal makaledeki küçük bir hata Laurent Fousse et al. 'da düzeltilmiştir.

Sistem tanımı

Çoğu Açık anahtarlı şifreleme yöntemi gibi, bu sistem de (/n)* kümesinde çalışmaktadır. Burada n iki büyük Asal sayının çarpımıyla elde edilir. Bu sistem homomorfik ve bununla birlikte kolay biçimlendirilebilirdir.

Homomorfik, iki şifreli sayının toplamının iki sayının ayrı ayrı elde edilmesine gerek kalmadan deşifre edilebilmesidir.

Anahtar oluşturma

Açık/gizli anahtar çifti aşağıdaki şekilde oluşturulur:

  1. Bir r blok uzunluğu sayısı seçilir.
  2. r|(p1),gcd(r,(p1)/r)=1, ve gcd(r,(q1))=1 olacak şekilde p ve q büyük asal sayıları seçilir.
  3. n=pq,ϕ=(p1)(q1) olsun.
  4. yϕ/r≢1modn olmak üzere bir yn* seçilir.
Not: 2011'de yayınlanan Fousse et al.[2] 'da belirtilen bilgiye göre r asal değilken, yukarıdaki, orijinal makalede belirtilmiş şart,

doğru deşifreleme için yeterli değildir. D(E(m))=m tüm durumlarda sağlamalıdır. Bu sebepten dolayı yazarlar şu kontrolü yapmayı tavsiye etmektedir: r=p1p2pk 'nin r'nin asal çarpanları olduğunu varsayalım. Öyle bir yn* seçelim ki her çarpan pi için yϕ/pi1modn sağlasın.

  1. x=yϕ/rmodn sağlayacak x seçilir.

Açık anahtar y,n ve gizli anahtar ϕ,x dir.

Mesajı şifreleme

mr olan bir m mesajını şifrelemek için:

  1. Rastgele bir un* seçilir.
  2. Şifrelenmiş m mesajı Er(m)=ymurmodn formülünden elde edilir.

Mesajı deşifreleme

cn* olan bir c metnini çözmek için:

  1. a=cϕ/rmodn hesaplanır.
  2. xmamodn olacak şekilde çıktı m=logx(a) bulunur.

Her mr ve un* nin şu özelliklere sahip olması gerekmektedir:

a=(c)ϕ/r</(ymur)ϕ/r(ym)ϕ/r(ur)ϕ/r(yϕ/r)m(u)ϕ(x)m(u)0xm modn

a dan m yi elde etmek için a nın x tabanında ayrık logaritması alınır. Eğer r küçükse m yi kapsamlı bir arama yaparak elde edebiliriz. Yani her 0(r1) için xiamodn sağlıyor mu diye bakarız. Daha büyük r değerleri için Bebek adımı, dev adımı algoritması m yi O(r) zorluğunda elde etmek için kullanılabilir.

Güvenlik

Bu sistemin güvenliğinin temelinde Higher residuosity problem yatmaktadır. Spesifik olarak, z, r ve n için, n'nin çarpanları bilinmezken, z'nin mod n'nin r'inci artığı olup olmadığını günümüz bilgisayarlarıyla yeterli zamanda hesaplamak mümkün değildir. Yani, öyle bir x olsun ki zxrmodn sağlasın.

Kaynakça

Şablon:Kaynakça