4: Stromchiffren
4: Stromchiffren
4: Stromchiffren
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 –