Stromchiffren
Eigenschaften synchroner Stromchiffren:
•Sender/Empf ¨anger m ¨ussen synchronisiert sein.
•Keine Fehlerfortpflanzung.
•Anderung von Chiffretext¨ cim ¨oglich.
Eigenschaften selbst-synchroner Stromchiffren:
•Nach ¨Ubertragungsfehler Selbstsynchronisation, wennt konsekutive Chiffretexte richtig ¨ubertragen werden.
•Beschr ¨ankte Fehlerfortpflanzung in maximaltfolgende Entschl ¨usselungen.
•Anderung von Chiffretext¨ cileichter erkennbar als bei synchronen Stromchiffren, Einf ¨ugen/Ausschneiden voncischwerer erkennbar.
In beiden F ¨allen auf Datenauthentizit ¨at und -integrit ¨at extra achten.
3 29. Oktober 2008
Schl ¨ usselstromerzeugung
F ¨ur synchrone Stromchiffren wird ein Schl ¨usselstrom ben ¨otigt. Darf nicht von einer zuf ¨alligen Bitfolge effizient unterscheidbar sein.
→Pseudozufallsbitgeneratoren.
•Nimmt kurze Eingabe (seed) und produziert lange,
”zuf ¨allige“
Ausgabe.
•Statistische Tests von Algorithmen durchf ¨uhrbar.
•Kryptographisch sicher, wenn
”alle statistischen Tests“ bestanden werden.
Konstruktionen f ¨ur Schl ¨usselstromerzeugung:
•Linear Feedback Shift Register (LFSR, nicht sicher).
•Lineare Kongruenzgeneratoren (nicht sicher).
•Ausgabe von Blockchiffren wie in OFB, CTR (vermutlich sicher).
•...
4 29. Oktober 2008
Stromchiffren
Verschl ¨usseln eines Stroms von Datenmi(Bits/Bytes) mithilfe eines Schl ¨usselstromskiin die Chiffretexteci.
Idee: Im One-Time Pad den zuf ¨alligen Schl ¨ussel durch eine
pseudo-zuf ¨allige Folgekiersetzen, welche vom Schl ¨usselkabh ¨angt.
•Aus kurzem Schl ¨usselklangen Schl ¨ussel(. . . ,ki, . . .)machen.
•Keine perfekte Sicherheit.
•Komplexit ¨atstheoretische Sicherheit, wenn pseudo-zuf ¨allige Folge nicht von einer echt zuf ¨alligen Folge effizient unterschieden werden kann.
Aber: Niemals gleichen Schl ¨usselstrom f ¨ur verschiedene Nachrichten verwenden! (Fehler wird/wurde in Windows gemacht ...)
1 29. Oktober 2008
Stromchiffren
Synchrone Stromchiffren:kiabh ¨angig vonk, unabh ¨angig vonmi.
•σi+1= f (σi,k)(Zust ¨ande),
•ki= g(σi,k),
•ci=E(ki,mi),mi=D(ki,ci).
Selbst-synchrone Stromchiffren:kiabh ¨angig vonkundci.
•σi= (ci−t, . . . ,ci−1)f ¨ur ein festest,
•ki= g(σi,k),
•ci=E(ki,mi),mi=D(ki,ci).
MeistensE(x,y) =D(x,y) = x⊕y.
Wichtiges Beispiel: OFB, CTR, CFB f ¨ur Blockchiffren.
2 29. Oktober 2008
Lineare Kongruenzgeneratoren
Lineare Kongruenzgeneratoren.
•Rechnen inZ/(m)bzw. in{0, . . . ,m−1}modulom.
•σi+1= aσi+ b mod m.
Eigenschaften:
•Software-geeignet.
•Viel f ¨ur nicht kryptographische Anwendungen benutzt.
•Allerdings nicht kryptographisch sicher, da leicht vorhersagbar.
7 29. Oktober 2008
Ausgabe von Blockchiffren
Im OFB, CTR und CFC Mode wird der Schl ¨usselstrom als Ausgabe eines Blockchiffres definiert.
Die Philosophie hier ist ungef ¨ahr:
Verh ¨alt sich der Blockchiffre wie eine zuf ¨allige Permutation, so ergibt dies einen zuf ¨alligen Schl ¨usselstrom.
8 29. Oktober 2008
Lineare Feedback Shift Register
Zustands- bzw. Schl ¨usselstromerzeugung durch Lineare Feedback Shift Register (LFSR):
•BetrachtenσiausF2.
•Startwerteσ0, . . . ,σl−1.
•Rekursion:σj= a1σj−1+· · ·+ alσj−l.
Maximale Periode2l−1f ¨ur geeignete Wahl deraim ¨oglich.
(xl+ a1xl−1+· · ·+ alprim und Nullstelle ist Erzeuger von(F2l)×. ) Lineare Komplexit ¨at einer Folgeσ0,σ1, . . .: Kleinstesl, f ¨ur das die Folge durch ein LFSR mit geeignetena1, . . . ,alentsteht.
LFSR’s sind schnell in Hardware!
5 29. Oktober 2008
Lineare Feedback Shift Register
Die Ausgabe eines LFSR ist leicht vorherzusagen (dieaik ¨onnen mit dem Berlekamp-Massey Algorithmus aus wenigenσiberechnet werden).
Daher nicht f ¨ur kryptographische Zwecke geeignet.
L ¨osung (teilweise): Mehrere LFSR nicht-linear kombinieren.
Brauchen mindestens:
•Große Periode.
•Große lineare Komplexit ¨at.
•Gute statistische Eigenschaften.
Sicherheit bei der Verwendung von LFSR’s dann h ¨aufig trotzdem etwas vage ...
6 29. Oktober 2008
RC4 Bemerkungen
Untersuchungen der beiden Teilschritte von RC4 in den letzten 15 Jahren haben immer bessere Angriffe produziert, wobei die Initialisierung besondere Schw ¨achen aufweist.
⇒Sicherheit von RC4 fragw ¨urdig ...
Als Folge der Schw ¨ache der Initialisierung komplett unsicher bei folgender Verwendung (wie in WEP):
•Schl ¨usselaibesteht aus festem, geheimen Schl ¨ussel und variablem IV.
•Das erste (die ersten) Ausgabeworte des Schl ¨usselstroms sind bekannt.
11 29. Oktober 2008
RC4 Bemerkungen
Bessere Verwendung von RC4:
•Schl ¨usselaiper Hashfunktion aus festem, geheimen Schl ¨ussel und variablem IV ableiten.
•Die erstennWorte des Schl ¨usselstroms verwerfen (n = 768, bessern = 3072).
Vorschl ¨age f ¨ur neue Stromchiffren, die RC4 ersetzen k ¨onnten:
•eSTREAM Projekt in ECRYPT
12 29. Oktober 2008
RC4
RC = Ron’s Cipher nach Ron Rivest (Mitgr ¨under von RSA).
RC4 sehr schneller Stromchiffre:
•1987 entwickelt, 7 Jahre geheim,
•1994 anonym im Internet ver ¨offentlicht,
•kommerziell (Lizenzgeb ¨uhren).
In RC4 wird im folgenden speziellm = 256und variablesl≤256 verwendet. Klartext und Schl ¨usselstrom werden geXORed.
Ist weit verbreitet (Oracle SQL, Windows, SSL, IEEE 802.11 WLAN Standard, . . . )
Hat gewisse Sicherheitsschw ¨achen (WEP in IEEE 802.11, Windows).
9 29. Oktober 2008
RC4
Alle Additionen in{0., . . .,m−1}modulom:
•i,j∈ {0., . . . ,m−1},S0, . . . ,Sm−1∈ {0., . . . ,m−1}.
•Schl ¨usselkbesteht ausai∈ {0., . . . ,m−1}f ¨ur0≤i≤l−1.
•Sollte in der Praxis hinreichend zuf ¨allig und geheim sein. (!) Initialisierung (geheimer Schl ¨ussel⇒initiale PermutationS):
•Sν←νf ¨ur0≤ν≤m−1.
• j←0.
•F ¨uri = 0, . . . ,m−1: j← j + Si+ ai mod l, vertauscheSiundSj. Neues Schl ¨usselstromglied berechnen (anhand vom aktuellenS):
•Zum Anfangi←0, j←0.
•Dann:i←i + 1, j← j + Si,SiundSjvertauschen,t←Si+ Sj.
•AusgabeSt(liefert
”zuf ¨alligen“ Wert aus{0, . . . ,m−1}).
10 29. Oktober 2008