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.
2 Definitionen<br />
Definition 2.19 (Einweg–Funktionen)<br />
Eine Funktion f : {0, 1} ∗ → {0, 1} ∗ wird Einweg–Funktion genannt, wenn die folgen<strong>de</strong>n<br />
bei<strong>de</strong>n Bedingungen erfüllt sind:<br />
1. Einfach <strong>zu</strong> berechnen: Es existiert ein (<strong>de</strong>terministischer) polynomiell–beschränkter<br />
Algorithmus A, so dass dieser bei Eingabe von x f(x) ausgibt (A(x) =<br />
f(x)).<br />
2. Schwer <strong>zu</strong> invertieren: Für je<strong>de</strong>n probabilistischen polynomiell–beschränkten Algorithmus<br />
A ∗ , alle genügend großen n ∈ und alle r, r ′ ∈R {0, 1} n gilt<br />
mit µ als vernachlässigbarer Funktion.<br />
Pr[A ∗ (f(r ′ ), 1 n ) ∈ f −1 (f(r))] < µ(n)<br />
Die Wahrscheinlichkeit <strong>de</strong>r zweiten Bedingung wird dabei über alle n, r, r ′ und die<br />
Münzwürfe von A ∗ mit gleichverteilter Wahrscheinlichkeit berechnet.<br />
Anmerkung: Es wird nicht gefor<strong>de</strong>rt, dass A ∗ das spezifische Urbild von f(x) berechnet.<br />
Je<strong>de</strong>s Urbild, d.h. je<strong>de</strong>s Element aus f −1 (f(x)) ist ausreichend. Natürlich gilt<br />
x = f −1 (f(x)), falls f bijektiv ist, aber im Allgemeinen können an<strong>de</strong>re Urbil<strong>de</strong>r die<br />
Vorausset<strong>zu</strong>ng erfüllen.<br />
Die <strong>zu</strong>sätzliche Eingabe 1 n dient lediglich <strong>de</strong>m Zweck <strong>zu</strong> verhin<strong>de</strong>rn, dass eine Funktion<br />
nur <strong>de</strong>shalb als Einweg–Funktion gilt, weil <strong>de</strong>ren Ausgabe so stark verkürzt wur<strong>de</strong>,<br />
dass <strong>de</strong>r Invertierung keine Zeit verbleibt, die Ausgabe aus<strong>zu</strong>geben. Sei z.B. y = bin(x)<br />
die Funktion, um die binäre Darstellung von x aus<strong>zu</strong>geben. Dann ist |bin(x)| = log 2 |x|<br />
und kein Algorithmus kann in Polynomialzeit bezüglich |y| bin invertieren. Die Hilfseingabe<br />
1 n verhin<strong>de</strong>rt, dass eine praktisch invertierbare Funktion als Einweg–Funktion<br />
bezeichnet wird.<br />
Neben dieser Definition existieren noch weitere, die entwe<strong>de</strong>r auf die obige <strong>zu</strong>rückgeführt<br />
wer<strong>de</strong>n können o<strong>de</strong>r <strong>de</strong>ren Unterschie<strong>de</strong> für die vorliegen<strong>de</strong> Arbeit nicht relevant<br />
sind.<br />
Von weiterer Be<strong>de</strong>utung sind noch injektive Einweg–Funktionen, die in <strong>de</strong>r Fachliteratur<br />
oft mit 1-1 o<strong>de</strong>r one-one bezeichnet wer<strong>de</strong>n, da diese Funktionen in vielen Zero–<strong>Knowledge</strong><br />
Protokollen Anwendung fin<strong>de</strong>n. Ist eine Einweg–Funktion sogar bijektiv,<br />
dann wird diese Funktion <strong>zu</strong>r<br />
Definition 2.20 (Einweg–Permutationen)<br />
Sei f eine Einweg–Funktion gemäß Definition 2.19 und bijektiv. Dann heißt f eine Einweg–Permutation.<br />
Die Bijektivität erscheint für eine Einweg–Funktion auf <strong>de</strong>n ersten Blick sinnlos. Sie<br />
ist aber insbeson<strong>de</strong>re dann von Wichtigkeit, wenn für die Invertierung eine Zusatzinformation<br />
vorhan<strong>de</strong>n ist, die es erlaubt, f −1 effizient <strong>zu</strong> berechnen. Diese Umkehrfunktionen<br />
19