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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

7 Berechenbare Zero–<strong>Knowledge</strong> Arguments mit konstanter Run<strong>de</strong>nzahl<br />

Generator Protokoll<br />

Die folgen<strong>de</strong> Definition <strong>de</strong>s Generator Protokolls wird von <strong>de</strong>r beabsichtigten Anwendung<br />

bestimmt. Die Anfor<strong>de</strong>rungen an ein Generator Protokoll garantieren dabei, dass<br />

das Resultat ein Zero–<strong>Knowledge</strong> Proof o<strong>de</strong>r Zero–<strong>Knowledge</strong> Argument System ist,<br />

wenn es in die Basisversion von Protokoll 7.1 eingesetzt wird. Es wird hier nur ein uniformes<br />

Generator Protokoll <strong>de</strong>finiert, da in diesem Abschnitt ein Protokoll entwickelt<br />

wird, welches Zero–<strong>Knowledge</strong> nur gegen Verifier ist, <strong>de</strong>ssen Strategie in einer uniformen<br />

probabilistischen polynomiell–beschränkten Turing Maschine implementiert wer<strong>de</strong>n<br />

kann. Die formale Definition lautet:<br />

Definition 7.5 (Uniformes Generator Protokoll)<br />

Sei GenProt ein Protokoll für zwei Teilnehmer, die Prover (P) und Verifier (V) genannt<br />

wer<strong>de</strong>n. Sei Λ ⊆ {0, 1} ∗ eine beliebige Sprache aus Ntime(T (n)) für eine beliebige (polynomiell<br />

berechenbare) Funktion T : −→ (z.B. T (n) = n log log n o<strong>de</strong>r T (n) = n 3 ).<br />

GenProt heißt ein uniformes Generator Protokoll (in Be<strong>zu</strong>g auf die Sprache Λ), wenn<br />

es folgen<strong>de</strong> Bedingungen erfüllt:<br />

Korrektheit: (Diese Bedingung garantiert, dass das Protokoll, in welches GenProt eingefügt<br />

wird, ebenfalls korrekt ist.) Sei τ = transcript (P,V)(·) aus GenProt. Wenn <strong>de</strong>r<br />

Verifier <strong>de</strong>r festgelegten Vorgehensweise folgt, gilt unabhängig vom Verhalten <strong>de</strong>s<br />

Provers Pr[τ ∈ Λ] < µ(n) mit µ als vernachlässigbarer Funktion.<br />

Uniforme Simulation: (Diese Bedingung garantiert, dass das Protokoll, in welches GenProt<br />

eingefügt wird, Zero–<strong>Knowledge</strong> gegen uniforme Verifier ist.) Es existiert ein Simulator<br />

SGenProt, <strong>de</strong>r folgen<strong>de</strong>s erfüllt: Sei V ∗ ein beliebiger polynomiell–beschränkter<br />

Verifier, <strong>de</strong>r in weniger als 2n Bits beschrieben wer<strong>de</strong>n kann, wobei n <strong>de</strong>r Sicherheitsparameter<br />

ist. Dann läuft SGenProt bei Eingabe von <strong>de</strong>sc(V ∗ ) in polynomieller<br />

Zeit in Be<strong>zu</strong>g auf V ∗ und gibt folgen<strong>de</strong>s Tupel (v, σ) aus:<br />

1. v ist berechenbar ununterscheidbar von <strong>de</strong>r Sicht <strong>de</strong>s V ∗ bei einer Ausführung<br />

in GenProt mit P als Prover.<br />

2. Sei τ = transcript (P,V ∗ )(·) , welches in <strong>de</strong>r Sicht v enthalten ist. Dann ist τ ∈ Λ<br />

und σ ist ein Zeugnis dafür. Desweiteren muss die Zeit, in <strong>de</strong>r ” σ ist Zeugnis<br />

für τ“ verifiziert wer<strong>de</strong>n kann, polynomiell in Be<strong>zu</strong>g auf die Laufzeit von V ∗<br />

sein. 30<br />

Anmerkung: Die bei<strong>de</strong>n Anfor<strong>de</strong>rungen <strong>zu</strong>sammen implizieren, dass Λ eine harte<br />

Sprache ist, weil in einer realen Ausführung mit einem ehrlichen Verifier das Kommunikationsprotokoll<br />

τ fast nie in Λ ist, wohingegen in <strong>de</strong>r berechenbaren, ununterscheidbaren,<br />

simulierten Ausführung τ immer in Λ ist.<br />

30 Diese Anfor<strong>de</strong>rung ist wichtig, wenn Λ ∈ Ntime(T (·)) für eine super-polynomielle Funktion T (·)<br />

betrachtet wird.<br />

82

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!