Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Der Rijndael Algorithmus Vortrag im Fach Kryptologie Prof. Dr. Hoever AES Advanced Encryption Standard Vortragende: Fegler, Alexander & Hellmann, Jelle.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Der Rijndael Algorithmus Vortrag im Fach Kryptologie Prof. Dr. Hoever AES Advanced Encryption Standard Vortragende: Fegler, Alexander & Hellmann, Jelle."—  Präsentation transkript:

1 1 Der Rijndael Algorithmus Vortrag im Fach Kryptologie Prof. Dr. Hoever AES Advanced Encryption Standard Vortragende: Fegler, Alexander & Hellmann, Jelle

2 2 Inhalt -1. Entstehung -1.1 Auswahl des Nachfolgers -1.2 Anforderungen -1.3 Auswahlgründe -2. Arbeitsweise -2.1 Mathematische Grundlagen -2.2 Überblick Algorithmus -2.3 State, Chipher Key number of rounds -2.4 Round transformation (was pro Runde gemacht wird) Byte Sub Shift Row Mix Columm Round Key Addition Key Schedule (Key Expansion & Round Key Selection) -3. Anwendungsgebiete -4. Sicherheit -5. Fazit/Ausblick

3 3 1. Entstehung Da DES immer unsicherer wurde, aufgrund seiner relativ kurzen Schlüssellänge von 56 Bit und weil 3DES eine schlechte Performance hatte, wurde 1997 in weiser Voraussicht vom NIST (National Institut for Standardisation and Technology) eine Initiative bzw. Wettbewerb ins Leben gerufen um den Nachfolger des DES zu suchen. Kurz darauf wurden in einem Workshop werden die genauen Anforderungen an den Algorithmus festgelegt. Nach knapp 4 Jahren die der Auswahlprozess gebraucht hatte, stand das Ergebnis fest, der Sieger des AES Wettbewerbes war der Rijndael Algorithmus. Er wurde von den Belgiern Vicent Rijmen und Joan Daemen entwickelt.

4 4 1.1 Historie Januar 97 Aufruf zur Initiative 15. April AES-Workshops genaue Anforderungen 20. August 1. AES Konferenz 15 Algorithmen eingegangen März 2. AES Konferenz Diskussion der bisherigen Resultate 15. April Ende der Begutachtung der Kandidaten 13./14. April 3. AES- Konferenz Analyse der 5 Endkandidaten 15. Mai Ende der öffentlichen Diskussion 2. Oktober Sieger ist Rinjdael November FIPS- Standard als Manusskript Februar Ende öffentliche Diskussion zum Standard November FIPS Standard

5 5 1.2 Anforderungen Anforderungen die vom NIST gestellt wurden waren: Technische: -AES muss symmetrischer Algorithmus sein -> Blockalgorithmus -AES muss mindestens 128 Bit lange Blöcke verwenden und Schlüssel von 128, 192 und 256 Bit verwenden können -AES soll gleichermaßen leicht in Hard- und Software implementierbar sein -AES soll in Hard- und Software eine überdurchschnittliche Performance haben -AES soll allen bekannten Methoden der Kryptanalyse widerstehen können, insbesondere POWER- und TIMING- Attacken -Speziell für den Einsatz in Smartcards sollen geringe Ressourcen erforderlich sein( kurze Codelänge, niedriger Speicherbedarf) Weitere: -Der Algorithmus muss frei von patentrechtlichen Ansprüchen sein und darf von jedermann unentgeltlich genutzt werden -Umfangreiche Dokumentation

6 6 1.3 Auswahlgründe NIST: When considered togehter, Rijndaels combination of security, performance, efficiency, implementability and flexibility make it an appropriate selection for the AES Also aufgrund seiner Einfachheit und seiner exzellenten Performance -Eingangstext jede runde deterministischen Transformationen unterworfen -Ergebnisse werden XOR mit den Rundenschlüssel verrechnet Sicherheit kommt von der Konstruktion des Transformationen (S-Box) und der Durchführung mehrerer Runden. Aber gerade wegen seiner algebraischen Struktur wurden/werden Schwächen vermutet

7 7 2.1 Mathematische Grundlagen Ist ein Byte, so wird die dazugehörige Polynomdarstellung betrachtet Für jedes Byte ist ein Polynom vom Grad 7, so dass man definiert Der Addition zweier Polynome f und g in GF(256) entspricht die XOR Verknüpfung ( ) der dazu gehörigen Bytes. Beispiel:

8 8 2.1 Mathematische Grundlagen Um in GF(256) auch multiplizieren zu können, muss der Grad des Produktes zweier Polynome wieder reduziert werden. Dies geschieht mit der Modulo Rechung bzgl. eines Polynoms vom Grad 8 (=7+1).Daher wird für den AES Algorithmus ein festes irrreduzibles Polynom gewählt und zwar Beispiel:

9 9 2.1 Mathematische Grundlagen Neutrale Element bzgl. ist das Byte 01 Das multiplikativ Inverse, kann mittels der erweiterten Euklid gefunden werden a(x) und c(x) so berechen Es gilt auch das Kommutativ- und das Distributivgesetz Es folgt, das die 256 Bytes werte mit dem XOR ( ) als Addition und der obigen Multiplikation den endlichen Körper GF(256) bilden. In der Algebra ist ein endlicher Körper oder Galoisfeld (benannt nach dem Mathematiker Evariste Galois) ein Körper mit nur endlich vielen Elementen.

10 Algorithmus Übersicht Klartext Benutzer- schlüssel Eingabe eines Klartextes und eines Schlüssels durch den Benutzer Verschlüsselung Rundenbasierte Hintereinander- ausführung von verschiedenen Transformationsschritten verschlüsselter Text Ausgabe des verschlüsselten Textes

11 Number of Rounds, State & Key r b=128b=192b=256 k= k= k=25614 a0,0a0,1a0,2a0,3 a1,0a1,1a1,2a1,3 a2,0a2,1a2,2a2,3 a3,0a3,1a3,2a3,3 Rundenanzahl ist abhängig von verwendeter Schlüssellänge k und verwendeter Blockgöße b Zustand 4 Byte=32 Bit k0,0k0,1k0,2K0,3k0,4k0,5 k1,0k1,1k1,2k1,3k1,4k1,5 k2,0k2,1k2,2k2,3k2,4k2,5 k3,0k3,1k3,2k3,3k3,4k3,5 Schlüssel

12 Verschlüsselungsprozess Runde 1 bis ( r – 1 ) Anzahl der Runden ist abhängig von der Block- und Schlüssellänge ByteSub ShiftRow MixColumn AddRoundKey Rundenschlüssel AddRoundKey Initialisierungsrunde KlartextSchlüssel Runde r ByteSub ShiftRow AddRoundKey verschlüsselter Text

13 Verschlüsselungsprozess monoalphabetische Verschlüsselung mit der Substitutionsbox Bytes im Block durch Äquivalente in der S-Box ersetzen S-Box meist als Array implementiert Transformation ist deterministisch Lediglich zur Vermischung der Bytes und Schutz gegen –differentielle und lineare Kryptanalyse –Interpolationsattacken ByteSub

14 Verschlüsselungsprozess Beispiel e99aa a2bbe 488de2e3 f8c6f43d 1eb8e0d4 30e5f1ae 525d b4bf27 16bb54b00f2d416842e6bf0d89a18cf df2855cee9879b948ed f8e1e 9e1dc186b957610ef b53e70d 8a8bbd4b1f74e8c6b4a61c2e2578bac 08ae7a65eaf46ca94ed58d6d37c8e7b 79e acc25c a3a32e0a db0b5ede14b a22dc4f d643d7ec fec130ccd8 d2f3ff1021dabcf5389d928f40a3517 a89f3c507f d43fbaaefd06 cf584c4a39be6a5bb1fc20ed00d fe329b3d652a05a6e1b1a2c b227ebe280079a059618c323c d871f1e534ccf73f362693fdb72 76abd7fe2b6730c56f6bf27b777c630 fedcba e 35 dd 56 d3 ee a7 b6 f9 cb 3b 12 a c072a49cafa2d4adf04759fa7dc982ca1 S-Box: State vor ByteSub: State nach ByteSub: S-Box ByteSub

15 Verschlüsselungsprozess Zeilen des State byteweise zyklisch nach links rotieren Anzahl der Verschiebungen ist zeilen- und blocklängenabhängig b=Blocklänge Transformation ist deterministisch ShiftRow b=128b=192b=256 Zeile 0000 Zeile 1111 Zeile 2222 Zeile 3334

16 Verschlüsselungsprozess Beispiel 1eb8e0d4 30e5f1ae 525d b4bf27 1eb8e0d4 e5f1ae d 2741b4bf ShiftRow

17 Verschlüsselungsprozess Spalten vermischen –Jede Zelle einer Spalte wird mit einer Konstanten multipliziert. Konstantes Polynom: c(x) = 03 h x h x h x + 02 h –Die Ergebnisse werden XOR verknüpft Vorgehensweise beruht auf Transformation auf Galoisfeldern Transformation ist deterministisch MixColumn

18 Verschlüsselungsprozess Beispiel MixColumn 1eb8e0d4 e5f1ae d 2741b4bf Beispielrechnung für das erste Byte: * = (d4 * 02 = b3) * = (bf * 03 = da) (b3 XOR da = 69) * = (5d * 01 = 5d) (69 XOR 5d = 34) * = (30 * 01 = 30) (34 XOR 30 = 04) 2848e004 4c7a9ae5 26d f8cb66

19 Verschlüsselungsprozess KeyAddition in der Vorrunde und am Ende jeder weiteren Runde Rundenschlüssel bitweise XOR verknüpfen mit dem State Einzige Funktion, die den Algorithmus vom Schlüssel abhängig macht AddRoundKey

20 Verschlüsselungsprozess Beispiel AddRoundKey 2848e004 4c7a9ae5 26d f8cb66 2a2388a0 0539b cfe 6ca354fa Round keyState 026b68a bf2 50ea357f 6a5b9f9c Neues State Beispielrechnung für die erste Spalte: (a4) (04) (a0) (9c) (66) (fa) (7f) (81) (fe) (f2) (e5) (17)

21 21 Schlüsselgenerierung 1 Schlüssel aufteilen in r + 1 Rundenschlüssel Benutzerschlüssel expandieren auf die Länge b * ( r + 1 ) Der erste Rundenschlüssel ist identisch mit dem Benutzerschlüssel Berechnung weiterer Rundenschlüssel nach festem Schema…

22 22 Schlüsselgenerierung 2 Für das Schema benötigte Elemente: RotWord(): –verschiebt die 4 Bytes eines Wortes zyklisch um eine Position nach links, d.h. RotWord([a0,a1,a2,a3]) = [ a1,a2,a3,a0] ByteSub(): –S-Box auf jedes Byte eines Wortes anwenden (s.o.) Rcon-Tabelle: –Rcon[i] = [x i-1,0,0,0], wobei 0 das Nullbyte und x i-1 die (i-1)-te Potenz von x=(02) hex bzgl. der Multiplikation in GF (2 8 ) bezeichnet

23 23 Schlüsselgenerierung 3 …W[8]W[7]W[6]W[5]W[4]W[3]W[2]W[1]W[0] ByteSub RotWord Rcon[1] ByteSub RotWord Rcon[2] b36 00 Rcon:

24 24 Entschlüsselung Zunächst AddRoundKey(State, Roundkey) Dann die einzelnen Runden –InvByteSub(State) –InvShiftRow(State) –InvMixColumn(State) –AddRoundKey(State, InvMixColumn(Roundkey)) Letzte Runde ohne InvMixColumn und mit dem gewöhnlichen AddRoundKey(State, Roundkey)

25 25 3. Anwendungsgebiete Verschlüsselungsstandard i für Wireless LAN & seinem Wi-Fi- Äquivalent WPA2 außerdem noch SSH und IPsec. Weiterhin wird der Algorithmus zur Verschlüsselung diverser komprimierter Dateiarchive verwendet. Tools die AES verwenden: PGP (gnuPgp), Steganos Safe, Winzip 9.0 SSL 3.0 (RSA + AES), Skype Linux: loop-aes von Jari Ruusu, aespipe

26 26 4. Sicherheit Bruteforce & theoretische Folgen (AES mit 256 Bit Schlüssel) Speicheraufwand : für alle Schlüssel Wenn es möglich wäre pro Atom 1 Schlüssel zu speichern Hätte der Speicher eine Masse von g das entspricht Sternenmassen Bei 128 Bit Schlüssel nur noch ca. 300 t Speichermasse ca. TByte Wenn man jetzt 1 Mrd. Computer hat, wovon jeder pro Sekunde 1 Mrd. Keys testet, so bräuchte man immer noch im Durchschnitt 5 Billionen Jahre um an den Schlüssel zu gelangen.

27 27 4. Sicherheit Stärken Einfluss der Schlüssel Verknüpfung des Rundenschlüssel vor der ersten Runde und als letzter schritt innerhalb einer Runde -> Jedes Bit ist vom Schlüssel abhängig Nichtlineare Schicht Die S-Box ist eine stark nichtlineare Operation Die Konstruktion der S-Box sorgt für nahezu idealen Schutz vor der linearen und differentiellen Kryptanalyse Lineare Schicht Die ShiftRow and MixColumn sorgen für eine optimale Durchmischung der Bits eines Blockes.

28 28 4. Sicherheit/Angriffe (akademische Erfolge) als geschlossene Formel mit 1 Billionen Summanden (Niels Ferguson, Richard Schroeppel, Doug Whiting) niemand weiß, ob daraus jemals ein sinnvoller Angriff auf AES konstruiert werden kann 2002 algebraische Besonderheiten (große Systeme quadratischen Gleichungen) (Eli Biham) 128-Bit AES: GLS 8000 Gleichungen mit 1600 Variablen 2002 aus XL Verfahren -> XSL Verfahren (Josef Pieprzyk, Nicolas Courtouis) eXtended Sparse Linearization 2002 AES Spezialfall von BES (Big Encryption System) (Sean Murphy, Matt Robshaw)

29 29 4. Sicherheit/Angriffe (akademische Erfolge) 2 Gleichungssysteme mit folgenden Eigenschaften: -stark überbestimmt (mehr Gleichungen als Variable) -Schwach besetzt( größte Teil der Koeffizienten=0) -Besonders reguläre Struktur Besonderheiten: -Coutouis & Pieprzyk XSL Methode könnte AES in Schritten knacken -Angriff nicht auf Statistik sondern Algebra -Sicherheit von Produktalgorithmen nicht mehr exponentiell mit Rundenzahl steigend Sean Murphy and Matt Robwerts, AES Spezialfall von BES besonders runde Struktur -> Rechenaufwand könnte sich dann auf reduzieren.

30 30 4. Sicherheit Theoretische Angriffe haben aus 2 Gründen keine praktische Bedeutung 1) Komplexität der Angriffe bei Rechenschritten 2) Angriffe sind umstritten und noch nicht implementiert 2^100 Rechenschritte sind eine utopisch große Zahl. Ein aus GHz-Pentium- Prozessoren aufgebauter Rechencluster, der die Arbeit binnen eines Jahres schaffen Sollte hätte einen Stromverbrauch von vielen Millionen Gigawatt, was viele Größenordnungen über der Weltenergieproduktion liegt. [ct02/21/038] Außerdem tauchen in den harten mathematischen Arbeiten immer wieder Formulierungen wie könnte und vermutlich auf. Trotzdem ist durch diese Veröffentlichungen das makellose Image von AES ein wenig angekratzt.

31 31 5. Fazit/Ausblick Hardwarenahe( d.h. Einfach zu implementieren) Optimiertes C-Programm besteht aus nur ~ 500 Zeilen Code Einfaches Design Ohne Patentansprüche Bis heute kein praktikabler Angriff gefunden Aber wahrscheinlich nicht mehr für die nächsten 20 Jahre sicher Wenn sich der Rechenaufwand innerhalb eines Jahres um reduziert warum dann nicht noch Faktor oder drauflegen, dann wäre erster praktikabler Angriff denkbar Aber noch bestimmt 10 Jahre sicher, weil nicht ohne beträchtlichen Aufwand knackbar

32 32 Literatur iX10/2001, iX12/2002 ct 11/05,ct 7/05, ct 17/ FIPS 197 Paperhttp://www.itl.nist.gov/fipspubs/


Herunterladen ppt "1 Der Rijndael Algorithmus Vortrag im Fach Kryptologie Prof. Dr. Hoever AES Advanced Encryption Standard Vortragende: Fegler, Alexander & Hellmann, Jelle."

Ähnliche Präsentationen


Google-Anzeigen