Diplomarbeit zu "`Zero-Knowledge Arguments"' - Telle-Online.de
Diplomarbeit zu "`Zero-Knowledge Arguments"' - Telle-Online.de
Diplomarbeit zu "`Zero-Knowledge Arguments"' - Telle-Online.de
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