Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

AES – Advanced Encryption Standard Seminar: Kryptographie und Sicherheit, Prof. Dr. Waldvogel Cordula Bauer.

Ähnliche Präsentationen


Präsentation zum Thema: "AES – Advanced Encryption Standard Seminar: Kryptographie und Sicherheit, Prof. Dr. Waldvogel Cordula Bauer."—  Präsentation transkript:

1 AES – Advanced Encryption Standard Seminar: Kryptographie und Sicherheit, Prof. Dr. Waldvogel Cordula Bauer

2 2 Thematik Wie entstand der AES? Wie funktioniert der Algorithmus der hinter AES steckt ? Welche Konzepte stehen hinter dem Design des Algorithmus? Wie sicher ist der AES?

3 3 Inhalt AES – Der Prozess Der Algorithmus: Rijndael Mathematische Grundlagen Spezifikation des Algorithmus Kryptoanalyse Zusammenfassung

4 4 AES – Der Prozess AES als Nachfolger von DES AES: Nachfolger des Data Encryption Standard (DES) von 1976 DES, Schlüssellänge von 56 Bit durch immer höhere Rechnerleistungen unsicher geworden triple-DES: dreifache Anwendung des DES sehr ineffizient

5 5 AES – Der Prozess AES als Wettbewerb Januar 1997: Nationales Institut für Standards und Technologie der USA (NIST) ruft zu öffentlichem Wettbewerb für neue Verschlüsselungstechnik auf AES soll ein Federal Information Processing Standard (FIPS) werden NIST evaluiert Sicherheit und Effizienz selbst nicht, das soll übernehmen wer Interesse daran hat

6 6 AES – Der Prozess Anforderungen an AES Formal: symmetrischer Blockchiffre Blockgröße:128 Bit Schlüssellängen: 128, 192 und 256 Bit Resistenz gegen alle Methoden der Kryptoanalyse überdurchschnittlich effizient in Software und Hardware (auch auf 8 Bit-Prozessoren) einfach zu implementieren

7 7 AES – Der Prozess Die Auswahl: Rijndael Im Oktober 2002 wird Gewinner bekannt gegeben: Rijndael Autoren: Joan Daemen, Vincent Rijmen (Belgien) Algorithmus zeichnet sich durch sehr gute Performance in Hardware und Software und seine Einfachheit aus.

8 8 Rijndael - Mathematische Grundlagen Bits, Bytes und Wörter Rijndael verschlüsselt mit 8 und 32 Bit Operationen 8 Bit = 1 Byte | 32 Bit = 4 Byte = 1 Wort Beispiel: Blockgröße 128 Bit, bzw. 16 Byte, bzw. 4 Wörter Blockgröße bei Rijndael nicht nur 128 Bit (wie beim AES), sondern prinzipiell jedes Vielfache von 32 zwischen 128 und 256 Bit möglich.

9 9 Rijndael - Mathematische Grundlagen GF(2) | 8 Byte b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 kann als Polynom dargestellt werden: b(x) = b 7 x 7 + b 6 x 6 + b 5 x 5 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b 1 x + b 0 Beispiel: x 6 + x 4 + x 2 + x + 1 b(x) repräsentiert die Elemente des endlichen Körpers GF(2)| 8 Alle möglichen Bytes sind genau die Elemente von GF(2)| 8

10 10 Rijndael - Mathematische Grundlagen endliche Körper Endlicher Körper : und sind abelsche Gruppen und sind distributiv abelsche Gruppe : Abgeschlossenheit: a,b G: a+b G Assoziativität: a,b G: (a+b)+c = a+(b+c) Kommutativität: a,b G: a+b = b+a neutrales Element: 0 G, a G: a+0 = a inverses Element: a,b G: a+b = 0

11 11 Rijndael - Mathematische Grundlagen Addition von Bytes ist Addition der Komponenten modulo 2 ( x 6 + x 2 + x + 1 ) + ( x 7 + x + 1) = x 7 + x 6 + x = Auf Byte-Ebene entspricht der Operation XOR

12 12 Rijndael - Mathematische Grundlagen Multiplikation ist Multiplikation modulo m(x) m(x) = x 8 + x 4 + x 3 + x + 1 (irreduzibles Polynom, 8ten Grades) ( x 6 + x 4 + x 2 + x + 1 ) * ( x 7 + x + 1) = x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x (x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x 3 + 1) modulo (x 8 + x 4 + x 3 + x + 1 ) = x 7 + x keine simple äquivalente Ausführung auf Byte-Ebene

13 13 Rijndael - Mathematische Grundlagen Addition von Wörtern Wort a 3 a 2 a 1 a 0 kann als Polynom dargestellt werden: a(x) = a 3 x 3 + a 2 x 2 + a 1 x + a 0 Addition: die Komponenten, also die einzelnen Bytes werden jeweils XOR verknüpft: (a 3 x 3 + a 2 x 2 + a 1 x +a 0 ) (b 3 x 3 + b 2 x 2 + b 1 x +b 0 ) = (a 3 b 3 ) x 3 (a 2 b 2 ) x 2 (a 1 b 1 )x (a 0 b 0 )

14 14 Rijndael - Mathematische Grundlagen Multiplikation von Wörtern (1) Multiplikation: ähnlich wie mit Bytes, mit irreduziblem Polynom m(x) = x 4 +1 d(x) = a(x) b(x) (mod x 4 +1) mit d(x) = d 3 x 3 + d 2 x 2 + d 1 x + d 0 di:di: d 0 = (a 0 b 0 ) (a 3 b 1 ) (a 2 b 2 ) a 1 b 3 ) d 1 = (a 1 b 0 ) (a 0 b 1 ) (a 3 b 2 ) (a 2 b 3 ) d 2 = (a 2 b 0 ) (a 1 b 1 ) (a 0 b 2 ) (a 3 b 3 ) d 3 = (a 3 b 0 ) (a 2 b 1 ) (a 1 b 2 ) (a 0 b 3 )

15 15 Rijndael - Mathematische Grundlagen Multiplikation von Wörtern (2) a(x) b(x) d(x) (mod x 4 +1) kann als Matrizzen-Multiplikation dargestellt werden:

16 16 Spezifikation des Algorithmus Rijndael ist ein schlüssel-iterierter Blockchiffre

17 17 Spezifikation des Algorithmus Blöcke und Runden Layout eines Blocks: Byte Wort Anzahl der Runden: 4 Wörter, N b = bits

18 18 Spezifikation des Algorithmus Pseudo-Code (1) Rijndael(State, CipherKey) { KeyExpansion(CipherKey, ExpandedKey); AddRoundKey(State, ExpandedKey[0]); for(i=1; i

19 19 Spezifikation des Algorithmus Pseudo-Code (2) Round(State, ExpandedKey[i]) { SubBytes(State); ShiftRows(State); MixColumns(State); AddRoundKey(State, ExpandedKey[i]); } FinalRound(State, ExpandedKey[N r ]) { SubBytes(State); ShiftRows(State); AddRoundKey(State, ExpandedKey[N r ]); }

20 20 Spezifikation des Algorithmus SubBytes nicht-lineare Transformation (einzige) S-Box

21 21 Spezifikation des Algorithmus SubBytes – S-Box Konkatenation von zwei Funktionen g,f g(a) = a -1 (multiplikative Inverse aus GF(2)| 8 ) f(a): f(a) entspricht einer polynomialen Multiplikation und anschließender XOR-Verknüpfung mit einer Konstanten

22 22 Spezifikation des Algorithmus SubBytes – Design Kriterien Nicht-Linearität Korrelation Input Output - so gering wie möglich difference propagation Wahrscheinlichkeit - so gering wie möglich Algebraische Komplexität soll hoch sein

23 23 Spezifikation des Algorithmus ShiftRows Einzelne Reihen i werden um eine Anzahl C i geshiftet Blockgröße 128: C 0 =0, C 1 =1, C 2 =2, C 3 =3 Design Kriterium für verschiedene Werte von C i : optimale Diffusion

24 24 Spezifikation des Algorithmus MixColumns (1) Die Bytes der einzelnen Spalten (= Wörter) werden durcheinander gewürfelt c(x)

25 25 Spezifikation des Algorithmus MixColumns (2) b(x) = a(x) c(x) (mod x 4 +1) (Multiplikation Wortebene) mit c(x) = 03 x x x + 02 Koeffizienten sind Bytes in Hexadezimal-Schreibweise

26 26 Spezifikation des Algorithmus MixColumns – Design Kriterien Effektivität: Linearität Diffusion Effizienz: Gute Performance auf 32 Bit Prozessoren auf 8 Bit Prozessoren

27 27 Spezifikation des Algorithmus AddRoundKey Länge des Rundenschlüssels = Blocklänge aktueller Zustand (state) wird mit Rundenschlüssel (round key) XOR verknüpft = stateround keynew state

28 28 Spezifikation des Algorithmus KeyExpansion (1) KeyExpansion: cipher key expanded key W [N b (N r +1)] Beispiel: cipher key Länge: 192 bit N k = 6 Blocklänge: 128 bit N b = 4 N r = 12 N ek = 52 W [52]

29 29 Spezifikation des Algorithmus KeyExpansion (2) W i : i kein Vielfaches von N k : W i = W i - N k W i-1 W i : i Vielfaches von N k : W i = W i - N k S(W i-1 ) s

30 30 Spezifikation des Algorithmus KeyExpansion – Design Kriterien Effektivität: Eliminierung von Symmetrie Diffusion Nicht-Linearität Effizienz: Wenig Arbeitsspeicherverbrauch Gute Performance auf vielen Prozessoren

31 31 Spezifikation des Algorithmus Dechriffrieren I_Rijndael(State,CipherKey) { I_KeyExpansion(CipherKey,I_ExpandedKey); AddRoundKey(State, I_ExpandedKey[N r ]); for( i=N r -1; i>0; i- - ) I_Round(State, I_ExpandedKey[i]); I_FinalRound(State, I_ExpandedKey[0]); } I_Round(State,I_ExpandedKey[i]) { InvSubBytes(State); InvShiftRows(State); InvMixColumns(State); AddRoundKey(State,I_ExpandedKey[i]); }

32 32 Kryptoanalyse resistent gegen lineare und differentielle Kryptoanalyse saturation attack chosen-plaintext + Ausnutzung der byte-orientierten Struktur nur für rundenreduzierte (7 Runden) Version möglich implementation attacks timing attack power analysis

33 33 Zusammenfassung AES (Rijndael) ist symmetrischer Blockchiffre arbeitet mit simplen 8 und 32 Bit Operationen Schlüssel-Iteration & Rundentransformation hohe Sicherheit erreicht durch algebraische Komplexität Diffusion und Nicht-Linearität

34 34 Anwendungen die AES benutzen Wireless LAN WPA2 SSH IPsec Skype 7-Zip PGP

35 35 Ende Noch Fragen? Vielen Dank für die Aufmerksamkeit.


Herunterladen ppt "AES – Advanced Encryption Standard Seminar: Kryptographie und Sicherheit, Prof. Dr. Waldvogel Cordula Bauer."

Ähnliche Präsentationen


Google-Anzeigen