Diplomarbeit zu "`Zero-Knowledge Arguments"' - Telle-Online.de
Diplomarbeit zu "`Zero-Knowledge Arguments"' - Telle-Online.de
Diplomarbeit zu "`Zero-Knowledge Arguments"' - Telle-Online.de
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
7 Berechenbare Zero–<strong>Knowledge</strong> Arguments mit konstanter Run<strong>de</strong>nzahl<br />
nes Programmco<strong>de</strong>s einfach <strong>zu</strong> einer vorhergehen<strong>de</strong>n Konfiguration <strong>zu</strong>rückgesetzt wird,<br />
die Simulation ausschließlich in erwarteter statt in streng polynomieller Zeit durchführen<br />
kann.<br />
Satz 7.1 (Hauptergebnis)<br />
Unter <strong>de</strong>r Vorausset<strong>zu</strong>ng <strong>de</strong>r Existenz kollisionsresistenter Hashfunktionen kann ein Simulator<br />
konstruiert wer<strong>de</strong>n, <strong>de</strong>r nicht als Black-Box funktioniert, so dass ein Zero–<strong>Knowledge</strong><br />
Argument für je<strong>de</strong> Sprache in N P existiert, das folgen<strong>de</strong> Eigenschaften erfüllt:<br />
1. Es ist Zero–<strong>Knowledge</strong> hinsichtlich nicht-uniformer 24 Wi<strong>de</strong>rsacher mit <strong>zu</strong>sätzlichen<br />
Informationen.<br />
2. Es hat eine konstante Run<strong>de</strong>nzahl und eine vernachlässigbare Fehlerwahrscheinlichkeit<br />
bezüglich <strong>de</strong>r Korrektheit.<br />
3. Es bleibt Zero–<strong>Knowledge</strong>, auch wenn es n-fach simultan bzw. parallel ausgeführt<br />
wird, wobei n <strong>de</strong>r Sicherheitsparameter ist. 25<br />
4. Es ist ein Arthur-Merlin Protokoll mit gemeinsamen Münzwürfen für <strong>de</strong>n Prover<br />
und <strong>de</strong>n Verifier.<br />
5. Der Simulator hat eine streng polynomielle statt nur eine erwartete polynomielle<br />
Laufzeit.<br />
7.1 Übersicht über das Grobkonzept<br />
Das hier vorgestellte Zero–<strong>Knowledge</strong> Argument basiert auf <strong>de</strong>r Technik von [FLS00].<br />
Darin wird ein interaktiver Beweis für eine Sprache L so modifiziert, dass <strong>de</strong>r Prover<br />
die Möglichkeit <strong>zu</strong>m Täuschen hat, wenn er eine Trapdoor Information 26 σ besitzt, so<br />
dass <strong>de</strong>r Verifier immer akzeptiert, auch wenn x /∈ L gilt o<strong>de</strong>r <strong>de</strong>r Prover kein Zeugnis<br />
für x ∈ L kennt. Natürlich muss sichergestellt sein, dass es unmöglich ist, während<br />
<strong>de</strong>r Interaktion mit <strong>de</strong>m Verifier diese Trapdoor Information σ <strong>zu</strong> bekommen, um die<br />
Korrektheit sicher<strong>zu</strong>stellen. Auch wenn diese Modifikation auf <strong>de</strong>n ersten Blick sinnlos<br />
erscheinen mag, ist sie entschei<strong>de</strong>nd, die Zero–<strong>Knowledge</strong> Eigenschaft <strong>zu</strong> erhalten.<br />
Der Grund liegt darin, dass es zwar für <strong>de</strong>n Prover während <strong>de</strong>r Kommunikation<br />
mit <strong>de</strong>m Verifier unmöglich ist, diese Trapdoor Information σ <strong>zu</strong> bekommen. Für <strong>de</strong>n<br />
24 siehe da<strong>zu</strong> Abschnitt 7.2.4<br />
25 Ein Protokoll, welches diese Eigenschaft aufweist, wird als beschränkt simultan Zero–<strong>Knowledge</strong> (engl.<br />
boun<strong>de</strong>t concurrent zero-knowledge) Protokoll bezeichnet. Das steht im Gegensatz <strong>zu</strong> an<strong>de</strong>ren simultanen<br />
Zero–<strong>Knowledge</strong> Protokollen wie z.B. [DNS99], die Zero–<strong>Knowledge</strong> bleiben, wenn sie simultan<br />
in einer polynomiellen Anzahl ausgeführt wer<strong>de</strong>n.<br />
26 Siehe Definition 2.23, Seite 21.<br />
73