Ideale Blockchiffren
Designziel / Konstruktion eines idealen Blockchiffre:
•F ¨ur jedesk∈Kw ¨ahle fk∈S(An)gleichverteilt zuf ¨allig und definiereE(k,·) := fk.
•E hat dann keine besondere (mathematische) Struktur, die durch einen Angreifer ausgenutzt werden kann.
Problem: Algorithmisch nicht praktikabel / machbar.
•Eine Beschreibung beliebiger Elemente ausS(An)ben ¨otigt mindestenslog2(#S(An))Bits f ¨ur jedes Element. Es gilt log2(#S(An))≥#An(log2(#An)−1/log(2)). Zu groß!
•Beliebige Elemente ausS(An)k ¨onnen daher im Prinzip nur durch die Angabe aller Urbild-Bild Paare beschrieben werden.
•Ebenfalls zu vielek!
3 18. Oktober 2007
Ideale Blockchiffren
Blockchiffren in der Praxis:
•Man beschr ¨ankt sich auf eine relativ gesehen kleine Teilmenge vonS(An), welche als Ver- und Entschl ¨usselungsfunktionen vorkommen (#Anviele).
•Diese Teilmenge muß durch den Schl ¨usselkalgorithmisch (effizient) definierbar sein, d.h. auskmuß sich effizient die FunktionE(k,·)bestimmen lassen, und die Berechnung von Bildwerten unterE(k,·)muß ebenfalls effizient m ¨oglich sein.
•Teilmenge erfordert also eine ganz spezielle Beschreibung, soll aber trotzdem m ¨oglichst
”zuf ¨allig ausS(An)gew ¨ahlt aussehen“.
Blockchiffren
Def: Eine Blockchiffre mit Blockl ¨angenist ein symmetrisches Verschl ¨usselungssystem mitM = C = AnundAendlich.
Prop: Die AlgorithmenE undD einer Blockchiffre definieren bijektive Funktionen.
Bew: WegenD(k,E(k,m)) = mwird keinen zwei Nachrichten der gleiche Chiffretext zugeordnet. WegenC = MundAendlich wird jeder Nachricht daher genau ein Chiffretext zugeordnet.
BezeichnetS(An)die Menge aller bijektiven Abbildungen
(Permutationen) vonAnin sich, so gilt alsoE(k,·),D(k,·)∈S(An).
Weiter erhalten wir AbbildungenK→S(An),k7→E(k,·)bzw.
k7→D(k,·).
1 18. Oktober 2007
Blockchiffren
Beispiele:
•Die affin-linearen Chiffren (historisch).
•Substitutionchiffren (definiert durch koordinatenweise Anwendung eines Elements ausS(A)aufAn, historisch).
•DES (Data Encryption Standard, 1977, veraltet).
•AES (Advanced Encryption Standard, 2001, aktuell).
One-Time Pad
Entspricht der einmaligen Anwendung einer allgemeinen, zuf ¨allig gew ¨ahlten Permutation ausS({0,1}n). Liefert daher ein
”Fragment“
eines idealen Blockchiffre.
Vernam’s One-Time Pad (1917) ist wie folgt definiert:
•M = C = K ={0,1}n.
•c =E(k,m) := m⊕k(bitweises XOR = bitweise Addition inZ/2Z).
•m =D(k,c) := c⊕k.
•kwird zuf ¨allig gew ¨ahlt und nur einmal (!) verwendet.
Known-Plaintext Angriff liefertk = m⊕c. Unsicher unter mehrfacher Verwendung vonk.
Aber: Unter einmaliger Anwendung vollkommen sicher!
7 18. Oktober 2007
One-Time Pad
Sicherheit durch Shannon bewiesen (1949).
Problem:
•Hoher Schl ¨usselverbrauch, daher ineffizient.
•Wie Schl ¨ussel erzeugen?
Wurde angeblich f ¨ur die Verbindung zwischen Washington und Moskau verwendet (und andere milit ¨arische/diplomatische Anwendungen).
Das One-time pad ist ein Spezialfall der Chiffre von Vign ´ere, wenn nur einmal verwendet.
8 18. Oktober 2007
Ideale Blockchiffren
Idealisierte Emulation einer zuf ¨allig gew ¨ahlten Funktion aus f ∈S(An) durch ein Orakel:
•Algorithmen befragen das Orakel nach Funktionswerten f (m).
•Nach Eingabe vonmw ¨ahlt das Orakel einen zuf ¨alligen Wertc, speichert f (m) = cin einer Liste und liefertcals f (m)zur ¨uck.
•Falls f (m)ein zweites Mal erfragt wird, verwendet das Orakel den Wert aus der Liste.
Genauere Erl ¨auterung von
”zuf ¨allig ausS(An)gew ¨ahlt aussehen“:
Ein AngreiferAkommuniziert mit OrakelOim folgenden Spiel.
•Ow ¨ahlt ein zuf ¨alliges Bitbund ein zuf ¨alligesk.
•Danach w ¨ahltAeine Reihe beliebigermiund erfragt die FunktionswerteE(k,mi)und f (mi)vonO.
5 18. Oktober 2007
Ideale Blockchiffren
•Oliefert die die Antworten(E(k,mi),f (mi))fallsb = 0und ( f (mi),E(k,mi))fallsb = 1.
•Agewinnt, wennAmit Wahrscheinlichkeit6= 1/2den Wert vonb herausfinden kann.
Wenn es keinen erfolgreichen Angreifer gibt, dann k ¨onnen die FunktionenE(k,·)f ¨ur zuf ¨allig gew ¨ahltesknicht von echt zuf ¨allig gew ¨ahlten Funktionen unterschieden werden.
Entsprechend k ¨onnen auch keine speziellen Eigenschaften in der Definition vonE durch Angreifer ausgenutzt werden.
Asoll hierbei nat ¨urlich wieder polynomielle Laufzeit in der Schl ¨ussell ¨ange vonkhaben.
6 18. Oktober 2007
Perfekte Sicherheit
Bew Prop: Nach dem Satz von Bayes gilt
Pr(m = m0|c = c0) Pr(c = c0) = Pr(c = c0|m = m0) Pr(m = m0).
WegenPr(m = m0|c = c0) = Pr(m = m0)>0nach Voraussetzung folgt durch K ¨urzenPr(c = c0|m = m0) = Pr(c = c0)f ¨ur jedesm0∈Mundc0∈C.
WegenPr(c = c0)>0istc0Chiffretext f ¨ur jedesm0. Daher gibt es ein k0∈K mitc0=E(k0,m0).
Bew Thm:
⇒. Die Existenz vonk0und die GleichungC ={E(k0,m0)|k0∈K}
folgen aus der Prop. Gibt esm0undk16= k2mitE(k1,m0) =E(k2,m0), so folgt damit#C<#K im Widerspruch zur Annahme. Also mußk1= k2 gelten, und die Eindeutigkeit vonk0ergibt sich.
F ¨urm0∈Mundc0∈Cseik(m0,c0)∈K mitE(k(m0,c0),m0) = c0.
11 18. Oktober 2007
Perfekte Sicherheit
Dann gilt
Pr(m = m0|c = c0) Pr(c = c0) = Pr(c = c0|m = m0) Pr(m = m0)
= Pr(c = c0undm = m0)
= Pr(k = k(m0,c0)undm = m0)
= Pr(k = k(m0,c0)) Pr(m = m0) unter Verwendung der Definitionen und der Annahme, daßmundk unabh ¨angig sind. AusPr(m = m0|c = c0) = Pr(m = m0)>0ergibt sich daraus durch K ¨urzen
Pr(k = k(m0,c0)) = Pr(c = c0).
Die rechte Seite ist unabh ¨angig vonm0. Auf der linken Seite ist jedes Element vonK von der Formk(m1,c0)f ¨ur einm1∈M, denn
m7→k(m,c0)ist injektiv und wegen#M = #Kauch surjektiv. Folglich sind alle Wahrscheinlichkeiten gleich und betragen1/#K = 1/#C.
Perfekte Sicherheit
Theorie durch Shannon (1949). Sicherheit in Anwesenheit von Angreifern mit unbeschr ¨ankter Rechenleistung.
Modell:
1. Betrachten Klartextemals Zufallsvariablen mit Werten inM.
(”HEUTE“ kommt h ¨aufiger vor als
”XZYQR“.)
2. Betrachten Schl ¨usselkals Zufallsvariablen mit Werten inK. (Die Schl ¨ussel werden irgendwie zuf ¨allig gew ¨ahlt.)
3. Annahme:mundksind unabh ¨angig.
4. Definieren Chiffretexte als Zufallsvariablec =E(k,m).
Als Wahrscheinlichkeitsraum k ¨onnen wirM×Knehmen.
K ¨onnenPr(c = c0)>0f ¨ur allec0∈Cannehmen (sonstCverkleinern), ebensoPr(m = m0)>0f ¨ur allem0∈M.
9 18. Oktober 2007
Perfekte Sicherheit
Def: Ein Verschl ¨usselungssystem heißt perfekt sicher, wenn Pr(m = m0|c = c0) = Pr(m = m0)f ¨ur allem0∈M,c0∈Cgilt.
Kenntnis vonc = c0ergibt also keine weiteren Hinweise ¨uber den Wert vonm.
Prop: F ¨ur ein perfekt sicheres Verschl ¨usselungssystem gilt#K≥#C.
Genauer gibt es f ¨ur jedesm0∈M,c0∈Ceink0∈Kmitc0=E(k0,m0).
Thm (Shannon): Ein Verschl ¨usselungssystem mit#K = #C = #Mist genau dann perfekt sicher, wennPr(k = k0) = 1/#Kf ¨ur allek0∈Kund wenn es f ¨ur jedesm0∈M,c0∈Cgenau eink0∈K gibt mit
c0=E(k0,m0).
Folg: Das One-Time Pad ist bei gv. Schl ¨usselwahl perfekt sicher.
Bemerkungen
In einem perfekt sicheren Verschl ¨usselungssystem erh ¨alt ein Angreifer aus dem Chiffretext keine Information ¨uber den Klartext oder den Schl ¨ussel.
F ¨ur nicht perfekt sichere Systeme hat Shannon die folgenden Fragen untersucht (mehrfache Verschl ¨usselung mit dem gleichen Schl ¨ussel):
1. Seic =E(k,m). IstD(k1,c)ein
”sinnvoller“ Klartext (z.B. deutsch) undk16= k, so heißtk1Nebenschl ¨ussel. Wieviel Nebenschl ¨ussel gibt es durchschnittlich, basierend auf der Redundanz der Klartexte?
Gibt es Nebenschl ¨ussel, so kann ein Angreifer den Klartext nicht eindeutig reproduzieren.
15 18. Oktober 2007
Bemerkungen
2. Wieviel Chiffretext ist durchschnittlich erforderlich, damit es keine Nebenschl ¨ussel mehr geben kann?
Dann kann ein Angreifer den Schl ¨ussel bestimmen.
F ¨ur Details siehe Buch von D. Stinson.
16 18. Oktober 2007
Perfekte Sicherheit
⇐. Sei wiederk(m0,c0)∈KmitE(k(m0,c0),m0) = c0. Dann gilt Pr(c = c0) =
∑
m1∈M
Pr(m = m1undk = k(m1,c0))
=
∑
m1∈M
Pr(m = m1) Pr(k = k(m1,c0))
=
∑
m1∈M
Pr(m = m1)(1/#K)
= 1/#K
unter Verwendung der Definitionen und der Annahme. ¨Ahnlich wie in⇒ergibt sich damit
Pr(m = m0|c = c0) = Pr(k = k(m0,c0)) Pr(m = m0)/Pr(c = c0)
= (1/#K) Pr(m = m0)/(1/#K)
= Pr(m = m0).
13 18. Oktober 2007
Perfekte Sicherheit
Bew Folg: Nach Definition des One-Time Pads gilt#M = #K = #Cund Pr(k = k0) = 1/#K. F ¨ur jedesmund jedescistk := c⊕mein Schl ¨ussel mitc = k⊕m =E(k,m). Giltc =E(k1,m) =E(k2,m), so folgtk1⊕m = k2⊕m und daraus durch Addition vonmauchk1= k2. Daher gibt es zu jedem mund jedemcgenau einen Schl ¨usselkmitc =E(k,m). Die
Voraussetzungen des Thm (Shannon) sind also erf ¨ullt..
14 18. Oktober 2007
Konsequenzen
F ¨ur ein perfekt sicheres Verschl ¨usselungsystem gilt
notwendigerweise#K≥#C, so daß f ¨urK ={0,1}rundC ={0,1}sdie Schl ¨ussell ¨angermindestens gleich der Chiffretextl ¨angessein muß.
Man kann also keine perfekte (informationstheoretische) Sicherheit erreichen, wenn man viel Klartext mit einem kleinen Schl ¨ussel verschl ¨usseln will bzw. wenn man ein praktikables Verschl ¨usselungs- system haben will.
Man kann aber versuchen, komplexit ¨atstheoretische Sicherheit zu erreichen.
Die Philosophie hierbei ist, daßE(k,·)
”sich von einer zuf ¨alligen Funktion“ nicht in vertretbarer Laufzeit unterscheiden lassen sollte.
17 18. Oktober 2007
Entropie
Schl ¨usselkonzept zu Shannon’s Untersuchung ist die Entropie einer Zufallsvariablen.
Sind diexif ¨ur1≤i≤ndie Werte der ZVX, so wird definiert H(X ) =−∑Pr(X =xi)>0Pr(X = xi) log2(Pr(X = xi)).
−log2(Pr(X = xi))ist L ¨ange in Bits der Information, daßxieintritt.
AlsoH(X )erwartete (durchschnittliche) Information oder Unsicherheit.
0≤H(X )≤log2(n),
H(X ) = 0f ¨urn = 1,H(X ) = log2(n)f ¨urPr(X = xi) = 1/n.
...
Beispiel: W ¨urfeln mit fairem und
”frisiertem“ W ¨urfel.
Exhaustive Search Aufwand≈2H(k)statt#K.