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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!