06.11.2013 Aufrufe

4: Stromchiffren

4: Stromchiffren

4: Stromchiffren

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.

Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

4: <strong>Stromchiffren</strong><br />

Zwei Grundbausteine der symmetrischen Kryptographie:<br />

<strong>Stromchiffren</strong><br />

Verschlüsseln “beliebig langer Klartexte”,<br />

interner Zustand<br />

Blockchiffren<br />

Verschlüsseln von Blocks einer festen Größe,<br />

zustandslos<br />

In der Praxis:<br />

◮ “Betriebsarten” für Blockchiffren erlauben das<br />

Verschlüsseln “beliebig langer” Klartexte<br />

◮ <strong>Stromchiffren</strong> eher für ressourcenbeschränkte<br />

Einsatzgebiete, z.B. Mobilkommunikation<br />

– 43 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

In diesem Kapitel:<br />

◮ Was sind <strong>Stromchiffren</strong>?<br />

◮ Praktische Bausteine<br />

(LFSRs).<br />

◮ Präsentation einer<br />

speziellen Stromchiffre<br />

(des A5 aus dem GSM<br />

Mobilfunknetz).<br />

◮ Erklärung eines Angriffs<br />

auf den A5!<br />

◮ Etwas Theorie.<br />

– 44 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Synchrone Stromchiffre<br />

<br />

<br />

Schlüssel<br />

✲<br />

✛✘ <br />

f ✛ <br />

✚✙<br />

✻<br />

Zustand<br />

✛✘ ❄<br />

✲<br />

g<br />

✚✙<br />

Klartext<br />

<br />

✛✘ ✠<br />

✲<br />

✚✙<br />

❅<br />

❅❘<br />

Chiffretext<br />

– 45 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Synchrone Stromchiffre (2)<br />

◮ Synchronisation zwischen Sender und Empfänger<br />

muss gewährleistet sein.<br />

(→ ggf. zusätzl.<br />

Maßnahmen)<br />

◮ Es gibt auch andere selbstsynchronisierende<br />

<strong>Stromchiffren</strong>, die wir in der Vorlesung aber nicht<br />

weiter behandeln.<br />

◮ Änderung eines Chiffretext-Blocks ⇔ Änderung eines<br />

Klartext-Blocks. (→ kein Schutz der Authentitzität)<br />

– 46 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Katastrophaler Fehler bei Synchronen<br />

<strong>Stromchiffren</strong>:<br />

◮ Mehrfache Verwendung eines Startzustandes.<br />

◮ Genauso schlimm (und dumm) wie bei der<br />

Vernam-Chiffre.<br />

◮ Diesen Fehler trifft man in der Praxis erstaunlich oft<br />

an!!!<br />

Beispiel:<br />

Christiane Rütten, “Verschusselt statt verschlüsselt”<br />

16.02.2008, 11:57<br />

http://www.heise.de/security/artikel/print/103093<br />

– 47 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Synchrone Stromchiffre (3)<br />

Häufigster Spezialfall: Binäre additive Flußchiffre.<br />

Pseudozufälliger Bitstrom, erzeugt mit Hilfe eines<br />

Pseudozufallsbitgenerators (PZBG):<br />

Schlüssel<br />

✲<br />

PZBG<br />

Klartext<br />

✓✏<br />

✠<br />

✲<br />

✒✑<br />

❅ ❅❘<br />

Chiffretext<br />

Der mit dem PZBG erzeugte Schlüsselstrom wird zum<br />

Verschlüsseln bit-weise zum Klartext addiert, zum<br />

Entschlüsseln bit-weise vom Chiffretext subtrahiert.<br />

(In beiden Fällen die gleiche Operation: XOR.)<br />

– 48 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Abstrakte PZBGs<br />

Schlüssel<br />

Klartext<br />

01001010<br />

PZG<br />

Schlüsselstrom<br />

11010001<br />

Chiffretext<br />

10011011<br />

Ein PZBG ist kryptographisch sicher, wenn man den<br />

Schlüsselstrom ohne Kenntnis des Schlüssels nicht von<br />

einem zufälligen Bit-Strom („Würfe mit einer fairen<br />

Münze“) unterscheiden kann.<br />

– 49 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

4.1: Schieberegister<br />

Einfaches SR:<br />

Funktion<br />

SR mit Rückkopplung:<br />

4.1: Schieberegister – 50 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

LFSR<br />

Ist die Rückkopplungsfunktion linear, dann sprechen wir<br />

von einem „linearen rückgekoppelten Schieberegister“<br />

oder einem linearen Feedback-Shiftregister (LFSR).<br />

Beispiel:<br />

4.1: Schieberegister – 51 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Eigenschaften von LFSR:<br />

◮ „Lokale Zufälligkeit“<br />

◮ Effizient, insbesondere in Hardware<br />

◮ Große Periode (n-bit Register: maximal 2 n − 1)<br />

(Warum nicht größer?)<br />

◮ Lösbar durch lineare Gleichungen<br />

4.1: Schieberegister – 52 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Allgemeine LFSR<br />

x3 x2<br />

x 1 x 0<br />

a3<br />

a2<br />

a1 a0<br />

4.1: Schieberegister – 53 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Allgemeine LFSR (2)<br />

PZBG g : {0, 1} n → {0, 1} n+1 , definiert durch<br />

g(x n−1 , . . . , x 0 ) = (x 0 , f an−1 ,...a 0<br />

(x n−1 , . . . , x 0 ), x n−1 , . . . , x 1 )<br />

mit der Feedback-Funktion<br />

f an−1 ,...a 0<br />

(x n−1 , . . . , x 0 ) = ⊕<br />

0≤i


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Allgemeine LFSR (3)<br />

Die Theorie der LFSR ist mathematisch gut verstanden.<br />

Es ist nicht schwierig, das Feedback-Polynom so zu<br />

wählen, daß ein maximales LFSR vorliegt.<br />

Umgekehrt sind known plaintext Angriffe auf LFSR sogar<br />

dann einfach, wenn das Feedback-Polynom unbekannt,<br />

also Teil des Schlüssels, ist (was i.d.R. nicht der Fall ist).<br />

Beispiel: n = 4, Bitfolge 00011110.<br />

LFSR sind . . . linear. (∗ Welche Überraschung! ∗)<br />

⇒ Ein LFSR bildet einen sehr schlechten PZBG!<br />

Aber: LFSR werden gerne als Bausteine für PZBGs<br />

genutzt, in Verbindung mit nichtlinearen Bausteinen.<br />

4.1: Schieberegister – 55 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

4.2: A5-PZBG im GSM Mobilfunknetz<br />

Das GSM Sicherheitsprotokoll<br />

Ki<br />

<br />

<br />

<br />

Nutzerkennung<br />

Zufallszahl RAND<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

£¡£¡£¡£¡£¡£¡£¡£¡£<br />

Ki<br />

£¡£¡£¡£¡£¡£¡£¡£¡£ ¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥<br />

¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ £¡£¡£¡£¡£¡£¡£¡£¡£<br />

£¡£¡£¡£¡£¡£¡£¡£¡£ ¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

£¡£¡£¡£¡£¡£¡£¡£¡£<br />

¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ ¡¡¡¡¡ ¡¡¡¡¡ ¡¡¡¡¡ ¡¡¡¡¡<br />

£¡£¡£¡£¡£¡£¡£¡£¡£<br />

¡¡¡¡¡ ¡¡¡¡¡ ¡¡¡¡¡ ¡¡¡¡¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ £¡£¡£¡£¡£¡£¡£¡£¡£<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

£¡£¡£¡£¡£¡£¡£¡£¡£<br />

¡¡¡¡¡ ¡¡¡¡¡ ¡¡¡¡¡ ¡¡¡¡¡<br />

SRES := A3(Ki,RAND)<br />

SRES =<br />

?<br />

A3(Ki,RAND)<br />

£¡£¡£¡£¡£¡£¡£¡£¡£ ¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

¡¡¡¡¡ ¡¡¡¡¡ ¡¡¡¡¡ ¡¡¡¡¡<br />

¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡<br />

¡¡¡¡¡¡¡¡¡¡<br />

¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

£¡£¡£¡£¡£¡£¡£¡£¡£<br />

¡¡¡¡¡¡¡¡¡¡<br />

¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥<br />

¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤<br />

£¡£¡£¡£¡£¡£¡£¡£¡£<br />

¡¡¡¡¡¡¡¡¡¡<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤<br />

¡¡¡¡¡¡¡¡¡<br />

¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡<br />

¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥<br />

¡¡¡¡¡¡¡¡¡<br />

¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

¡¡¡¡¡¡¡¡¡<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤<br />

¡¡¡¡¡¡¡¡¡<br />

¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥<br />

¡¡¡¡¡¡¡¡¡¡<br />

£¡£¡£¡£¡£¡£¡£¡£¡£<br />

¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡<br />

¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡¡<br />

¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ £¡£¡£¡£¡£¡£¡£¡£¡£<br />

£¡£¡£¡£¡£¡£¡£¡£¡£ ¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§<br />

¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥<br />

©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©<br />

¡¡¡¡¡¡¡¡¡¡¡¡¡<br />

¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ £¡£¡£¡£¡£¡£¡£¡£¡£<br />

¡¡¡¡¡¡¡¡<br />

¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢<br />

¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨<br />

©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©<br />

¡¡¡¡¡¡¡¡¡¡¡¡¡<br />

§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§<br />

Kc := A8(Ki,RAND)<br />

Kc := A8(Ki,RAND)<br />

Verschlüsselte Sprachdaten<br />

A5(Kc)<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§<br />

¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨<br />

©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©<br />

¡¡¡¡¡¡¡¡¡¡¡¡¡<br />

£¡£¡£¡£¡£¡£¡£¡£¡£<br />

¡¡¡¡¡¡¡¡<br />

¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢<br />

¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤ ¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦<br />

§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§¡§<br />

¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨<br />

©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©¡©<br />

¡¡¡¡¡¡¡¡¡¡¡¡¡<br />

£¡£¡£¡£¡£¡£¡£¡£¡£<br />

4.2: A5-PZBG im GSM Mobilfunknetz – 56 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Der A5-PZBG<br />

Takt−<br />

kontrolle<br />

LFSR1<br />

LFSR2<br />

LFSR3<br />

Takt<br />

LSFR1: 19 bit, LFSR2: 22 bit, LFSR3: 23 bit,<br />

gesamt: 64 bit<br />

4.2: A5-PZBG im GSM Mobilfunknetz – 57 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Der A5-PZBG (2)<br />

Die Feedback-Polynome der drei LFSR sind bekannt.<br />

Die „mittleren“ Bits m 1 , m 2 und m 3 der LFSR dienen als<br />

Input für die Taktkontrollfunktion t : {0, 1} 3 → {0, 1} 3 .<br />

Deren Verhalten hängt von der Summe s = m 1 + m 2 + m 3<br />

(nicht mod 2) ab:<br />

{ (m1 , m<br />

t(m 1 , m 2 , m 3 ) =<br />

2 , m 3 ) falls s ≥ 2<br />

(m 1 , m 2 , m 3 ) sonst.<br />

Also werden immer mindestens 2, manchmal alle drei<br />

LFSR getaktet – im Durchschnitt werden 2 1 4 Register<br />

getaktet.<br />

4.2: A5-PZBG im GSM Mobilfunknetz – 58 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Der A5 PZBG (Beobachtungen)<br />

◮ Jedes Register wird im Durchschnitt etwa 3/4-mal<br />

pro Ausgabebit getaktet.<br />

◮ Es gibt „schwache Schlüssel“, bei denen mindestens<br />

eines der LFSR konstant Null ist.<br />

Der Anteil der schwachen Schlüssel ist > 2 −19 .<br />

◮ Die Zykluslänge ist unbekannt. Experimente deuten<br />

darauf hin, dass sie im Durchschnitt etwa 2 23 beträgt.<br />

4.2: A5-PZBG im GSM Mobilfunknetz – 59 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Der A5 PZBG (Arbeitsweise)<br />

◮ Einsatz des A5 zur Verschlüsselung digitalisierter<br />

(Sprach-)Daten.<br />

◮ GSM sendet in kurzen Abständen Datenblöcke<br />

(“Frames”).<br />

◮ Ein Frame enthält bis zu 228 Datenbits (114 für jede<br />

Kommunikationsrichtung bei “full duplex”<br />

Arbeitsweise).<br />

◮ Zu jedem Frame gehört eine (öffentlich bekannte)<br />

Frame-Nummer (22 bit).<br />

4.2: A5-PZBG im GSM Mobilfunknetz – 60 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Der A5 PZBG (Arbeitsweise 2)<br />

◮ Resynchronisation vor jedem Frame:<br />

Setze A5 auf Initialzustand (=Schlüssel)<br />

Generiere aus Initialzustand und Frame-Nummer den<br />

Startzustand für den Frame.<br />

◮ Vermutlich Schlüsselwechsel bevor Frame-Nummern<br />

sich wiederholen.<br />

(Darauf wird in der mir bekannten Literatur nicht<br />

eingegangen. Es dauert einige Stunden, bis nach 2 22<br />

Frames ein Schlüsselwechsel nötig wird.)<br />

4.2: A5-PZBG im GSM Mobilfunknetz – 61 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Ein Angriff auf den A5 PZBG<br />

Known Plaintext Angriff:<br />

Gegeben: 64 bit b 0 , b 1 , . . . , b 63 des Schlüsselstroms.<br />

Gesucht: Startzustand der LFSRs: x 18 , . . . x 0 (LFSR1),<br />

y 21 , . . . u 0 (LFSR2) z 22 , . . . z 0 (LFSR3).<br />

(→ Tafel)<br />

4.2: A5-PZBG im GSM Mobilfunknetz – 62 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Folgerungen für die Sicherheit des A5<br />

PZBG<br />

Von einer „guten“ Chiffre mit einem 64 bit Schlüssel<br />

würde man erwarten, daß ein Angriff im Durchschnitt<br />

etwa 2 63 Schritte erfordert, wie bei einem Brute-Force<br />

Angriff. Der A5 Schlüsselstromgenerator ist in diesem<br />

Sinne kein „guter“ Algorithmus.<br />

Das Abhören der (mit dem A5 Algorithmus<br />

verschlüsselten) Luftschnittstelle im GSM Mobilfunknetz<br />

ist mit dem in dieser Vorlesung geschilderten Angriff zwar<br />

nicht trivial, aber möglich.<br />

Weitere verbesserte Angriffe machen das Abhören der<br />

Luftschnittstelle sogar sehr einfach.<br />

4.2: A5-PZBG im GSM Mobilfunknetz – 63 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

4.3: Theorie: Die Sicherheit eines PZBGs<br />

als Stromchiffre<br />

Satz 3<br />

PZBG kryptographisch sicher ⇒ Binäre additive<br />

Stromchiffre sicher.<br />

Beweis-Idee:<br />

Wenn die Schlüsselstrom-Bits „echt zufällig“ sind, ist die<br />

Chiffre sicher (→ Vernam-Chiffre).<br />

Kann man die Chiffre „knacken“, dann hat man auch ein<br />

Kriterium, den Schlüsselstrom von einem Strom „echt<br />

zufälliger“ Bits zu unterscheiden.<br />

4.3: Theorie: Die Sicherheit eines PZBGs als Stromchiffre – 64 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Was heisst hier „sicher“?<br />

Ein Kryptosystem gilt als sicher gegen eine bestimmte<br />

Klasse von Angriffen, wenn es keine effizienten<br />

Algorithmen gibt, die bei einem derartigen Angriff mit<br />

signifikanter Wahrscheinlichkeit erfolgreich sind.<br />

Die Begriffe effizient und signifikante<br />

Wahrscheinlichkeit lassen sich grundsätzlich mit<br />

konkreten Vorstellungen identifizieren („10 25 MIPS-Jahre“,<br />

“Wahrscheinlichkeit kleiner als 10 −25 ”).<br />

Die Begriffe haben aber auch eine streng formale<br />

Definition in der Komplexitätstheorie. (→ Tafel)<br />

4.3: Theorie: Die Sicherheit eines PZBGs als Stromchiffre – 65 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

PZBG (Definition)<br />

Ein Pseudozufallsbitgenerator (PZBG) ist eine Familie<br />

von effizient berechenbaren Funktionen<br />

mit l(k) ≥ k.<br />

f k : {0, 1} k → {0, 1} l(k)<br />

Intention: Nimm einen „kurzen“ k-bit Schlüssel als Input<br />

für f , um einen „langen“ l(k)-bit Schlüsselstrom zu<br />

erzeugen. In der Regel ist l(k) ≫ k.<br />

4.3: Theorie: Die Sicherheit eines PZBGs als Stromchiffre – 66 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

PZBG (Angreifer)<br />

Ein Angreifer auf einen PZBG ist ein effizienter<br />

Algorithmus, der einen l(k)-bit Schlüsselstrom als<br />

Eingabe hat und ein Bit ausgibt.<br />

Sei x 0 ∈ {0, 1} l(k) ein mit dem PZBG unter einem<br />

zufälligen Schlüssel erzeugter Schlüsselstrom,<br />

x 1 ∈ {0, 1} l(k) sei das Ergebnis von l(k) unabhängigen<br />

Würfen mit einer fairen Münze.<br />

Der Vorteil eines Angreifers (auf einen PZBG) ist<br />

∣ Pr[A gibt „0“ aus|x 0] − Pr[A gibt „0“ aus|x 1 ]<br />

∣ .<br />

4.3: Theorie: Die Sicherheit eines PZBGs als Stromchiffre – 67 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

PZBG (Definition der Sicherheit)<br />

Ein PZBG ist sicher, wenn es keinen effizienten Angreifer<br />

gibt, der einen signifikanten Vorteil erreicht.<br />

Intention: Der Vorteil gibt an, ob man zwischen einem<br />

pseudozufälligen und einem zufälligen Schlüsselstrom<br />

unterscheiden kann. Bei einem sicheren PZBG soll dies<br />

eben praktisch unmöglich sein.<br />

4.3: Theorie: Die Sicherheit eines PZBGs als Stromchiffre – 68 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

PZBGs aus PZBGs<br />

Sei λ ≥ 0. Wir definieren eine Familie {f λ k } k∈IN von<br />

Funktionen<br />

f λ k : {0, 1} k → {0, 1} k+λ ,<br />

mit Hilfe einer Familie {f k } k∈IN von Funktionen<br />

f k : {0, 1} k → {0, 1} k+1 .<br />

4.3: Theorie: Die Sicherheit eines PZBGs als Stromchiffre – 69 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

PZBGs aus PZBGs (2)<br />

Algorithmus zur Berechnung von f λ k :<br />

Eingabe: (x 1 , . . . , x k ) ∈ {0, 1} k und λ ≥ 0.<br />

Ausgabe: (z 1 , . . . , z k+λ ) ∈ {0, 1} k .<br />

Für i := 1 bis λ:<br />

Berechne (z i , x 1 , . . . , x k ) := f k (x 1 , . . . , x k ).<br />

Setze (z λ+1 , . . . , z λ+k ) := (x 1 , . . . , x k ).<br />

4.3: Theorie: Die Sicherheit eines PZBGs als Stromchiffre – 70 –


Stefan Lucks Krypto und Mediensicherheit (2009) 4: <strong>Stromchiffren</strong><br />

Das „Ein-Bit-ist-genug Theorem“<br />

Satz 4 (Ein-Bit-ist-genug)<br />

Sei λ = λ(k) ≥ 0 durch ein Polynom in k beschränkt.<br />

Dann gilt:<br />

Beweis:<br />

(→ Tafel)<br />

a) Wenn {f k } k∈IN effizient berechenbar ist, dann<br />

ist auch {fk λ} k∈IN effizient berechenbar.<br />

b) Wenn {f k } k∈IN sicher ist, dann ist auch<br />

{fk λ} k∈IN sicher.<br />

4.3: Theorie: Die Sicherheit eines PZBGs als Stromchiffre – 71 –

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!