Schnorr-Identifikation

Schnorr-Identifikation

Die Schnorr-Identifikation ist ein 1989/91 vom deutschen Mathematikprofessor Claus-Peter Schnorr entworfenes kryptographisches Identifikation-Schema. Die Sicherheit beruht auf der Komplexität des Diskreten Logarithmus in endlichen Gruppen. Die Schnorr-Signatur leitet sich aus der Schnorr-Identifikation ab, indem wie bei der Fiat-Shamir-Identifikation die Interaktion durch den Einsatz einer kryptographischen Hashfunktion ersetzt wird. Das Verfahren ist von Schnorr patentiert.[1][2] Es ist exklusiv an RSA lizenziert (Siemens hat aber eine nicht-exklusive Lizenz).

Inhaltsverzeichnis

Parameter

Systemweite Parameter

Alle Benutzer können diese Parameter gemeinsam nutzen:

  • Eine Gruppe G primer Ordnung q = | G | . Diese ist zyklisch, sei g ein Generator

Schnorr schlägt vor, eine Untergruppe G von Z_p^* für ein primes p zu wählen. Er argumentiert, dass Schlüssel- und Signaturlängen sich auf | G | beziehen, das Sicherheitsniveau sich hingegen am größeren |Z_p^*| orientiert.

Privater Schlüssel

Der private Schlüssel besteht aus einer zufällig gewählten Zahl:

  • x mit 0 < x < q

Öffentlicher Schlüssel

Der öffentliche Schlüssel ist das x entsprechende Gruppenelement y:

  • y = gx

Drei-Schritt-Protokoll

Der Prover P identifiziert sich gegenüber dem Verifier V durch ein Protokoll bestehend aus 3 Schritten:

  1. Hinterlegung (Commitment): P wählt k zufällig mit 0 < k < q und sendet r: = gk an V.
  2. Frage (Challenge): V wählt e zufällig mit 0 < e < q und sendet e an P.
  3. Antwort(Response): P sendet s := (k + xe) \mod q an V.

V akzeptiert die Antwort genau dann, wenn gs = rye

Sicherheitsdiskussion (informell)

Die Sicherheit der Schnorr-Identifikation ist auf die Komplexität des diskreten Logarithmus' beweisbar zu reduzieren, d.h. wer das Schema bricht, kann auch effizient den diskreten Logarithmus berechnen. Von diesem Problem nimmt man allerdings nach Jahrzehnten intensiver Forschung an, dass dieses effizient nicht zu lösen ist. Diese beweisbare Reduktion auf bekannte, als schwierige eingestufte Probleme ist typisch für Public-Key-Verfahren.

Angenommen, es gäbe einen erfolgreichen Betrüger. Dieses kann man nutzen, um aus dem öffentlichen Schlüssel y = gx den geheimen Schlüssel x zu bestimmen, also den Diskreten Logarithmus x von y zu berechnen - im Widerspruch zur Annahme, der diskrete Logarithmus sei schwierig.

  1. Simuliere den Algorithmus zur Identifikation, speichere den Zustand vor dem Senden der Frage e1 an den Betrüger.
  2. Wiederhole die Simulation an gespeicherten Zustand, wähle ein zufälliges e2 als Frage (mit großer Wahrscheinlichkeit 1 / q ist dies ungleich e1).
  1. Seien s1 und s2 die beiden (verschiedenen) Antworten zum gleichen Zufallswert k bzw. r
  2. Es gilt s_1-s_2 = (k + xe_1)-(k + xe_2) = x(e_1-e_2)\mod q, also x=(s_1-s_2)/(e_1-e_2)\mod q. Die Division durch e1e2 ist möglich, da die Differenz modulo q ungleich 0 ist da q prim ist, auch ein Inverses modulo q existiert.

Einzelnachweise

  1. Patent EP0384475: Angemeldet am 22. Februar 1990.
  2. Patent US4995082: Angemeldet am 23. Februar 1990.

Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Schnorr-Signatur — Die Schnorr Signatur ist ein 1989/91 vom deutschen Mathematikprofessor Claus Peter Schnorr entworfenes kryptographisches Schema für Digitale Signaturen. Es leitet sich aus der Schnorr Identifikation ab, indem wie bei der Fiat Shamir… …   Deutsch Wikipedia

  • Gott strafe England — Geflügelte Worte   A B C D E F G H I J K L M N O …   Deutsch Wikipedia

  • Hashfunktion — Beispiel einer Hashfunktion (hier SHA 1), links drei unterschiedliche Eingabewerte, rechts die entsprechenden Hashcodes Auf den meisten unixartigen Systemen lassen sich diese Beispiele mit echo n Fox | sha1sum etc. nachvollziehen Eine… …   Deutsch Wikipedia

  • Liste geflügelter Worte/G — Geflügelte Worte   A B C D E F G H I J K L M N O P Q R S T U V W Y Z Inhaltsverzeichnis …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”