30.10.2013 Aufrufe

Diplomarbeit zu "`Zero-Knowledge Arguments"' - Telle-Online.de

Diplomarbeit zu "`Zero-Knowledge Arguments"' - Telle-Online.de

Diplomarbeit zu "`Zero-Knowledge Arguments"' - Telle-Online.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!