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 />
Algorithmus, <strong>de</strong>r für einen ε großen Teil von h ∈R Hn eine Kollision für h mit einer<br />
Wahrscheinlichkeit von O(ε 2 ) erzeugt. Das steht im Wi<strong>de</strong>rspruch <strong>zu</strong>r Kollisionsresistenz<br />
gegen n log n große Wi<strong>de</strong>rsacher <strong>de</strong>r Hn Familie. <br />
Nicht-uniforme Simulation: Der Beweis dafür, dass Protokoll 7.7 die Simulationseigenschaft<br />
erfüllt, ist ähnlich <strong>de</strong>m <strong>de</strong>r uniformen (Lemma 7.2). Es muss gezeigt wer<strong>de</strong>n,<br />
dass ein Simulator S GenProt ′ für Protokoll 7.7 existiert, so dass für je<strong>de</strong>n polynomiell<br />
großen Verifier V ∗ S GenProt ′(V ∗ ) ein Tupel (v, σ) ausgibt, so dass v berechenbar unun-<br />
terscheidbar von view ∗<br />
V (·) ist und dass σ ein Zeugnis dafür ist, dass das <strong>zu</strong> v gehören<strong>de</strong><br />
Kommunikationsprotokoll τ aus Λ ist.<br />
Protokoll 7.8<br />
Eingabe:<br />
• 1 n : Sicherheitsparameter<br />
• V ∗ : Ein polynomiell großer Schaltkreis (o.B.d.A. ist V ∗ <strong>de</strong>terministisch).<br />
Simulierter Schritt V1: (Auswahl einer Hashfunktion) Berechnung von h =<br />
V ∗ (): Die erste Nachricht von V ∗ .<br />
Simulierter Schritt P2: (Commitment für V ∗ ’s Programm) Bezeichne Π <strong>de</strong>n<br />
Algorithmus für die nächste Nachricht von V ∗ . Berechnung eines <strong>zu</strong>fälligen<br />
w ∈R Com(h(Π), s), wobei s ∈R {0, 1} poly(n) Münzwürfe für das<br />
Commitment–Scheme sind.<br />
Simulierter Schritt V3: (Berechnung <strong>de</strong>r Antwort von V ∗ ) Berechnung <strong>de</strong>r<br />
Antwort von V ∗ auf die Nachricht w. Das heißt, r = Π(w) = V ∗ (w).<br />
Ausgabe: Das Tupel (v, σ) mit v als die Sicht w und σ = (Π, s) als Zeugnis<br />
für (h, w, r) ∈ Λ.<br />
Protokoll 7.8 ist ein Simulator für Protokoll 7.7. Die Ausgabe von Protokoll 7.8 ist<br />
ein Tupel (v, σ), so dass v = w ist (was das Kommunikationsprotokoll (h, w, r) mit<br />
h = V ∗ (·) und r = V ∗ (w) impliziert) und σ = (Π, s) ein Zeugnis für v ∈ Λ ist. Die zwei<br />
Eigenschaften, die von (v, σ) benötigt wer<strong>de</strong>n, sind folgen<strong>de</strong>:<br />
1. v ist berechenbar ununterscheidbar von view ∗<br />
V (·) in einer realen Ausführung. Dieses<br />
folgt aus <strong>de</strong>m Umstand, dass Com ein Commitment–Scheme ist und somit<br />
Com(h(Π)) ununterscheidbar von Com(h(O 3n )) ist.<br />
2. Das <strong>zu</strong> v passen<strong>de</strong> Kommunikationsprotokoll τ ist aus Λ und σ ist ein Zeugnis dafür.<br />
Das <strong>zu</strong> v passen<strong>de</strong> Kommunikationsprotokoll ist (h, w, r). Das Tupel σ = (Π, s)<br />
ist ein Zeugnis dafür, da w = Com(h(Π), s) ist und Π(w) in einer polynomiellen<br />
Anzahl von Schritten (und damit kleiner als |r|<br />
log log |r|<br />
5 ) r ausgibt. Zu beachten<br />
ist dabei, dass die Zeit <strong>zu</strong>m Verifizieren, dass σ ein Zeugnis für τ ist, tatsächlich<br />
polynomiell <strong>zu</strong>r Laufzeit von V ∗ ist.<br />
95