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 />
Sei n ∈ , dann bezeichnet Bn die Menge aller Booleschen Ausdrücke mit n Variablen<br />
und B = <br />
n∈ Bn. Sei ferner Ψ ∈ B die Bezeichnung für einen Booleschen Ausdruck.<br />
Dann wird mit Wn = {a | a ∈ {wahr, falsch} n , a erfüllt Ψ} sowie W = <br />
n∈ Wn die<br />
Menge aller Belegungen bezeichnet, die die Booleschen Ausdrücke erfüllen.<br />
Weiterhin ist je<strong>de</strong>m Ψ ∈ B eine endliche Menge VΨ ⊆ Σ ⋆ <strong>de</strong>r ” verschlüsselten Schaltkreise“<br />
sowie EΨ ⊆ Γ ⋆ <strong>de</strong>r teilweise ” entschlüsselten Schaltkreise“ <strong>zu</strong>geordnet. Für je<strong>de</strong>n<br />
Ausdruck Ψ ∈ B und je<strong>de</strong> Zeichenkette ν ∈ Σ ⋆ (rsp. ɛ ∈ Γ ⋆ ) ist effizient entscheidbar,<br />
ob ν ∈ VΨ (rsp. ɛ ∈ EΨ) gilt. Überdies gilt für je<strong>de</strong>n Ψ ∈ B, dass alle Elemente aus VΨ<br />
und EΨ dieselbe Länge ℓ(Ψ) haben.<br />
Die Schlüsseleigenschaft <strong>de</strong>s Basis–Protokolls besagt nun folgen<strong>de</strong>s: Sei Ψ ∈ B ein<br />
beliebiger Ausdruck. Dann gilt<br />
∃ν ∈ VΨ, ∃ɛ ∈ EΨ : ν ≍ ɛ ⇐⇒ Ψ ist erfüllbar.<br />
Da<strong>zu</strong> existieren vier effiziente Algorithmen:<br />
1. ζ : B R<br />
−→ V<br />
2. ρ : B R<br />
−→ E<br />
3. γ : B × V × W → E ∪ {⊥} und<br />
4. δ : B × V × E → W ∪ {⊥}<br />
so dass folgen<strong>de</strong>s gilt:<br />
1. ∀Ψ ∈ B : ζ(Ψ) ist gleichverteilt über VΨ.<br />
2. ∀Ψ ∈ B : ρ(Ψ) ist gleichverteilt über EΨ.<br />
3. Sei Ψ ∈ Bn, a ∈ Wn erfüllt Ψ und ν ∈ VΨ. Dann ist γ(Ψ, ν,a) ∈ EΨ und verträglich<br />
mit ν. (An<strong>de</strong>rnfalls gilt γ(Ψ, ν,a) ∈ ⊥.) Außer<strong>de</strong>m gilt ∀Ψ ∈ B, ∀a ∈ W erfüllt Ψ :<br />
γ(Ψ, ζ(Ψ),a) ist gleichverteilt über EΨ.<br />
4. Seien Ψ ∈ B, ν ∈ VΨ und ɛ ∈ EΨ mit ν ≍ ɛ. Dann ist δ(Ψ, ν,ɛ) eine erfüllen<strong>de</strong><br />
Belegung <strong>zu</strong> Ψ. An<strong>de</strong>rnfalls ist δ(Ψ, ν,ɛ) = ⊥.<br />
Angenommen, <strong>de</strong>r Prover möchte <strong>de</strong>n Verifier davon überzeugen, dass er eine erfüllen<strong>de</strong><br />
Belegung für einige Ψ ∈ B kennt. Das Basis–Protokoll besteht aus k unabhängigen<br />
Run<strong>de</strong>n, die nacheinan<strong>de</strong>rn ausgeführt wer<strong>de</strong>n. Dabei sieht eine Run<strong>de</strong> i wie folgt aus:<br />
Protokoll 6.2 (Run<strong>de</strong> i <strong>de</strong>s Basis–Protokolls)<br />
Schritt P1: Der Prover berechnet νi = ζ(Ψ), verschlüsselt je<strong>de</strong>s Bit νi[j] in<br />
einem Commitment xi[j] und sen<strong>de</strong>t es.<br />
59