Seite 1 von 1

Zero-Knowledge Proof

Verfasst: 10. Feb 2013 14:16
von itportal2
Hallo zusammen,

beim Beispiel mit dem RSA Zero-Knowledge Beweis (Wurzelziehen) verstehe ich etwas nicht - es gibt keinerlei Garantie, dass der Beweiser Wurzeln ziehen kann? Also, der berechnet beim Protokoll ja nie Wurzeln, sondern quadriert zufällige Zahlen Modulo n. Das kann doch jeder machen, der n kennt und n ist öffentlich. Ich weiß, dass man p und q braucht um ein Wurzel zu ziehen, aber man braucht ja nicht p und q um Quadrat Modulo n zu berechnen.

Wo ist mein Denkfehler?

Re: Zero-Knowledge Proof

Verfasst: 10. Feb 2013 15:56
von olg
Beim Zero-Knowledge-Beweis will der Verifizierer ja überprüfen, dass der Beweiser im Besitz von s ist.

Der Verifizierer kennt dabei das passende Gegenstück (v,n). Er muss natürlich vorher - wie immer bei PKI - überzeugt sein davon, dass (v,n) auch das Gegenstück ist, dass zum Beweiser gehört. (Vertrauenswürdige Drittpartei).
Ein Angreifer kann dann natürlich nicht irgendwelche Zahlen mod n quadrieren, sondern kann sich - wie in der Vorlesung gezeigt - nur vorher für [e=0] bzw. [e=1] einstimmen, und so mit 50% pro Durchlauf gewinnen. Deswegen wiederholt man das Verfahren auch mehrfach.

Siehe auch im Buch zum überliegenden Thema:
Abschnitt 15.4.2
Gelingt es einem Angreifer, Alice's [hier Beweiser] öffentlichen Schlüssel gegen seinen eigenen auszutauschen, kann er sich auch erfolgreich als Alice identifizieren.

Re: Zero-Knowledge Proof

Verfasst: 10. Feb 2013 16:27
von itportal2
Ach, das heißt auch, dass der Beweiser eigentlich niemandem beweisen möchte, dass er p und q kennt. Der braucht die nicht kennen, er braucht lediglich diese eine Quadratwurzel aus dieser Gruppe. Der Beweiser möchte auch nicht beweisen, dass er Wurzeln in dieser Gruppe ziehen kann, sondern lediglich eine Wurzel von v kennt. Stimmt das?

Re: Zero-Knowledge Proof

Verfasst: 11. Feb 2013 00:03
von Firehouse
genau.