Schnorr imzası

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

Kriptografide Schnorr imzası, Schnorr imza algoritması tarafından üretilen dijital imzalamadır. Güvenliği, ayrık logaritma problemlerinin çözülemezliğine dayanır. Kısa imzalar oluşturur ve verimlidir. Rasgele oracle modelde en basit güvenliği kanıtlanmış dijital imzalama modeli olarak düşünüldü. 2008'de geçerliliğini yitiren U.S. Patent 4,995,082 tarafından lisanslanmıştır.[1]


Algoritma[değiştir | kaynağı değiştir]

Parametrelerin Seçimi[değiştir | kaynağı değiştir]

  • İmza modelinin tüm kullanıcıları ayrık logaritmik problemin zor olduğu q asal sıradaki g üreticisiyle G grubu üzerine anlaşırlar. Grup olarak genellikle Schnorr grubu kullanılır.
  • Tüm kullanıcılar bir kriptografik hash fonksiyonu üzerinde anlaşırlar: H: \{0,1\}^* \rightarrow \mathbb{Z}_q.

Notasyon[değiştir | kaynağı değiştir]

Aşağıda,

  • Üs, grup işleminin uygulanmasının tekrarlı yapılması anlamına gelir.
  • Dizme, uyum sınıfları kümesi veya grup işleminin uygulaması (duruma göre) üzerinde çarpma işlemini simgeler.
  • Çıkartma, denklik grupları üzerinde çıkartma işlemini nitelendirir.
  • M \in \{0,1\}^*, sonlu bit kümeleridir
  • s, e, e_v \in \mathbb{Z}_q, mod q için uyum sınıflarıdır.
  • x, k \in \mathbb{Z}_q^\times, mod q için tam sayıların çarpımsal grubudur. (q asalı için, \mathbb{Z}_q^\times = \mathbb{Z}_q \setminus \overline{0}_q)
  • y, r, r_v \in G.

Anahtar üretimi[değiştir | kaynağı değiştir]

  • İzin verilen kümeden imzalama için x gizli anahtarı seçilir.
  • Doğrulama açık anahtarı ise y = g^x.

İmzalama[değiştir | kaynağı değiştir]

M mesajını imzalamak için:

  • İzin verilen kümeden rastgele bir k seçilir.
  • r = g^k bulunur.
  • e = H(M || r) bulunur.Buradaki || birleştirmeyi gösterir ve r bit katarı olarak temsil edilir.
  • s = (k - xe) hesaplanır.

İmza çifti (s, e)'dir

s, e \in \mathbb{Z}_q olduğunu unutmayın; eğer q < 2^{160} ise imza gösterimi 40 byte'a sığabilir.

Doğrulama[değiştir | kaynağı değiştir]

  • r_v = g^s y^e bulunur.
  • e_v = H(M || r_v) hesaplanır.

Eğer e_v=e ise imza doğrulanmış demektir.

Doğruluğun ispatı[değiştir | kaynağı değiştir]

Eğer imzalanmış mesaj doğrulanmış mesaja eşitse e_v = e olduğunu görmek nispeten kolaydır:

r_v = g^s y^e = g^{k - xe} g^{xe} = g^k = r, ve böylece e_v = H(M || r_v) = H(M || r) = e.

Açık elemanlar: G, g, q, y, s, e, r. Gizli elemanlar: k, x.

Güvenlik değişkeni[değiştir | kaynağı değiştir]

Schnorr imzalama metodu için bilinen kriptografik varsayım standartları altında güvenliğinin bir kanıtı yoktur.

İmzalama metodu, Schnorr'un kimlik protokolüne Fiat-Shamir Dönüşümü uygulanması ile oluşturulmuştur. Bu nedenle (her Fiat ve Shamir'in değişkenleri için), eğer H rastgele oracle gibi modellenmiş ise bu yöntem güvenlidir.

Bu güvenlik de H'nin "rastgele-önek ters görüntü kümesi dayanıklılığı" ve "rastgele-önek ikinci- ters görüntü kümesi dayanıklılığı" altındaki genel grup modelinde iddia edilebilir. Özellikle H'nin çarpışma dayanıklılığına ihtiyacı yoktur.

Ayrıca bakınız[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

Dış bağlantılar[değiştir | kaynağı değiştir]