Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
70<br />
A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />
69<br />
A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />
• βl,m der durchschnittliche Wert, den T e<strong>in</strong>er von PBG generierten m-Bit-Folge zuordnet, wenn<br />
der <strong>Sicherheit</strong>sparameter l ist (wobei der Durchschnitt über die Schlüssel <strong>und</strong> Startwerte gebildet<br />
wird, die beim <strong>Sicherheit</strong>sparameter l erzeugt werden).<br />
echte<br />
Zufallszahl<br />
<strong>Sicherheit</strong>sparameter<br />
ll<br />
Damit gilt formaler, d.h. bei Umstellung des formalen Parameters m auf beliebiges Polynom Q(l):<br />
Schlüsselgen.<br />
=<br />
Schlüssel- u.<br />
Startwertgen.<br />
n, s<br />
E<strong>in</strong> PBG besteht T gdw.<br />
Für alle Polynome Q <strong>und</strong> alle t > 0 gilt: Für alle genügend großen l liegt βl,Q(l) im Intervall αQ(l) ±<br />
1/lt .<br />
n,s<br />
geheimer Schlüssel =<br />
Schlüssel u. Startwert<br />
Zu dieser „stärksten“ Forderung s<strong>in</strong>d die folgenden 3 äquivalent (aber leichter beweisbar):<br />
Für jede erzeugte endliche Anfangs-Bitfolge, bei der e<strong>in</strong> beliebiges (das rechte, l<strong>in</strong>ke) Bit fehlt,<br />
kann jeder polynomial zeitbeschränkte Algorithmus P (Prädiktor) das fehlende Bit „nur raten“<br />
(d.h. nicht besser voraussagen als mit Wahrsche<strong>in</strong>lichkeit 1/2± 1/lt .).<br />
Klartext<br />
x<br />
Entschlüsselung:<br />
Erzeuge<br />
b b b ...,<br />
0 1 2<br />
addiere<br />
Klartext Verschlüsse- Schlüsseltext<br />
lung: Erzeuge<br />
x<br />
k(x)<br />
b b b ...,<br />
= x x x ... 0 1 2<br />
0 1 2 addiere = x 0 ⊕ b 0 ,<br />
x 1 ⊕ b 1 , …<br />
Beweisideen (<strong>in</strong>direkte Beweise):<br />
Geheimer Bereich<br />
1. (E<strong>in</strong>facher Teil) Jeder Prädiktor ist auch als Test zu verwenden: Man nimmt von der zu testenden<br />
Folge alle Bits bis auf e<strong>in</strong>es, gibt sie als E<strong>in</strong>gabe <strong>in</strong> den Prädiktor <strong>und</strong> vergleicht das Ergebnis mit<br />
dem richtigen Bit aus der Folge. Das Testergebnis ist 1, wenn der Prädiktor richtig geschätzt hat,<br />
<strong>und</strong> 0 sonst. Der Wert αm ist 1/2, denn bei echten Zufallsfolgen kann jeder Prädiktor nur mit<br />
Wahrsche<strong>in</strong>lichkeit 1/2 richtig schätzen. Wenn der Prädiktor also auf PBG-Folgen wesentlich<br />
anders (besser) schätzt, hat der PBG diesen Test nicht bestanden.<br />
Bild 3-18: Pseudo-one-time-pad<br />
Dabei muß statt des langen one-time-pads nur noch der kurze Schlüssel <strong>und</strong> Startwert des PBG<br />
ausgetauscht werden.<br />
Forderung an Pseudo-one-time-pad: Für jeden polynomial beschränkten Angreifer soll das<br />
Pseudo-one-time-pad bis auf e<strong>in</strong>en verschw<strong>in</strong>denden Anteil der Fälle so sicher wie one-time-pad se<strong>in</strong>.<br />
2. (Schwierigerer Teil) Zu zeigen: Aus jeder der 3 schwächeren Forderungen folgt die „stärkste“.<br />
Wir nehmen also an, es gebe irgende<strong>in</strong>en Test T, den PBG nicht besteht, <strong>und</strong> zeigen, daß es<br />
dann auch e<strong>in</strong>en Prädiktor gibt, der e<strong>in</strong> Bit von PBG zu gut voraussagt. Hier wird das für das<br />
l<strong>in</strong>ke Bit gezeigt.<br />
Für e<strong>in</strong> t > 0, e<strong>in</strong> Polynom Q <strong>und</strong> unendlich viele l liegt βl,Q(l) außerhalb, z.B. oberhalb, des<br />
Intervalls αQ(l) ± 1/lt .<br />
Man wirft nun T e<strong>in</strong>e Bitfolge aus 2 Teilen vor, mit den Längen j + k = Q(l), <strong>und</strong> zwar ist der<br />
l<strong>in</strong>ke Teil echt zufällig <strong>und</strong> der rechte von PBG generiert. Man vergleicht immer zwei benachbarte<br />
Typen von Folgen.<br />
Die Idee dazu ist, daß wenn ke<strong>in</strong> polynomialer Test (also auch ke<strong>in</strong> polynomialer Angreifer) die<br />
Pseudo-one-time-pads <strong>und</strong> die echten one-time-pads unterscheiden kann, es dann bzgl. polynomialer<br />
Angreifer auch ke<strong>in</strong>en Unterschied machen kann, ob man mit e<strong>in</strong>em Pseudo-one-time-pad oder e<strong>in</strong>em<br />
echten one-time-pad verschlüsselt.<br />
echt zufällig____<br />
Aj+1 = {r1 ... rj rj +1 b1 ... bk } ergibt Testergebnisse näher bei αQ(l) Aj = {r1 ... rj b0 b1 ... bk } ergibt Testergebnisse weiter weg, z.B. höher.<br />
von PBG generiert<br />
Obiges muß m<strong>in</strong>destens für e<strong>in</strong> j gelten, da A0 die PBG-Folgen s<strong>in</strong>d <strong>und</strong> AQ(l) die echten Zufallsfolgen<br />
Daraus konstruiert man e<strong>in</strong>en Prädiktor für die Bitfolge b1 ... bk folgendermaßen: Man wählt sich<br />
e<strong>in</strong>e echte Zufallsfolge r1 ... rj dazu <strong>und</strong> wendet zweimal den Test T an, nämlich<br />
T auf {r1 ... rj 0 b1 ... bk }: Nenne das Ergebnis α0 T auf {r1 ... rj 1 b1 ... bk }: Nenne das Ergebnis α1 Rate b0 = 0 mit Wahrsche<strong>in</strong>lichkeit 1/2 + 1/2 (α0 - α1 ).<br />
(Genauer: [BlBS_86 Seite 375f])<br />
3.4.3 Der s 2 -mod-n-Generator<br />
Forderungen an PBG<br />
„Stärkste“ Forderung: PBG besteht jeden probabilistischen Test T polynomialer Laufzeit.<br />
Dabei heißt „besteht“: Der Test kann Folgen, die der PBG erzeugt, nicht mit signifikanter<br />
Wahrsche<strong>in</strong>lichkeit von echten Zufallsbitfolgen unterscheiden.<br />
E<strong>in</strong> probabilistischer Test T polynomialer Laufzeit ist e<strong>in</strong> probabilistischer, polynomial<br />
zeitbeschränkter Algorithmus, der jeder E<strong>in</strong>gabe aus {0, 1} * (also e<strong>in</strong>er endlichen Folge, die er<br />
testen soll) e<strong>in</strong>e reelle Zahl aus [0, 1] zuordnet. (Der Wert hängt im allgeme<strong>in</strong>en von den<br />
Zufallsentscheidungen <strong>in</strong> T ab.)<br />
Die Gr<strong>und</strong>idee ist nun, daß nicht jede e<strong>in</strong>zelne Folge betrachtet wird (denn jede e<strong>in</strong>zelne endliche<br />
Folge kann ja mit gleicher Wahrsche<strong>in</strong>lichkeit von e<strong>in</strong>em echten Zufallsgenerator erzeugt werden,<br />
d.h. von der Zufälligkeit e<strong>in</strong>er e<strong>in</strong>zelnen Folge zu sprechen, ist für die Kryptographie s<strong>in</strong>nlos). Statt<br />
dessen vergleicht man den Durchschnittswert des Tests für die PBG-Folgen mit dem Durchschnittswert<br />
für echte Folgen. Wenn im Mittel bei beiden Sorten von Folgen dasselbe herauskommt,<br />
kann der Test nicht helfen, die PBG-Folgen von den echten Zufallsfolgen zu unterscheiden.<br />
Sei dazu<br />
• αm der durchschnittliche Wert, den T e<strong>in</strong>er echt zufälligen m-Bit-Folge zuordnet (d.h. der<br />
Erwartungswert bei Gleichverteilung über alle m-Bit-Folgen überhaupt), <strong>und</strong><br />
Der s2-mod-n-Generator ist e<strong>in</strong> bestimmter Pseudozufallsbitfolgengenerator, der mit Quadraten (<strong>und</strong><br />
der Schwierigkeit des Wurzelziehens bzw. des Entscheidens, ob etwas e<strong>in</strong> Quadrat ist) arbeitet.