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 30. Oktober 2007
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).
•...
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.
1 30. Oktober 2007
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.
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 30. Oktober 2007
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 30. Oktober 2007
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 30. Oktober 2007
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 30. Oktober 2007
Integrit ¨at und Authentizit ¨at
Werden nicht durch Verschl ¨usselung bereitgestellt!
•Integrit ¨at Problem bei Verschl ¨usselung von nicht redundanten Daten (komprimierte Dateien, geheime Schl ¨ussel).
Idee: Geeignete kryptographische Pr ¨ufsummen mitschicken.
Davon gibt es zwei Typen:
•Manipulation Detection Codes (MDC), Hashfunktionen ohne Schl ¨ussel. Liefert Fingerprint oder Message Digest.
•Message Authentication Codes (MAC), Hashfunktionen mit Schl ¨ussel.
Hashfunktionen haben vielfache Verwendung (bei Verschl ¨usselung, Unterschriften, Pseudozufallszahlen, W ¨orterb ¨uchern ...)
11 30. Oktober 2007
Sicherheitsmerkmale von Hash Fnktn
SeienX,Y Mengen und f : X→Y. Bildwerte f (x)sollen mit einem Algorithmus effizient berechenbar sein.
Aufgaben:
1. (Urbild berechnen) Zuy∈Y einx∈X mit f (x) = ybestimmen.
2. (Zweites Urbild berechnen) Zux∈Xeinx′∈Xmitx′6= xund f (x) = f (x′)bestimmen.
3. (Kollision finden)x,x′∈Xmitx6= x′und f (x) = f (x′)bestimmen.
Def: Eine Funktion heißt Einwegfunktion, wenn es keinen effizienten Algorithmus gibt, der Aufgabe 1 mit signifikanter Wahrscheinlichkeit l ¨ost.
Def: Eine Funktion heißt schwach kollisionsresistent
(kollisionsresistent), wenn es keinen effizienten Algorithmus gibt, der Aufgabe 2 (Aufgabe 3) mit signifikanter Wahrscheinlichkeit l ¨ost.
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 = 256verwendet. 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).
9 30. Oktober 2007
RC4
Alle Berechnungen 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 einen IV/Nonce enthalten. (!) Initialisierung:
•Sν←νf ¨ur0≤ν≤m−1.
• j←0.
•F ¨uri = 0, . . . ,m−1: j← j + Si+ ai mod l, vertauscheSiundSj. Neues Schl ¨usselstromglied berechnen:
•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}).
Zur ¨ uck zu Einweg- und
kollisionsresisten Funktionen
Um von Einweg- und kollisionsresistenten Funktionen im qualitativen Sinn sprechen zu k ¨onnen, betrachtet man eine Familie von
Funktionen fk: Xk→Ykundk→∞.
Es soll einen Algorithmus geben, welcher Bildwerte fk(x)nach Eingabe von1k,xeffizient berechnet.
Auf der anderen Seite soll es keinen Algorithmus geben, der Urbilder oder Kollisionen mit signifikanter Wahrscheinlichkeit unter Eingabe vonk,ybzw.x′effizient berechnen kann.
Hieraus folgen beispielsweise Gr ¨oßenbedingungen anXkundYkin Abh ¨angigkeit vonk.
15 30. Oktober 2007
Hash- und Kompressionsfunktionen
Def: SeienX,Y,ZMengen mit#Z<#Y<∞und#X =∞. Eine Hashfunktion ist eine Funktionh : X→Z.
Eine Kompressionsfunktion ist eine Funktionh : Y→Z.
MeistensX ={0,1}∗,Y ={0,1}m,Z ={0,1}nmitm>n.
Sind nicht injektiv!
Wieder Forderung:
Bildwerte von Hash- und Kompressionsfunktionen sollen effizient durch Algorithmen nach Eingabe der Argumente berechnet werden k ¨onnen.
Im folgenden verstehen wir unter Hashfunktionen auch Kompressionsfunktionen.
16 30. Oktober 2007
Effizient und signifikant
Effiziente Laufzeit und signifikante Erfolgswahrscheinlichkeit eines AlgorithmusAkann man quantitativ oder qualitativ angeben.
Quantitativ: F ¨ur eine speziell vorgelegte Situation, z.B.
effizient=Laufzeit≤240Bitops, signifikant=Erfolgswahr- scheinlichkeit≥2−40...
Qualitativ: Gemessen in der Bitl ¨angekder Eingabe vonA.
Dann effizient=Laufzeit polynomiell ink, signifikant= Erfolgswahrscheinlichkeit nicht vernachl ¨assigbar ink.
Wenn man in der Kryptographie sagt, daß es keinen inkeffizienten AngreiferAmit signifikanter Erfolgswahrscheinlichkeit gibt, dann nennt mankh ¨aufig Sicherheitsparameter.
13 30. Oktober 2007
Polynomiell und vernachl ¨assigbar
Eine Funktiong :R≥0→Rheißt polynomiell (ink), wenn es ein PolynomP∈R≥0[x]undk0∈R≥0gibt, so daß|g(k)| ≤P(k)f ¨ur alle k≥k0.
Eine Funktiong :R≥0→Rheißt vernachl ¨assigbar (ink), wenn es f ¨ur jedes PolynomQ∈R≥0[x]eink0∈R≥0gibt, so daß|g(k)| ≤1/Q(k)f ¨ur allek≥k0.
14 30. Oktober 2007
Zwei Anwendungen
1. Paßworte:
•In der Paßwortdatei sind nur die Hashwerte der Paßw ¨orter gespeichert.
•Beim Einloggen wird der Hashwert des eingegeben Paßworts berechnet und mit dem gespeicherten verglichen.
•Paßwortdatei soll nicht unbedingt lesegesch ¨utzt sein⇒ Hashfunktion soll Einwegfunktion sein.
•Aber: Dictionary Angriffe (m ¨ogliche Paßworte ausprobieren und Hashwerte vergleichen).
2. Unterschriften:
•Nicht das Dokument, sondern nur den Hashwert unterschreiben.
•Angreifer soll kein zweites Dokument mit dem gleichen Hashwert berechnen k ¨onnen⇒Hashfunktion soll kollisionsresistent sein.
17 30. Oktober 2007