Was ist Zero-Knowledge?

Was ist Zero-Knowledge?

Ein Zero-Knowledge-Protokoll zur Authentifikation mit geheimen Schlüssel s, das die Rolle des Passwortes übernimmt, und öffentlichem Schlüssel p=f(s). Hierbei ist f eine Einwegfunktion mit der Eigenschaft f(a*b)=f(a)*f(b) für alle Werte a und b. Solche Einwegfunktionen nennt man multiplikativ. Der Beweisführende weist dem Prüfer seine Kenntnis von s nach, indem er ihm die korrekte Antwort y auf die Frage e gibt - diese korrekte Antwort kann er nämlich nur berechnen, wenn er auch den geheimen Schlüssel s kennt.

Um dem Prüfer keine Information (Zero Knowledge = keine Kenntnis) über seinen geheimen Schlüssel s preiszugeben, ,,tarnt`` der Beweisführende seine Antwort mit der zufälligen Zahl x (3.). Der Prüfer kann dann allein mit den Werten z, f(x), e und p und ohne die Kenntnis von y die Korrektheit der Antwort überprüfen (4.).

Um Betrug auszuschließen, muß sich der Beweisführende auf das x festlegen (1.), bevor der Prüfer die Frage stellt (2.).


Next: Sicherheit in öffentlichen Datennetzen
Previous: Der Krieg der Kryptologen

Johannes Merkle
Thu Mar 06 1997