• Keine Ergebnisse gefunden

Feistel Netzwerke

N/A
N/A
Protected

Academic year: 2022

Aktie "Feistel Netzwerke"

Copied!
7
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Feistel Netzwerke

Bl ¨ocke in zwei gleiche H ¨alften auteilen:

mi= (Li,Ri).

Verschl ¨usseln:

Li= Ri−1

Ri= Li−1f (Ri−1,ki).

Entschl ¨usseln:

Li−1= Rif (Li,ki).

Ri−1= Li.

f muß nicht injektiv sein.

3 25. Oktober 2007

Substitutions-Permutationsnetzwerke

Block und Schl ¨ussel mit XOR verkn ¨upfen:

mi= mi−1ki.

Bl ¨ocke in mehrere Teilbl ¨ocke aufteilen:

mi= (mi,j)j.

Auf die Teilbl ¨ocke eine Substitutionschiffre anwenden:

•(πS(mi,j))j.

Die Bits der zusammengefaßten Teilbl ¨ocke permutieren:

mi+1P((πS(mi,j))j).

( Die PermutationπPwird in der letzten Runde aus Symmetriegr ¨unden nicht angewendet, daf ¨urmrundkr+1mit XOR verbunden. )

Entschl ¨usselung durch Invertierung dieser Runden.

Blockchiffren Designziele

Designziele:

•Konfusion, Verschleiern des Zusammenhangs zwischen Klar- und Chiffretext.

•Diffusion, Verteilen der Information im Klartext ¨uber den Chiffretext.

•Lawineneffekt, jedes Bit im Chiffretext soll von jedem Bit des Klartexts und des Schl ¨ussels abh ¨angen.

•Noch mehr: Jedes Bit des Chiffretext soll sich mit

Wahrscheinlichkeit1/2 ¨andern, wenn irgendein Bit des Klartexts oder des Schl ¨ussels ge ¨andert wird.

⇒soll sich wie eine zuf ¨allige Funktion verhalten.

1 25. Oktober 2007

Blockchiffren Konstruktion

Der Eingabeblock wird durch mehrfache Anwendung einer

Rundenfunktion bearbeitet. F ¨ur jede Runde wird ein Rundenschl ¨ussel anhand eines Schl ¨usselschemas erzeugt.

Die Rundenfunktionen stellt im allgemeinen kein sicheres

Verschl ¨usselungsverfahren dar, erst die mehrfache Anwendung ergibt die Sicherheit.

Bei den Rundenfunktionen werden im wesentlichen Feistel- und Substitutions-Permutationsnetzwerke unterschieden.

Diei-te Runde:mi= g(mi−1,ki).

(2)

DES

Nach dem letzten Feistelschritt werdenL16undR16vertauscht.

Dem gesamten Feistel Netzwerk wird eine Permutation IPS({0,1}64)vorgeschaltet undIP−1nachgeschaltet.

Dies hat keine kryptographische Bedeutung.

Zusammenfassend also:

1.IPauf Block anwenden:(L0,R0)←IP(m).

2.16Runden Feistel-Netzwerk.

3.R17L16undL17R16.

4.IP−1auf Block anwenden:cIP−1(L17,R17).

7 25. Oktober 2007

DES

Diekisind 48 Bit Schl ¨ussel und setzen sich aus einer Auswahl permutierter Bits auskzusammen:

1.kwird in zwei 28 Bit Bl ¨ocke aufgeteilt.

2. Diese werden in Abh ¨angigkeit der Rundenanzahl rotiert.

3. Aus den 56 Bit werden 48 gem ¨aß einer festen Regel ausgew ¨ahlt.

Schwache Schl ¨usselkmitE(k,·) =D(k,·):

•Linke und rechte H ¨alfte vonknur Einsen oder Nullen.

•Keine weiteren schwachen Schl ¨ussel bekannt.

Semi-schwache Schl ¨usselpaare(k,l)mitE(k,·) =E(l,·):

•6 sind bekannt.

Data Encryption Standard - DES

•Entwickelt um 1977

•Ist de-facto der internationale Standard f ¨ur Bankensicherheit.

•Vermutlich der am meisten analysierte kryptographische Algorithmus.

•Kurze Geschichte:

– Ausschreibung f ¨ur ein Verfahren durch NBS (heute NIST).

– Vorg ¨anger Lucifer bei IBM entwickelt (Feistel, Coppersmith).

– Untersuchung durch NSA und Ver ¨anderung derS-Boxen.

– Geheimhaltung der Design-Kriterien bis in die 90er (Hintert ¨ur-Spekulationen).

– 1990 Entdeckung der differentiellen Kryptanalyse, war NSA schon damals bekannt ...

5 25. Oktober 2007

DES

Blockl ¨ange 64 Bit, Schl ¨ussell ¨ange 56 Bit.

Feistel Chiffre mit 16 Runden.

Die Feistel-Funktion f :{0,1}32× {0,1}48→ {0,1}32ist definiert wie folgt:

1.Ri−1wird auf 48 Bit erweitert und permutiert, so daß 16 Bits doppelt auftreten (Diffusion, Lawineneffekt).

2. XOR mit dem Rundenschl ¨usselkiund Aufteilung in 8 Bl ¨ockeBivon je 6 Bit.

3. Anwendung derS-BoxSi:{0,1}6→ {0,1}4aufBi,Ci= Si(Bi).

4. Anwendung der PermutationPaufC1. . .C8, Ergebnis ist f (Ri−1,ki).

(3)

Advanced Encryption Standard - AES

Reaktion auf den auslaufenden DES (langsamen Tripel-DES).

1997 Ausschreibung vom NIST f ¨ur Nachfolger von DES.

•Blockchiffre mit 128 Bit Blockl ¨ange, 128/192/256 Bit Schl ¨ussell ¨ange.

•Offene Dokumentation, Referenzimplementierungen.

•Bedingung: nicht patentiert, frei verwendbar.

•Offener, internationaler Prozess.

•1999: F ¨unf Kandidaten: MARS, RC6, Rijndael, Serpent, Twofish.

•2000/2001: Rijndael wird AES.

Alle f ¨unf Kandidaten wurden als sicher eingestuft.

Wird von US Beh ¨orden benutzt (f ¨ur classified SECRET≥128, f ¨ur TOP SECRET≥192). Weite Verbreitung (zu erwarten).

11 25. Oktober 2007

Endliche K ¨ orper

Sind sehr wichtig in der Kryptographie und Codierungstheorie ( ¨Ubertragungsfehlerkorrektur). N ¨utzlich bei der Beschreibung von Rijndael.

Ein K ¨orper ist eine Menge, in der man wie inRoderCrechnen kann, also mit+,−,·, /.

Endliche K ¨orper haben nur endlich viele Elemente.

pPrimzahl. Modulo prechnen liefertZ/(p). Ist endlicher K ¨orperFp.

•Elemente dargestellt durch{0,1, . . .,p−1}.

•Beispiel p = 5:−1 = 4weil4 + 1 = 5 = 0inFp.

•Invertieren mit euklidischem Algorithmus zur ggT-Berechnung:

1 = ra + spimpliziertr = 1/a. Beispiel1 =−3·3 + 2·5, also−3 = 1/3.

DES

Sicherheit von DES:

•Probleme im wesentlichen nur wegen zu kleiner Schl ¨ussell ¨ange.

•Stark gegen differentielle Kryptanalyse.

•Differentielle und lineare Kryptanalyse brauchen>240Klartexte, nicht praktikabel.

•Brute-Force (256Schritte) praktikabel.

Hardware:

•Deep Crack (1998): 250.000 Dollar, ein Schl ¨ussel in 50h.

•Man kann davon ausgehen, daß es heute (bei den

entsprechenden Organisationen) Hardware gibt, die das viel schneller schafft.

9 25. Oktober 2007

DES

Sicherheit von DES:

•Exportversionen von DES haben sogar nur 40 Bit Schl ¨ussel!

•Triple-DES (EDE) mit ca. 112 Bit effektiver Schl ¨ussell ¨ange.

Moore’s Law: Rechenleistung verdoppelt sich alle 18 Monate.

Also alle 15 Jahre 10 Bit Reduktion der Sicherheit in Bezug auf die ben ¨otigte Zeit.

Heutzutage werden mindestens 128 Bit Schl ¨ussell ¨ange und Blockl ¨ange angestrebt.

(4)

Polynome

Primpolynom fK[x]: Kann nicht als Produkt nicht konstanter Polynome geschrieben werden (analog zur Primzahl).

x2−1nicht prim:x21 = (x1)(x + 1).

x2+ x + 1∈F2[x]prim.

Thm: Jedes Polynom kann in ein Produkt von Primpolynomen zerlegt werden. Die Zerlegung ist bis auf Multiplikation mit Konstanten eindeutig.

•Nicht eindeutig:x21 = (x1)(x + 1) = (2x2)(3x + 3)inF5[x].

Bew: ¨Ublicherweise in der Algebra.

15 25. Oktober 2007

Endliche K ¨ orper

K =Fp, fK[x]Primpolynom. InK[x]modulo f rechnen, ergibt K[x]/( f ). Ist endlicher K ¨orperFpnmitpnElementen.

•Primpolynome beliebigen Grads gibt es in Tabellen.

•Invertieren wieder mit euklidischem Algorithmus, jetzt f ¨ur Polynome mit Hilfe der Polynomdivision. Beispiel:K =F2,

f = x2+ x + 1,x·(x + 1) + f = 1. Alsox = 1/(x + 1)inF4.

•InK[x]/( f )gilt f (x) = 0.

Man schreibt h ¨aufigFpn=Fp[ζ]mit f (ζ) = 0.

Elemente inFpnk ¨onnen also durch Polynome vom Grad≤n−1inζ

¨uberFpdargestellt werden. Es gilt#Fpn= pn.

Polynome

Polynome ¨uber (endlichen) K ¨orpernK.

•Sind Ausdr ¨ucke der Forma0+ a1x + a2x2+· · ·+ arxr mit Koeffizienten aiKundxeiner

”Variablen“.

•Gleichheit zweier Polynome genau dann, wenn die Koeffizienten vorxigleich sind f ¨ur allei.

•+,−,·wie gewohnt und sinnvoll.

•Graddeg( f ) := rwenn f = a0+ a1x + a2x2+· · ·+ arxrundar6= 0.

deg( f )≤0: f heißt konstant.

Beispiel:

(x + 1)(x1) = x2+ xx1 = x2−1.

2x + 16= 2x + 2, x + 26= 2x + 2, x6= 0.

deg(x) = 1,deg(x2) = 2,deg(1) = 0,deg(0) =−∞.

13 25. Oktober 2007

Polynome

Menge der Polynome ¨uberK ist damit ein Ring (K ¨orper ohne/).

Wird mitK[x]bezeichnet.

Division mit Rest: F ¨ur f,gK[x]schreibe f = hg + rmith,rK[x]und deg(r)<deg(g).

•Wie in der Schule m ¨oglich, ist analog zur Division mit Rest inZ.

hundrsind eindeutig bestimmt.

f durchgteilbar⇔r = 0.

•K ¨onnen damit inK[x]modulogrechnen, Ergebnisse sind dier.

f = x2+ 1,g = x−1:x2+ 1 = x21 + 2 = (x + 1)(x−1) + 2, alsoh = x + 1 undr = 2.

(5)

AES - Rijndael

Die Operationen in den einzelnen Runden sind:

AddRoundKey: Addition vonkizumi, liefertmi+1. SubstBytes: Koeffweise Anwendung vonπSS(F

28)aufmi:

•φist eine affin-lineare Abbildung aufF

28alsF2-Vektorraum, wird weiter unten definiert.

•DamitπS(x) :=φ(1/x)f ¨urx6= 0undπS(0) := 0.

ShiftRows: Zeile jinmium j−1Positionen nach links shiften.

MixColumns: Multiplikation vonmimitM =

ζ ζ+ 1 1 1

1 ζ ζ+ 1 1

1 1 ζ ζ+ 1

ζ+ 1 1 1 ζ

von links.

19 25. Oktober 2007

AES - Rijndael

Ausf ¨uhrung der Runden:

1. Eingabem0= m.

2. AddRoundKey f ¨uri = 0.

3. F ¨uri = 1, . . . ,n−1: SubstBytes, ShiftRows, MixColumns, AddRoundKey.

4. F ¨uri = n: SubstBytes, ShiftRows, AddRoundKey.

5. Ausgabec = mn.

F ¨ur Entschl ¨usselung inverse Operationen benutzen.

Diffusion durch ShiftRows und MixColumns.

Konfusion durch SubstBytes und AddRoundKey.

Endliche K ¨ orper

Fpnauch einn-dimensionalerFp-Vektorraum.

Thm: F ¨ur jedesnistFpnbis auf Isomorphie eindeutig bestimmt.

Thm: Es gibtw∈Fpn, so daß sich jedesa∈Fpnmita6= 0in der Form a = wsf ¨ur einsmit0≤spn−2schreiben l ¨aßt.

Bew: ¨Ublicherweise in der Algebra.

(F2)8:

•Sind Bytes.

•Addition entspricht XOR.

• −1 = 1, daher Subtraktion gleich Addition.

•Identifikation mitF

28unter einer Basis1,ζ, . . . ,ζ7.

17 25. Oktober 2007

AES - Rijndael

Basiert auf (verallgemeinertem) Substitutions-Permutationsnetzwerk.

•128 Bit Blockl ¨ange,

•128/192/256 Bit Schl ¨ussell ¨ange,

•entsprechend 10/12/14 Runden.

Im folgenden(F2)8∼=F2[ζ]∼=F

28alsF2-Vektorr ¨aume mit ζ843+ζ+ 1 = 0und(b7, . . . ,b0)7→∑7i=0biζi.

Der jeweils zu bearbeitende Blockmi(state block) und Rundenschl ¨usselkiim Netzwerk ist eine Matrix∈(F

28)4×4. Hierbei spaltenweise arbeiten: Ein Block oder Rundenschl ¨ussel(b0, . . . ,b15) ergibt die Matrix(b4(i−1)+ j−1)1≤i,j≤4.

Genaue Details im FIPS-197 und unter http://www.nist.gov/aes.

(6)

AES - Rijndael

Rijndael ist sehr schnell, besonders auf Chipkarten (im Vergleich doppelt so schnell wie andere Verfahren).

Sicherheit von Rijndael:

•Rundenzahl recht knapp gehalten.

•Wird immer noch intensiv untersucht.

Die Struktur von Rijndael ist sehr algebraisch. Daher gibt es eine einfache, geschlosse algebraische Formel f ¨ur die Verschl ¨usselung.

•Manche sehen dies als m ¨oglichen Angriffspunkt an.

•Es k ¨onnte aber auch helfen, die Sicherheit zu beweisen.

•XL (extended linearisation): Verfahren zum L ¨osen von Gleichungssystemen mit vielen Unbekannten.

•Effizienz von XL?

23 25. Oktober 2007

Angriffe auf Blockchiffren

Brute-Force, exhaustive search (nach dem Schl ¨ussel), Meet-in-the-middle, CPA.

•Alles oder trickreich ausprobieren→effektive Schl ¨ussell ¨ange.

Differentielle Kryptoanalyse

•Man untersucht, wie ¨Anderungen (Differenzen) am Klartext sich durch die Runden fortpflanzen, u. mit welcher Wahrscheinlichkeit.

Lineare Kryptoanalyse

•Man untersucht, mit welcher Wahrscheinlichkeit lineare Relationen zwischen Klartext- und Chiffretextbits gelten.

Diese Techniken sind statistisch und ziemlich detailliert.

Lassen sich (im wesentlichen) nicht auf DES und Rijndael anwenden.

AES - Rijndael

Blockl ¨angeb = 4,6,8des Schl ¨usselkin Worten (4Bytes).

Schl ¨usselschema zur Bestimmung derki(KeyExpansion):

•Schreibek = (w0, . . . ,wb−1)mitwj∈(F

28)4.

•F ¨ur jb:wjwj−b+ f ( j,wj−1), wobei f unten definiert ist.

ki(w4i, . . . ,w4i+3)f ¨ur0≤in.

Definition von f:

•SubstWord:πSauf(F

28)4erweitern durch byteweise Anwendung.

•RotWord: RotWord(B0,B1,B2,B3) = (B1,B2,B3,B0),Bi∈F

28.

•F ¨ur j = 0 mod bist f ( j,wj−1) =SubstWord(RotWord(wj−1)) + (ζj/b−1,0,0,0).

•F ¨urb>6und j = 4 mod bist f ( j,wj−1) =SubstWord(wj−1).

•In allen anderen F ¨allen ist f ( j,wj−1) = wj−1.

21 25. Oktober 2007

AES - Rijndael

Definition vonφ:F

28→F

28:

•ψ:F

28→ {g∈F2[x]|deg(g)<8}mitψ(∑7i=0biζi) :=∑7i=0bixi, ψistF2-linear und bijektiv.

•φ( f ) :=ψ−1((x4+ x3+ x2+ x + 1)ψ( f ) + x6+ x5+ x + 1 mod x8+ 1).

•φ−1(g) =ψ−1((x6+ x3+ x)ψ(g) + x2+ 1 mod x8+ 1).

•Hierbei bezeichnet mod den Rest nach Division mitx8+ 1.

Daφaffin-linear und bijektiv ist, kann manφauch mit Hilfe einer invertierbaren Matrix aus(F2)8×8definieren (siehe z.B. das FIPS-197 Dokument).

(7)

Angriffe auf Blockchiffren

Timing Angriffe, Power Analysis:

•wenn Ausf ¨uhrungszeit oder Energieverbrauch vom Schl ¨ussel abh ¨angt.

•Zeit- bzw. Energiemessung liefert Information ¨uber den Schl ¨ussel.

•Gegenmaßnahme: Algorithmus entsprechend modifizieren.

Differential Fault Analysis:

•Hardware-m ¨aßiger Eingriff auf Bits und Programmausf ¨uhrung (z.B. in Chipkarte).

•Speziell Related-Key Angriff.

•Dann Untersuchung der ge ¨anderten/fehlerhaften Verschl ¨usselung.

•Starke Anforderung an die Hardware ...

Diese Angriffe sind auch f ¨ur andere kryptographische Algorithmen relevant.

25 25. Oktober 2007

Referenzen

ÄHNLICHE DOKUMENTE

Formulieren Sie die Hockey-Schl¨ agerregel f¨ ur das Pascalsche Dreieck.. Beweisen Sie

Testen Sie mithilfe des Miller-Rabin-Tests, ob die Zahl 577 mit 75% Wahrscheinlichkeit eine Primzahl ist oder nicht.. 3. RC4

F¨ ur jeden Knoten eines Suchbaums gilt: alle Schl¨ ussel im linken Teilbaum sind kleiner und alle Schl¨ ussel im rechten Teilbaum sind gr¨oßer als der Schl¨ ussel des Knotens..

• Stufe 1 : Schl¨ ussel ordnen sich der engsten passenden Schl¨ ussel- erstreckung unter, wenn eine solche eingetragen ist, und zwar sowohl f¨ ur Erst- als auch f¨ ur

Diffusion Die Diffusion einer Blockchiffre ist groß, wenn jedes Bit des Klartextes und jedes Bit des Schlüssels möglichst viele Bits des Chiffretexts

Jede richtig beantwortete Teilaufgabe bringt einen halben Punkt, jede falsch beantwortete Teilaufgabe ergibt einen halben Punkt Abzug.. Nicht beantwortete Teile werden

Jede richtig beantwortete Teilaufgabe bringt einen halben Punkt, jede falsch beantwortete Teilaufgabe ergibt einen halben Punkt Abzug.. Nicht beantwortete Teile werden

Da sie Angst haben, dass ihre Nachrichten mitgelesen werden, kreieren sie dazu einen geheimen Schl ¨ussel mithilfe des Diffie-Hellman Schl ¨usselaustausches.. Sei G = (Z/77, +)