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

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

Transcript of AES – Advanced Encryption Standard Seminar: Kryptographie und Sicherheit, Prof. Dr. Waldvogel...

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

AES – Advanced Encryption Standard

Seminar: Kryptographie und Sicherheit, Prof. Dr. Waldvogel

Cordula Bauer

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

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?

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

3

Inhalt

AES – Der Prozess

Der Algorithmus: Rijndael Mathematische Grundlagen Spezifikation des Algorithmus Kryptoanalyse

Zusammenfassung

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

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

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

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

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

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

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

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.

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

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.

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

9

Rijndael - Mathematische Grundlagen

GF(2) |8

Byte b7b6b5b4b3b2b1b0 kann als Polynom dargestellt werden:

b(x) = b7x7 + b6x6+ b5x5+ b4x4 + b3x3 + b2x2 + b1x + b0

Beispiel: 01010111 x6 + x4 + x2 + 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

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

10

Rijndael - Mathematische Grundlagen

endliche Körper

Endlicher Körper <F, , >: <F, > und <F\{0}, > sind abelsche Gruppen und sind distributiv

abelsche Gruppe <G, +>: Abgeschlossenheit: a,bG: a+bG Assoziativität: a,bG: (a+b)+c = a+(b+c) Kommutativität: a,bG: a+b = b+a neutrales Element: 0G,aG: a+0 = a inverses Element: a,bG: a+b = 0

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

11

Rijndael - Mathematische Grundlagen

Addition von Bytes <F, > ist Addition der Komponenten modulo 2

( x6 + x2 + x + 1 ) + ( x7 + x + 1) = x7 + x6 + x2

01000111 + 10000011 = 11000100

Auf Byte-Ebene entspricht der Operation XOR

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

12

Rijndael - Mathematische Grundlagen

Multiplikation <F\{0}, > ist Multiplikation modulo m(x)

m(x) = x8 + x4 + x3 + x + 1 (irreduzibles Polynom, 8ten Grades)

( x6 + x4 + x2 + x + 1 ) * ( x7 + x + 1) = x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1

(x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1) modulo (x8 + x4 + x3 + x + 1 )

= x7 + x6 + 1

keine simple äquivalente Ausführung auf Byte-Ebene

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

13

Rijndael - Mathematische Grundlagen

Addition von Wörtern

Wort a3a2a1a0 kann als Polynom dargestellt werden: a(x) = a3x3 + a2x2 + a1x + a0

Addition: die Komponenten, also die einzelnen Bytes werden jeweils XOR verknüpft:

(a3x3 + a2x2 + a1x +a0) (b3x3 + b2x2 + b1x +b0) = (a3 b3) x3 (a2 b2) x2 (a1 b1)x (a0 b0)

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

14

Rijndael - Mathematische Grundlagen

Multiplikation von Wörtern (1)

Multiplikation: ähnlich wie mit Bytes, mit irreduziblem Polynom m(x) = x4 +1

d(x) = a(x) b(x) (mod x4 +1)

mit d(x) = d3x3 + d2x2 + d1x + d0

di:

d0 = (a0 b0) (a3 b1) (a2 b2) a1 b3)

d1 = (a1 b0) (a0 b1) (a3 b2) (a2 b3)

d2 = (a2 b0) (a1 b1) (a0 b2) (a3 b3)

d3 = (a3 b0) (a2 b1) (a1 b2) (a0 b3)

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

15

Rijndael - Mathematische Grundlagen

Multiplikation von Wörtern (2)

a(x) b(x) d(x) (mod x4 +1)kann als Matrizzen-Multiplikation dargestellt werden:

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

16

Spezifikation des Algorithmus

Rijndael ist ein schlüssel-iterierter Blockchiffre

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

17

Spezifikation des Algorithmus

Blöcke und Runden

Layout eines Blocks:

Byte

Wort

Anzahl der Runden:

4 Wörter, Nb = 4

128 bits

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

18

Spezifikation des Algorithmus

Pseudo-Code (1)

Rijndael(State, CipherKey)

{

KeyExpansion(CipherKey, ExpandedKey);

AddRoundKey(State, ExpandedKey[0]);

for(i=1; i<Nr; i++)

Round(State, ExpandedKey[i]);

FinalRound(State, ExpandedKey[Nr]);

}

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

19

Spezifikation des Algorithmus

Pseudo-Code (2)

Round(State, ExpandedKey[i]){

SubBytes(State);ShiftRows(State);MixColumns(State);AddRoundKey(State, ExpandedKey[i]);

}

FinalRound(State, ExpandedKey[Nr]){

SubBytes(State);ShiftRows(State);

AddRoundKey(State, ExpandedKey[Nr]);}

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

20

Spezifikation des Algorithmus

SubBytes nicht-lineare Transformation (einzige)

S-Box

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

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

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

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

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

23

Spezifikation des Algorithmus

ShiftRows

Einzelne Reihen i werden um eine Anzahl Ci geshiftet Blockgröße 128: C0=0, C1=1, C2=2, C3=3

Design Kriterium für verschiedene Werte von Ci:

optimale Diffusion

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

24

Spezifikation des Algorithmus

MixColumns (1)

Die Bytes der einzelnen Spalten (= Wörter) werden durcheinander gewürfelt

c(x)

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

25

Spezifikation des Algorithmus

MixColumns (2) b(x) = a(x) c(x) (mod x4 +1)

(Multiplikation Wortebene) mit c(x) = 03 x3 + 01 x2 + 01 x + 02

Koeffizienten sind Bytes in Hexadezimal-Schreibweise

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

26

Spezifikation des Algorithmus

MixColumns – Design Kriterien

Effektivität: Linearität Diffusion

Effizienz: Gute Performance auf

32 Bit Prozessoren auf 8 Bit Prozessoren

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

27

Spezifikation des Algorithmus

AddRoundKey

Länge des Rundenschlüssels = Blocklänge aktueller Zustand (state) wird mit Rundenschlüssel

(round key) XOR verknüpft

=

state round key new state

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

28

Spezifikation des Algorithmus

KeyExpansion (1) KeyExpansion: cipher key expanded key W [Nb(Nr+1)]

Beispiel: cipher key Länge: 192 bit Nk = 6

Blocklänge: 128 bit Nb = 4

Nr = 12 Nek = 52 W [52]

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

29

Spezifikation des Algorithmus

KeyExpansion (2) Wi: i kein Vielfaches von Nk:

Wi = Wi - Nk Wi-1

Wi: i Vielfaches von Nk:

Wi = Wi - Nk S(Wi-1)

s

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

30

Spezifikation des Algorithmus

KeyExpansion – Design Kriterien

Effektivität: Eliminierung von Symmetrie Diffusion Nicht-Linearität

Effizienz: Wenig Arbeitsspeicherverbrauch Gute Performance auf vielen Prozessoren

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

31

Spezifikation des Algorithmus

DechriffrierenI_Rijndael(State,CipherKey){

I_KeyExpansion(CipherKey,I_ExpandedKey);AddRoundKey(State, I_ExpandedKey[Nr]);for( i=Nr-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]);

}

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

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

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

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

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

34

Anwendungen die AES benutzen

Wireless LAN WPA2 SSH IPsec Skype 7-Zip PGP

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

35

Ende

Noch Fragen?

Vielen Dank für die Aufmerksamkeit.