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.
6 Perfekte Zero–<strong>Knowledge</strong> Arguments mit konstanter Run<strong>de</strong>nzahl<br />
Zur Vorbereitung auf das Bit–Commitment–Scheme einigen sich <strong>de</strong>r Prover und Verifier<br />
auf ein große Primzahl p, für die bei<strong>de</strong> die Faktorisierung von p − 1 kennen. Derartige<br />
Primzahlen können mittels effizienter Verfahren gefun<strong>de</strong>n wer<strong>de</strong>n. Darüber hinaus<br />
einigen sich Prover und Verifier über ein erzeugen<strong>de</strong>s Element α ∈ ∗ p. Aufgrund <strong>de</strong>r<br />
polynomiellen Berechenbarkeit sind bei<strong>de</strong> Eigenschaften von bei<strong>de</strong>n Teilnehmern leicht<br />
<strong>zu</strong> prüfen.<br />
Diese bei<strong>de</strong>n Parameter α und p müssen nicht bei je<strong>de</strong>r Kommunikation geän<strong>de</strong>rt<br />
wer<strong>de</strong>n. Zusammen mit <strong>de</strong>r Faktorisierung von p − 1 können sie öffentlich bekannt sein<br />
und von einem Trust-Center verwaltet wer<strong>de</strong>n, wenn sie einmal überprüft wur<strong>de</strong>n. Ist<br />
eine Zahl i ∈ p−1 gegeben, kann sehr leicht α i berechnet wer<strong>de</strong>n. Es ist aber kein<br />
effizienter Algorithmus bekannt, diesen Prozess <strong>zu</strong> invertieren, wenn die Faktoren von<br />
p − 1 groß genug gewählt wur<strong>de</strong>n.<br />
Um ein Bit ν ∈ {0, 1} in einem Commitment <strong>zu</strong> verschlüsseln, wählt <strong>zu</strong>erst <strong>de</strong>r<br />
Empfänger ein beliebiges s ∈ ∗ p und sen<strong>de</strong>t es <strong>de</strong>m Sen<strong>de</strong>r. Dieser wählt ein <strong>zu</strong>fälliges<br />
r ∈R p−1 und berechnet x = α r s ν . Diese x ist das Commitment und wird <strong>de</strong>m<br />
Empfänger gesen<strong>de</strong>t. Das r wird dabei vom Sen<strong>de</strong>r geheim gehalten. Soll das Commitment<br />
geöffnet wer<strong>de</strong>n, wird das r vom Sen<strong>de</strong>r an <strong>de</strong>n Empfänger gesen<strong>de</strong>t, <strong>de</strong>r einfach<br />
x = α r s ν überprüfen kann.<br />
Da die exp α Funktion eine Permutation ist, kann je<strong>de</strong>s Element aus ∗ p dafür genutzt<br />
wer<strong>de</strong>n, sowohl eine 0 als auch eine 1 in einem Commitment <strong>zu</strong> verschlüsseln, welche über<br />
∗ p gleichverteilt sind. Daher ist es für <strong>de</strong>n Empfänger informationstheoretisch unmöglich,<br />
ein 0–Commitment von einem 1–Commitment <strong>zu</strong> unterschei<strong>de</strong>n.<br />
6.3 Täuschungsmöglichkeit <strong>de</strong>s Provers<br />
Unter bestimmten Vorausset<strong>zu</strong>ngen kann mit <strong>de</strong>m bisherigen Verfahren <strong>de</strong>r Prover immer<br />
noch betrügen. Da<strong>zu</strong> ein ein kleines Beispiel:<br />
Beispiel 8<br />
In Schritt 2 <strong>de</strong>s Protokolls 6.1 verschlüsselt <strong>de</strong>r Verifier seine Wahl, dass das Bit y später<br />
in Schritt 4 vom Prover geöffnet wer<strong>de</strong>n soll, mit einem <strong>zu</strong>fällig gewählten r ∈R p−1 und<br />
berechnet e = α r s y . Dieses Commitment wird an <strong>de</strong>n Prover gesen<strong>de</strong>t, <strong>de</strong>r seinerseits<br />
ein Bit x = y in einem Commitment mit x = α q e mit einem <strong>zu</strong>fällig gewählten q ∈R<br />
p−1 erstellt. Bis jetzt kann <strong>de</strong>r Prover dieses Commitment natürlich nicht wechselseitig<br />
öffnen. Nichts<strong>de</strong>stotrotz wird <strong>de</strong>r Verifier sein r in Schritt 4 öffnen und an <strong>de</strong>n Prover<br />
sen<strong>de</strong>n. Jetzt hat <strong>de</strong>r Prover die Möglichkeit, sein Commitment von x als Bit y mittels<br />
eines ” Zeugnisses“ q + r <strong>zu</strong> öffnen, da x = α q+r s y gilt (q und r sind Elemente von p−1<br />
und wer<strong>de</strong>n modulo p − 1 addiert).<br />
Dieses Problem enspringt nicht <strong>de</strong>m Protokoll 6.1 son<strong>de</strong>rn wohnt <strong>de</strong>r un<strong>zu</strong>reichen<strong>de</strong>n<br />
Definition <strong>de</strong>s Bit–Commitment–Schemes inne. Es reicht nicht aus, per Definition <strong>zu</strong><br />
55