Schnorr-Signatur
aus Wikipedia, der freien Enzyklopädie
Die Schnorr-Signatur ist kryptographischer Algorithmus zur Erzeugung von digitalen Signaturen. Es ist verwandt mit den Signaturverfahren Digital Signature Algorithm und ElGamal. Seine Sicherheit beruht auf der Komplexität des diskreten Logarithmus in endlichen Körpern, kann aber leicht auf beliebige Gruppen verallgemeinert werden.
Das Verfahren wurde 1989 vom deutschen Mathematikprofessor Claus-Peter Schnorr veröffentlicht.
Inhaltsverzeichnis |
[Bearbeiten] Parameter
[Bearbeiten] Systemweite Parameter
Diese Parameter können von vielen Benutzern eines Systems gemeinsam verwendet werden:
- Eine zyklische Gruppe G der Ordnung q = | G | , q prim, mit dem Erzeuger g:
- Eine kryptografische Hash-Funktion H.
[Bearbeiten] Privater Schlüssel
Der private Schlüssel besteht aus einer zufällig gewählten Zahl:
- x mit 0 < x < q
[Bearbeiten] Öffentlicher Schlüssel
Der öffentliche Schlüssel ist das x entsprechende Gruppenelement y:
- y = gx
[Bearbeiten] Unterschreiben
Um eine Nachricht m zu unterschreiben, wird folgendermaßen verfahren:
- Wähle k zufällig mit 0 < k < q.
- Setze r: = gk
- Setze e: = H(m | | r). Dabei ist || die Konkatenation von Zahlen als Bitfolgen.
- Setze
.
Die Unterschrift der Nachricht ist das Tupel (e,s).
[Bearbeiten] Verifizieren
Um eine Unterschrift (e,s) einer Nachricht m zu verifizieren, wird folgendermaßen verfahren:
- Setze
- Setze ev: = H(m | | rv)
- Akzeptiere die Unterschrift genau dann, wenn ev = e ist.
[Bearbeiten] Weblinks
- C P Schnorr Vorlesung Kryptographie I/II, Kapitel 1.7 (PDF, 454 kB)