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.
6 Perfekte Zero–<strong>Knowledge</strong> Arguments mit konstanter Run<strong>de</strong>nzahl<br />
Schritt V2: Der Verifier sen<strong>de</strong>t yi ∈ {0, 1} als seine Öffnungswahl <strong>de</strong>r Commitments.<br />
Schritt P3: War die Wahl eine ” 0“, öffnet <strong>de</strong>r Prover die xi[j], sen<strong>de</strong>t diese<br />
für je<strong>de</strong>s j und zeigt damit νi. Der Verifier prüft νi ∈ VΨ.<br />
War die Wahl eine ” 1“, nutzt <strong>de</strong>r Prover sein geheimes Wissen über eine<br />
erfüllen<strong>de</strong> Belegung a und berechnet ɛi = γ(Ψ, νi,a). Er sen<strong>de</strong>t lediglich<br />
die xi[j]’s, die ɛi[j] = entsprechen. (Zu beachten ist, dass in diesem<br />
Fall ɛi[j] = νi[j] gilt, da νi ≍ ɛi.) Der Verifier prüft ɛi ∈ EΨ.<br />
In bei<strong>de</strong>n Fällen stoppt <strong>de</strong>r Verifier und verwirft die Behauptung, wenn<br />
die Prüfung fehlerhaft war.<br />
Lemma 6.1<br />
Das Protokoll 6.2 ist berechenbar ein<strong>de</strong>utig, da <strong>de</strong>r Prover nicht im Voraus weiß, welche<br />
Auffor<strong>de</strong>rung in je<strong>de</strong>r Run<strong>de</strong> <strong>zu</strong> erwarten ist.<br />
Beweis:<br />
Seien νi und ɛi die Antworten auf die Öffnungswahlen in Run<strong>de</strong> i. Unter <strong>de</strong>r Vorausset<strong>zu</strong>ng,<br />
dass <strong>de</strong>r Prover die Commitments nicht zwei<strong>de</strong>utig öffnen kann, müssen νi und<br />
ɛi verträglich sein. Falls νi ∈ VΨ und ɛi ∈ EΨ gilt, dann ist δ(Ψ, νi,ɛi) eine erfüllen<strong>de</strong><br />
Belegung <strong>zu</strong> Ψ. Infolge<strong>de</strong>ssen ist Ψ erfüllbar und <strong>de</strong>r Prover kennt eine effizient berechenbare,<br />
erfüllbare Belegung dafür. An<strong>de</strong>rnfalls, wenn νi ∈ VΨ und ɛi ∈ EΨ gilt, beträgt<br />
die Wahrscheinlichkeit min<strong>de</strong>stens 50%, dass <strong>de</strong>r Verifier <strong>de</strong>n Prover beim Täuschen in<br />
dieser Run<strong>de</strong> erwischt. Die Wahrscheinlichkeit für unerkannte falsche Behauptung <strong>de</strong>s<br />
Provers beträgt somit 2 −k für das vollständige Protokoll, immer vorausgesetzt, dass <strong>de</strong>r<br />
Prover das Bit–Commitment–Scheme nicht überlisten kann.<br />
Lemma 6.2<br />
Das Protokoll 6.2 ist perfekt Zero–<strong>Knowledge</strong>, vorausgesetzt, dass ein 0–Commitment<br />
informationstheoretisch nicht von einem 1–Commitment <strong>zu</strong> unterschei<strong>de</strong>n ist.<br />
Beweis:<br />
Um eine Run<strong>de</strong> <strong>de</strong>s Protokolls <strong>zu</strong> simulieren, wirft <strong>de</strong>r Simulator eine Münze.<br />
Ist <strong>de</strong>r Kopf oben, generiert <strong>de</strong>r Simulator ν = ζ(Ψ), verschlüsselt je<strong>de</strong>s Bit in ν in<br />
einem Commitment und fragt <strong>de</strong>n Verifier nach seiner Wahl. Beträgt diese ” 0“, öffnet <strong>de</strong>r<br />
Simulator alle Commitments. An<strong>de</strong>rnfalls missachtet <strong>de</strong>r Simulator diese ” unglückliche“<br />
Wahl und startet einen neuen Versuch.<br />
Ist nach <strong>de</strong>m Münzwurf die Zahl oben, erzeugt <strong>de</strong>r Simulator ɛ = ρ(Ψ), setzt ν =<br />
♦(ɛ), verschlüsselt je<strong>de</strong>s Bit in ν in Commitments und fragt <strong>de</strong>n Verifier nach seiner<br />
Wahl. Beträgt diese ” 1“, öffnet <strong>de</strong>r Simulator die Commitments, die ɛ[j] = entsprechen.<br />
An<strong>de</strong>rnfalls missachtet <strong>de</strong>r Simulator diese ” unglückliche“ Wahl und startet einen neuen<br />
Versuch.<br />
60