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 7. November 2006
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 7. November 2006
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).
•σ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 7. November 2006
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.
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 7. November 2006
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 ...
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 nicht nur bei Ver- schl ¨usselung (Unterschriften, Pseudozufallszahlen, W ¨orterb ¨ucher ...)
11 7. November 2006
Sicherheitsmerkmale
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, 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 7. November 2006
RC4
Alle Berechnungen modulom:
•i,j∈Z/(m),S0, . . . ,Sm−1∈Z/(m).
•Schl ¨usselkbesteht ausai∈Z/(m)f ¨ur0≤i≤l−1.
•Sollte in der Praxis einen IV 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.
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 7. November 2006
Hashfunktionen
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.
Effizient und signifikant
Effiziente Laufzeit und signifikante Erfolgswahrscheinlichkeit eines AlgorithmusAkann man quantitativ oder qualitativ angeben.
Quantitativ: F ¨ur eine speziell vorgelegte Situation.
Effizient=Laufzeit≤240Bitops, signifikant= Erfolgswahrscheinlichkeit≥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 7. November 2006
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.
Hashsimulation durch Orakel
Bei einer Anfrage nach dem Hashwert vonxgeht das Orakel wie folgt vor: Das Orakel ¨uberp ¨uft, obh(x)schon einmal erfragt und berechnet wurde, wenn
•ja, dann wird dieser Wert zur ¨uckgegeben.
•nein, dann wird ein zuf ¨alliger Wert zur ¨uckgegeben und alsh(x) gespeichert.
Insofern wird wirklich eine zuf ¨allige Funktionh : X→Zdefiniert.
Eine Orakelanfrage z ¨ahlt in der Laufzeit eines Algorithmus als ein Schritt (konstante Zeit). Die Anzahl der Orakelanfragen wird
¨ublicherweise angegeben und sollte polynomiell sein.
19 7. November 2006
Angriffe im Zufallsorakelmodell
Seih : X→Zmit#Z = n.
Angriff auf Einweg-Eigenschaft vonh:
•Angreifer berechnetsHashwerte durch Anfragen an das Orakel.
•Mit Wahrscheinlichkeit(1−1/n)sist Zielwertynicht darunter.
•Mit Wahrscheinlichkeit(1−(1−1/n)s) + (1−1/n)s/nkann er das richtige Urbildxraten.
Angriff auf die schwache Kollisonsresistenz vonh:
•Ahnlich wie bei der Einweg-Eigenschaft.¨
Aufgrund des Zufallsorakelmodells gibt es auch keine Strategien, die eine bessere Erfolgswahrscheinlichkeit haben w ¨urden.
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 7. November 2006
Zufallsorakelmodell
Auch Random Oracle Model (RO). Ist theoretische Herangehensweise.
Hashfunktionen werden idealisiert als zuf ¨allige Funktionen modelliert.
•Erm ¨oglicht und vereinfacht Untersuchungen und Sicherheitsbeweise.
Man kann eine zuf ¨allige Hashfunktion nicht effizient als ganzes beschreiben. Realisierung/Simulierung durch ein Orakel.
Angriffe im Zufallsorakelmodell
Angriff auf die Kollisionsresistenz vonh:
•Angreifer berechnets≥1.18√
nHashwerte durch Anfragen an das Orakel.
•Befindet sich unter den Hashwerten eine Kollision, so wird diese ausgegeben.
Nach dem Geburtstagsparadoxon ist die Wahrscheinlichkeit hierf ¨ur>1/2. Speicherbedarf ca.√n.
Zum Speichern der Hashwerte eine Tabelle anlegen und nach den erstenlog2(√
n)Bits der Hashwerte indizieren.
Beim Suchen direkt im entsprechenden Tabellenfeld nachschauen, ob bereits Hashwert definiert bzw. das zugeh ¨origexeingetragen wurde.
23 7. November 2006
Angriffe im Zufallsorakelmodell
Schreiben = 2k.
•Der Beitrag(1−1/n)s/nist vernachl ¨assigbar ink, unabh ¨angig vons.
•F ¨ur einen inkpolynomiellen Algorithmus mußspolynomiell sein.
Wegen(1−1/n)s≥1−s/nist1−(1−1/n)s≤s/n. Dies ist ebenfalls vernachl ¨assigbar ink.
•Damit ist die Erfolgswahrscheinlichkeit vernachl ¨assigbar, wenns nur polynomiell ist.
•Umgekehrt sind ungef ¨ahr2kOrakelanfragen erforderlich, um eine konstante Erfolgswahrscheinlichkeit zu haben.
Folgerung: Eine Hashfunktion im Zufallsorakelmodell ist eine Einwegfunktion und schwach kollisionsresistent.
21 7. November 2006
Geburtstagsparadoxon
Thm: W ¨ahlen wir ausn≥216Elementenk≥1.18√
nzuf ¨allig mit Zur ¨ucklegen aus, so haben wir mit Wahrscheinlichkeit>1/2 mindestens ein Element mindestens zweimal ausgew ¨ahlt.
Bew: SeiXidas Ereignis, daß dasi-te gew ¨ahlte Element nicht mit einem der vorherigen ¨ubereinstimmt. Dann gilt
Pr(Xi|X1, . . . ,Xi−1) = 1−(i−1)/nundPr(X1, . . . ,Xk) =∏ki=1(1−(i−1)/n).
Aus1 + x≤exfolgt∏ki=1(1−(i−1)/n)≤∏ki=1e−(i−1)/n≤e−k(k−1)/(2n). F ¨ur das angegebenenundkgilte−k(k−1)/(2n)<1/2. Somit erhalten wir eine Doppelauswahl mit Wahrscheinlichkeit>1/2.
Auf der anderen Seite ergibt sich aus∏ki=1(1−(i−1)/n)
≥(1−k/n)k≥1−k2/ndie obere Schrankek2/nf ¨ur die Wahrscheinlichkeit einer Doppelauswahl.