Seminar Kryptographie Christian Wilkin Seminararbeit WS 24/25 Dezember 24 Betreuung: Prof. Dr. Alfred Sheerhorn Fahbereih Design und Informatik Fahhohshule Trier University of Applied Sienes
FACHHOCHSCHULE TRIER UNIVERSITY OF APPLIED SCIENCES Fahbereih DESIGN UND INFORMATIK Autor: Christian Wilkin Titel: Der Algorithmus des Advaned Enryption Standard Studiengang: Informatik Betreuung: Prof. Dr. Alfred Sheerhorn http://www.ainformatik.fh-trier.de/~sheerhorn/ Dezember 4 Es wird hiermit der Fahhohshule Trier (University of Applied Sienes) die Erlaubnis erteilt, die Arbeit zu niht-kommerziellen Zweken zu verwenden. Untershrift des/der Autors/ren Christian Wilkin, 24-2 -
Seminararbeit Kryptographie: Der AES Algorithmus - 3 - Inhaltsverzeihnis Zusammenfassung...3 2 Rijndael vom Vorshlag zum Standard...4 2. Anforderungen an den neuen Standard...5 2.2 Mathematishe Grundlagen...5 3 Spezifikation...8 3. Die Struktur des AES Algorithmus...8 3.2 Die Transformationen ByteSub...9 3.2 Die Transformationen ShiftRow...2 3.3 Die Transformationen MixColumn...2 3.4 Vershlüsselung mit AddRoundKey...3 3.5 Die Berehnung des Rundenshlüssels (Shlüssel-Erweiterung)...5 3.6 Die Entshlüsselung der inverse Algorithmus...5 4. Kryptographishe Stärke von AES...7 4. Kryptoanalyse von AES...8 5 Bewertung und Ausblik...8 6 Literaturhinweise...9 Zusammenfassung Bisher war der Data Enryption Standard (DES) der am häufigsten genutzte symmetrishe Algorithmus zur Vershlüsselung von Daten. Trotzdem wurde er oft stark kritisiert. Da er lange Zeit niht vollsändig veröffentliht war, wurden sogar Hintertüren der amerikanishen National Seurity Ageny vermutet, die allerding nie gefunden wurden. Zweifel an der Siherheit von DES waren jedoh begründet (shliesslih benutzt DES nur einen 56 Bit langen Shlüssel) und wurden duh die Eletroni Frontier Foundation bestätigt, die 998 eine Mashine zur Entshlüsselung von DES mittels Brute-Fore-Verfahren baute. Es musste also ein neues Vershlüsselungsstandard entwikelt werden, der niht die Fehler seiner Vorgänger besitzt. Alle möglihen Shlüssel werden naheinander durhprobiert. Die Reihenfolge wird gegebenenfalls nah der Wahrsheinlihkeit ausgewählt. Diese Methode ist auh bei modernen Vershlüsselungsverfahren sinnvoll, wenn von der Verwendung eines relativ shwahen Passwortes ausgegangen werden kann. - 3 -
Seminararbeit Kryptographie: Der AES Algorithmus 4 / 9 Die Wahl fiel hierbei auf den Rijndael Alorithmus (nah seinen Entwiklern Joan Daemen und Vinenr Rijmen) welhen ih im Folgenden näher beshreiben werde. 2 Rijndael vom Vorshlag zum Standard Im Jahre 997 shreib das NIST 2 offiziell die Suhe nah einer symmetrishen Blokhiffre für die Vershlüsselung von sensiblen Daten aus. Eine symmetrishe Blokhiffre arbeitet im Prinzip wie folgt: Zunähst wird ein geheimer Shlüssel gewählt Dann werden die zu vershlüsselnden Daten, der Klartext, in viele gleih große Blöke unterteilt Jeder Blok wird nah einem festen Algorithmus transformiert und mit dem Shlüssel kombiniert, so dass aus dem neuen transformierten Blok, ohne die Kenntnis des Shlüssels, niht mehr auf den Klartext geshlossen werden kann. Die so entstandenen vershlüsselten Blöke bilden den Geheimtext. Er ist ebenso lang wie der Klartext, da sih die Blokgröße durh das Vershlüsseln niht ändert. Mit dem inversen Algorithmus und dem Shlüssel kann aus dem Geheimtext wieder blokweise der Klartext errehnet werden. 2 U.S. National Institute of Standards and Tehnology (www.nist.gov) - 4 -
Seminararbeit Kryptographie: Der AES Algorithmus 5 / 9 2. Anforderungen an den neuen Standard Die Ausshreibung von AES wurde sehr sorgfällig vorbereitet. Die wihtigsten Anforderungen lassen sih in drei Kategorien aufteilen:. Siherheit 2. Kosten: Robustheit der Vershlüsselung gegenüber der Kryptoanalyse Stihhaltigkeit der mathematishen Basis Zufälligkeit der ausgegebenen Geheimtexte Relative Siherheit bezüglih der anderen AES-Kandidaten Keine Patentansprühe der Entwikler Ausreihende Geshwindigkeit auf vershiedenen Rehnerarhitekturen Geringe Speiheranforderungen für die Verwendung in mobilen Geräten 3. Eigenshaften für die Implementierung Eignung für vershiedenste Hard- und Softwaresysteme Einfahheit des Verfahrens Flexible Shlüssellänge 28, 92 und 256 Bit Blokgröße soll mindestens 28 bit betragen - 5 -
Seminararbeit Kryptographie: Der AES Algorithmus 6 / 9 2.2 Mathematishe Grundlagen Wie bereits erwähnt, basiert Rijndael auf Bytes und Worten. Die 8 Bit eines Bytes bilden eine Menge von 256 Elementen. In [DaeRij99] wird jedes Byte a = a 7... a als Polynom dargestellt: a 7 x 7 + a 6 x 6 + a 5 x 5 + a 4 x 4 +a 3 x 3 +a 2 x 2 +a x +a Auf das Polynom wird die Addition ( ) und eine Multiplikation ( ) erklärt: Die Addition besteht aus einer einfahen Exklusiv-oder-Verknüpfung (XOR) 3 der einzelnen Koeffizienten. Tehnish kann XOR 2 direkt auf ganze Bytes angewendet werden. Die Multiplikation ist wie das gewöhnlihe Polynomprodukt unter der Verwendung obiger Addition definiert. Anshliessend wird aber das so entstandene Polynom, das statt Grad 7 nun Grad 4 haben kann, modulo einem festen Polynom m(x) gerehnet. Dabei ist m(x) = x 8 + x 4 + x 3 + x + als Polynom über GF(2) irreduzibel, kann also nur duh und sih selbst geteilt werden. Eine solhe Multiplikation (a (x) (b (x)) mod m(x) kann mit der shrittweisen Multiplikation x b(x) leiht errehnet werden. Mit den so definierten Operationen bilden die 256 möglihen Werte eines Bytes einen endlihen Körper GF(2 8 ). Von diesem Körper ausgehend wird nun eine Addition (+) und eine Multiplikation ( ) auf Worten definiert. Es sei nun a j GF(2 8 ). Auf Worten a = a 3 a 2 a a, als Polynom a 3 x 3 + a 2 x 2 +a x +a, wird definiert: Die Addition mit der oben definierten Addition auf den Koeffizienten: (a 3 x 3 + a 2 x 2 + a x +a ) + (b 3 x 3 +b 2 x 2 + b x +b ) = (a 3 b 3 )x 3 + (a 2 b 2 )x 2 + (a b )x + (a b ) 3 Eine exklusiv-oder-verknüpfung ist ein Begriff aus der Aussagenlogik. Die Gesamtaussage ist wahr, wenn entweder die erste Aussage oder die zweite Aussage wahr ist, aber niht beide. Praktish entspriht das der Addition zweier Bits modulo 2. XOR-Verknüpung zweier Bits: XOR = XOR = XOR = XOR = - 6 -
Seminararbeit Kryptographie: Der AES Algorithmus 7 / 9 Die Multiplikation wie das gewöhnlihe Polynomprodukt über GF(2 8 ) mod M(x) = x 4 +. M(x) ist niht irreduzibel, da: (x 2 + ) (x 2 + ) = x 4 + ( ) x 2 + = x 4 + = M(x) Prinzipiell ist also niht jedes Polynom über GF(2 8 ) modulo M(x) invertierbar. Das in Rijndael einzige verwendete Polynom (x) [ = (3)x 3 + ()x 2 + ()x + (2)] zur Multiplikation (in MixColumn) ist aber invertierbar gewählt. Damit können Multiplikationen mit (x) durh Multiplikation mit (x) - [= (b)x 3 + (d)x 2 + (9)x + (e)] wieder rükgängig gemaht werden. Da die Worte oft als Spalte von 4 Bytes dargestellt werden, bietet es sih an, von der Polynomshreibweise in eine senkrehte Vektorshreibweise zu wehseln. Eine Multiplikation b(x) = x a(x) kann dann als Matrix-Vektor Multiplikation wie folgt dargestellt werden: b b b b 2 3 = a a a a 2 3 = a a a a 3 2 Offensihtlih handelt es sih dabei um eine zyklishe Vertaushung der Koeffizienten von a(x). Davon ausgehend können beliebige a(x) b(x) mit einer Matrix-Vektor-Multiplikation berehnet werden. - 7 -
Seminararbeit Kryptographie: Der AES Algorithmus 8 / 9 3 Spezifikation Rijndael 4 ist ein symmetrisher Blokhiffre. Das heißt, mit ein- und demselben Shlüssel können Daten blokweise vershlüsselt und entshlüsselt werden. Dabei können Blokgröße und Shlüssellänge unabhängig voneinander 28, 92 oder sogar 256 Bit betragen. Shon eine Shlüssellänge von 28 Bit maht das Durhprobieren aller Shlüssel 2 28-56 = 2 72 mal aufwendiger als bei DES. Nah Moore`s Law 5 verdoppelt sih die Rehenleistung alle 8 Monate. Danah ist in Jahren das Durhprobieren aller 28 Bit-Shlüssel bei AES ungefähr so zeitaufwändig wie beim DES heute. Werden gegen Rijndael keine brauhbaren Angriffsmöglihkeiten gefunden, so dürfte er mit Shlüsseln 92 Bit für die nähsten Jahre siher genug sein. 3. Die Struktur des AES Algorithmus Der AES Algorithmus wird in Runden ausgeführt. Runden bedeutet in diesem Zusammenhang, das Teile des Algorithmus mehrfah ausgeführt werden. Die Zahl der durhgeführten Rundendurhläufe hängt dabei von der Shlüssellänge (in Bit) und der Blokgrösse (in Bit) ab. Blokgröße 28 Blokgröße 92 Blokgröße 256 Shlüssellänge = 28 2 4 Shlüssellänge = 92 2 2 4 Shlüssellänge = 256 4 4 4 Tab. : Rundenanzahl AES basiert auf Bytes (8 Bit) und Worten (32 Bit). Im Folgenden wird ein Blok 6, als 6, 24 oder 32 Byte, beziehungsweise 4, 6 oder 8 Worte, als Rehtek dargestellt. Ein Kästhen a i,j ist dabei ein Byte, eine Spalte a,j a 3,j ein Wort: a, a, a,2 a,3 a,4 a,5 a, a, a,2 a,3 a,4 a,5 a 2, a 2, a 2,2 a 2,3 a 2,4 a 2,5 a 3, a 3, a 3,2 a 3,3 a 3,4 a 3,5 4 Die Bezeihnung Rijndael und AES sind äqvivalend und bezeihen beide denselben Alogithmus 5 965 von Gordon Moore (Intel-Mitbegründer) formuliertes Gesetz, nah dem sih a. alle ahtzehn Monate die Anzahl der Transistoren pro Chipflähe verzweifaht; d.h. Verdoppelung der Geshwindigkeit von Computerprozessoren bei gleihbleibendem Preis in diesem Zeitraum. 6 Blok bezeihnet hier auh die momentane Belegung der Bits mit den Werten oder. Im Englishen wird dies state genannt. - 8 -
Seminararbeit Kryptographie: Der AES Algorithmus 9 / 9 Abb. : Byte vs. Blok Zunähst wird auf den Imput-Blok (State) ein Rundenshlüssel (Roundkey) angewendet, der aus dem Shlüssel errehnet wird. Diese Transformation wird in AddRoundKey beshrieben. Nun beginnen die eigentlihen Runden. Jede Runde, außer der letzten, besteht aus vier Komponenten. Es folgt der Algorithmus der Vershlüsselung in PseudoCode: Round (word State, word Roundkey) { ByteSub(State); ShiftRow(State); MixColumn(State); AddRoundKey(State, Roundkey); } FinalRound (word State, word Roundkey) { ByteSub(State); ShiftRow(State); AddRoundKey(State, Roundkey); } Rijndael (byte State, byte CipherKey) { KeyExpansion (CipherKey, ExpandedKey); AddRoundKey(State, ExpandedKey); for (i = ; I < Nr; i++) Round (State, ExpandedKey + Nb*i); FinalRound(State, ExpandedKey + Nb*Nr); } - 9 -
Seminararbeit Kryptographie: Der AES Algorithmus / 9 - - 3.2 Die Transformationen ByteSub ByteSub arbeitet byteweise auf einem gegebenen Blok: Abb. 2: ByteSub Die ByteSub Transformation ist eine niht lineare Byte Substitution, die auf jedes Byte eines Bloks unabhängig von anderen Bytes angewendet wird. Dabei wird eine Substitutions-Tabelle (S-Box) verwendet. Für die S-Box gibt es eine explizite, nahvollziehbare Berehnungsvorshrift. Die S-Box wird durh Hintereinanderausführung der folgenden beiden (invertierbaren) Transformationen erzeugt: Die. Transformation: Ist a =a 7 a 6 a 5 a 4 a 3 a 2 a a ein Byte, so wird zur dazugehörigen Polynomdarstellung f(x) = a 7 x 7 + a 6 x 6 + a 5 x 5 + a 4 x 4 +a 3 x 3 +a 2 x 2 +a x +a GF(2 8 ) <=> GF(256) das (bezüglih der Multiplikation) inverse Polynom bestimmt: f - (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 x +b Das Ergebnis der. Transformation sind dann die Koeffizienten von f - (x), d.h.: b =b 7 b 6 b 5 b 4 b 3 b 2 b b. Das Nullbyte a = wird von der. Transformation auf das Nullbyte b = abgebildet. Die 2. Transformation: Auf b = b 7 b 6 b 5 b 4 b 3 b 2 b b wird folgende affine Transformation angewandt: 7 6 5 4 3 2 = * 7 6 5 4 3 2 b b b b b b b b + Das Ergebnis lautet somit = 7 6 5 4 3 2 a, a, a,2 a,3 a,4 a,5 a, a, a,2 a,3 a,4 a,5 a 2, a 2, a 2,2 a 2,3 a 2,4 a 2,5 a 3, a 3, a 3,2 a 3,3 a 3,4 a 3,5 b, b, b,2 b,3 b,4 b,5 b, b, b,2 b,3 b,4 b,5 b 2, b 2, b 2,2 b 2,3 b 2,4 b 2,5 b 3, b 3, b 3,2 b 3,3 b 3,4 b 3,5 S- Box
Seminararbeit Kryptographie: Der AES Algorithmus / 9 Bemerkungen: - Die. Transformation shützt AES gegen die differentielle und lineare Kryptoanalyse. Die Verknüpfung mit der 2. Transformation dient als Shutz gegen Interpolations-Attaken. - Es gibt kein Byte a, für das S(a) = a oder S(a) = a - gilt (S bezeihnet die S-Box Abbildung). - Die S-Box und damit die gesamte ByteSub Transformation sind invertierbar. 3.2. Die S-Box des AES Die Hintereinanderausführung der beiden Transformationen der ByteSub Transformation ergibt folgende S-Box: (Quelle: San aus [Waet3] S. 233) Anwendung: Abb.3: S-Box, Substitutionswerte für das Byte (xy) Das Byte xy (in Hexadezimaldarstellung) wird auf das Byte in der Zeile x und Spalte y abgebildet, z.b. S(47) = A = bzw. S( ) [4 7] = [A ] - -
Seminararbeit Kryptographie: Der AES Algorithmus 2 / 9 3.2 Die Transformationen ShiftRow Bei ShiftRow werden die Zeilen eines Blokes zyklish geshoben: b, b, b,2 b,3 b,4 b,5 b, b, b,2 b,3 b,4 b,5 b, b, b,2 b,3 b,4 b,5 b, b, b, b,2 b,3 b,4 b 2, b 2, b 2,2 b 2,3 b 2,4 b 2,5 b 2, b 2, b 2, b 2, b 2,2 b 2,3 b 3, b 3, b 3,2 b 3,3 b 3,4 b 3,5 b 3, b 3, b 3,2 b 3, b 3, b 3,2 Abb.4: Darstellung der ShiftRow Transformation Wie weit die Zeilen dabei geshoben werden, sind Parameter, die nur von der Blokgrösse abhängen. Bei 28 Bit Bloklänge wird die - 2. Zeile um eine Position - 3. Zeile um 2 Positionen - 4. Zeile um 3 Positionen nah links geshoben. Für 92 Bit arbeitet die ShiftRow Transformation genauso, bei 256 Bit wird dagegen in der 3. und 4. Zeile um je Position mehr vershoben, d.h. in der 3. Zeile um 3 und in der 4. Zeile um 4 Positionen. 3.3 Die Transformationen MixColumn MixColumn wird auf die Spalten eines Bloks angewendet: a, a, a,2 a,3 a,4 a,5 a, a, a,2 a,3 a,4 a,5 a 2, a 2, a 2,2 a 2,3 a 2,4 a 2,5 a 3, a 3, a 3,2 a 3,3 a 3,4 a 3,5 Mix Column b, b, b,2 b,3 b,4 b,5 b, b, b,2 b,3 b,4 b,5 b 2, b 2, b 2,2 b 2,3 b 2,4 b 2,5 b 3, b 3, b 3,2 b 3,3 b 3,4 b 3,5 Abb.5: Darstellung der MixColumn Transformation Shließlih werden die Spalten vermisht. Es wird zunähst jede Zelle einer Spalte mit einer Konstanten multipliziert und anshließend die Ergebnisse XOR verknüpft. S`, S`, S`2, S`3, 2 = 3 3 2 3 2 S, S, 3 S2, 2 S3, - 2 -
Seminararbeit Kryptographie: Der AES Algorithmus 3 / 9 Die Werte, 2 und 3 sind dabei ebenso wie S,... S 3, und S`,... S`3, als Bytes zu interpretieren, auf die die Addition und die Multiplikation angewandt wird, d.h. S`, = (2 S, ) (3 S, ) S 2, S 3, S`, = S, (2 S, ) (3 S 2, ) S 3,... 3.4 Vershlüsselung mit AddRoundKey In der Vorrunde und nah jeder weiteren Vershlüsselungsrunde wird AddRoundKey ausgeführt. Hierbei wird eine bitweise XOR-Verknüpfung zwishen dem Blok und dem aktuellen Rundenshlüssel vorgenommen. Dies ist die einzige Funktion in AES, die den Algorithmus vom Benutzershlüssel abhängig maht. Die Abbildung AddRoundKey ist eine einfahe Exklusiv-Oder-Verknüpfung des Bloks mit einem ebenso langen Rundenshlüssel. Der AES-Shlüssel mit Nk (Nk stellt die Anzahl der 32-Bit-Wörter im Shlüssel dar) Worten ( Wort = 4 Bytes) wird zu einem Shlüssel mit Nb (Anzahl der Spalten in einem Zustand) * (Nr [Anzahl der Runden] + ) Worten w[i] erweitert (siehe 3.5 Berehnung des Rundenshlüssels) Diesen erweiterten Shlüssel werden mit w[] beginnend der Reihe nah die erforderlihen Nr + Rundenshlüssel für die AddRoundKey() Transformation entnommen. Im folgenden Shema betrahte ih aus Gründen der Übersihtlihkeit nur den spezifizierten Fall Nb = 4. - 3 -
Seminararbeit Kryptographie: Der AES Algorithmus 4 / 9 Abb. 6: Ablauf von AddRoundKey Die XOR-Verknüpfung der AddRoundKey() Transformation erfolgt byteweise z.b: a 7 l 3 = b 7 oder a 3 q = b 3. Der genaue Ablauf findet sih in wenigen Zeihen Pseudoode in [DaeRij99]. - 4 -
Seminararbeit Kryptographie: Der AES Algorithmus 5 / 9 3.5 Die Berehnung des Rundenshlüssels (Shlüssel-Erweiterung) Die ersten Nk Worte w[],...,w[nk-] des erweiterten Shlüssels sind der originale AES- Shlüssel. Die weiteren Worte ergeben sih nah dem folgenden Shema, wobei Nk = 4, d.h. ein 28 Bit Shlüssel angenommen wird: Abb.7: Shlüssel-Erweiterung RotWord() vershiebt die 4 Bytes eines Wortes zyklish um Position nah links, d.h. RotWord([a,a,a 2,a 3 ]) = [a,a 2,a 3,a ]. SubWord() wendet auf jedes der 4 Bytes eines Wortes die S-Box Abbildung an. Die i-te Rundenkonstante ist das Wort Ron[i] = [x i-,,,], wobei das Nullbyte und x i- die (i- )-te Potenz von x=(2) hex bzgl. Der Multiplikation in GF (2 8 ) bezeihnet. - 5 -
Seminararbeit Kryptographie: Der AES Algorithmus 6 / 9 3.6 Die Entshlüsselung der inverse Algorithmus Die oben genannten vier Shritte in einer Runde von Rijndael lassen sih jeweils leiht invertieren: AddRoundKey ist zu sih selbst invers, da es ja nur XOR verwendet. Allerdings muss nun der Rundenshlüssel blokweise rükwärts verwendet werden. InvMixColumn funktioniert wie MixColumn, es muss lediglih das Polynom 7 : verwendet werden. (x) = B hex x 3 + D hex x 2 + 9 hex x + E hex InvShiftRow verhält sih wie ShiftRow. Es wird lediglih in die andere Rihtung geshoben. InvByteSub lässt sih direkt aus ByteSub konstruieren. Wiederum kann hierfür eine Tabelle mit 256 Paaren (b, a) GF(2 8 ) GF(2 8 ) verwendet werden. (x) in InvMixColumn hat offensihtlih deutlih größere Koeffizienten als (x). Daher ist das Entshlüsseln von Nahrihten aufwändiger als das Vershlüsseln. Obige vier Shritte können zum Teil vertausht werden. Zum Beispiel können InvByteSub und InvShiftRow vertausht werden, da InvByteSub ein einzelnes Byte unabhängig von den anderen ändert und InvShiftRow jedes Byte für sih unverändert lässt. Wendet man InvMixColumn auh auf den Rundenshlüssel an, so kann man sogar InvMixColumn und AddRoundKey vertaushen. So erhält man für die Entshlüsselung die selbe Struktur wie bei der Vershlüsselung: Zunnähst einmal AddRoundKey(State, Roundkey). Dann Runden der Form: InvRound(State, Roundkey) { } InvByteSub(State); InvShiftRow(State); InvMixColumn(State); AddRoundKey(State, InvMixColumn(Roundkey)); Eine letzte Runde ohne InvMixColumn und mit dem gewöhnlihen AddRoundKey(State, Roundkey). 7 Hier sind die Polynome von GF(2 8 ) kexadezimal notiert - 6 -
Seminararbeit Kryptographie: Der AES Algorithmus 7 / 9 4. Kryptographishe Stärke von AES Bei nur 6 Runden könnte unter Verwendung von 6*2 32 ausgewählen Klartextblöken mittels 2 44 komplexer Operation (d. h. a. 7 Billionen) der Shlüssel berehnet werden. Praktish heißt das: Etwa 4 GB vom Angreifer vorgegebener Klartext muss vershlüsselt und analysiert werden; wenn eine komplexe Operation eine Mikrosekunde dauert, brauht man dazu rund 2 Tage. 7 Runden; Hierzu sind fast 2 28 ausgewähle Klartexte (entsprehend a. 5* 39 Byte) und ein Rehenaufwand von 2 2 notwendig; bei Nanosekunde pro Operation ergäbe das 4* 9 Jahre (4 Trillionen). Man beahte, wie sprunghaft die Siherheit alleine durh das Hinzufügen einer 7. Runde wähst! Rijndael führt jedoh, wie obiger Tabelle entnommen werden kann, mindestens Runden durh! Wie bei allen praktishen kryptografishen Verfahren, kann die Siherheit jedoh niht bewiesen werden. Man kann nur testen, ob die bisher bekannten Angriffsmethoden der Kryptoanalyse versagen. Beim Entwurf von Rijndael wurde auf alle bekannten Attaken, wie lineare und differenzielle Kryptoanalyse eingegangen, so das ein Angriff mit allen herkömmlihen Verfahren niht effizienter sein sollte als ein Brute-Fore-Angriff. Mit der Shlüssellänge von 28 Bit ergibt sih ein Shlüsselraum von 3,4 x 38, mit 92 Bit 6,2 x 57 und mit 256 Bit, x 77. Wenn man nun annimmt, das es eine Mashine gibt, die den ganzen DES Shlüsselraum in einer Sekunde durhsuht, dann würde es bei Rijndael ungefährt 49. Billionen Jahre dauern. Man bedenke, das es das Universum seit weniger als 2 Billionen Jahren gibt bzw. geben soll! Man bedenke allerdings: Ähnlih unvorstellbar war das vor 2 Jahren auh noh für DES! AES erwies sih als resistent gegen alle möglihen Angriffe. Implementierungen von Rijndael können im Vergleih zu den anderen Kandidaten mit dem geringsten Aufwand gegen Angriffe geshützt werden, die auf Messungen von Änderungen der Stromaufnahme beruhen (s.g. Power Analysis-Attaken). Einfluss der Shlüssel: Durh die Verknüpfung mit dem Rundenshlüssel von der ersten Runde und als letzter Shritt innerhalb einer Runde wirkt sih dieser auf jedes Bit der Rundenergebnisse aus. Es gibt im Verlauf der Vershlüsselung eines Bloks keinen Shritt, dessen Ergebnis niht in jedem Bit vom Shlüssel abhängig wäre. Nihtlineare Shiht: Die S-Box Substitution ist eine stark nihtlineare Operation. Die Konstruktion der S-Box sorgt für nahezu idealen Shutz vor differentieller und linearer Krypoanalyse. Lineare Shiht: Die Shift Rows- und Mix Columns-Transformation sorgen für eine optimale Durhmishung der Bits eines Bloks. - 7 -
Seminararbeit Kryptographie: Der AES Algorithmus 8 / 9 4. Kryptoanalyse des AES Im Mai 2 gelang es Fergusion, Shroeppel und Whiting, den Algorithmus als geshlossene Formel darzustellen [FeSWh 2] allerdings mit 2 5 Termen, also etwa einer Billiarde Summanden. Niemand weiß, ob daraus jemals ein sinnvoller Angriff auf AES konstruiert werden kann, doh bisher ließ sih kein anderes siheres Verfahren in solh einer einfahen Form darstellen. Ein Qualitätssprung war jedoh die Arbeit von Courtois und Pieprzyk. Die Mathematiker beshrieben ganze Klassen von Chiffrierungen mittels sehr grosser Systeme quatratisher Gleihungen, zum Beispiel 28-Bit-AES als System von 8 Gleihen mit 6 Variablen. Derartige Systeme lassen sih im Allgemeinen niht mit vertretbarem Rehenaufwand lösen, doh in diesem Fall sind starke Vereinfahungen mittels der so genannten XSL-Methode möglih. Sie nutzt aus, dass die Gleihungssysteme mehr Gleihungen als Unbekannte enthalten (sie sind überbestimmt), die meisten Koeffizenten Null sind (shwah besetzt) und das sie eine besonders reguläre Struktur haben. Dank der Weiterentwiklung der XSL-Methode ersheint mittlerweile ein Angriff auf AES mit lediglih 2 Rehenoperationen denkbar. Diese Ergebnisse stellen einen Qualitätssprung in der Kryptoanalyse dar. Die bisherigen Methoden ließen Shlüssel ermitteln, allerdings nur mittels enormer Menge von Geheim- und meist auh Klartext. Der XSL-Angriff hingegen könnte die Rekonstruktionen des Shlüssels aus kleinen Mengen Geheimtext ermöglihen. Es überrasht auh, dass die Siherheit eines Blokalgorithmus gegen diesen Angriff offenbar niht mehr exponentiell mit der Rundenzahl steigt. Aber trotzdem gilt AES niht als unsiher. Viele Abshätzungen des Arbeitsaufwands basieren auf Vermutungen und auh 2 Rehenshritte sind eine sehr große Zahl. Die genannten Angriffe sind bislang also rein akademisher Natur und sind niht in der Praxis umsetzbar! 5 Bewertung und Ausblik Rijndael wurde vom NIST in einem sehr transparenten Prozess zum AES gewählt. Weltweit konnten sih viele Kryptographen vorab von der Siherheit von Rijndael überzeugen. Zwar wurden in den vergangenen vier Jahren theoretishe Shwähen bei Rijndael ausgemaht, doh bis heute ist kein brauhbarer Angriff gegen Rijndael bekannt. Hauptkritikpunkt an Rijndael ist, dass sih der Algorithmus oder Teile davon sehr leiht in geshlossenen mathematishen Formeln darstellen lassen. Dies sheint eine notwendige Konsequenz der Einfahheit und Eleganz von Rijndael zu sein. Die Tatsahe, dass ein Algorithmus in einem knappen Formelsystem beshrieben werden kann, sagt aber gar nihts darüber aus, wie shnell entsprehende Gleihungen gelöst werden können. Rijndael/AES hat in den vergangenen Jahren sehr viel an Akzeptanz gewonnen und wird in vielen Soft- und Hardwareprodukten, zum Beispiel PGP, SSH, IBM zseries 99, Mirosoft.NET und IBM WebSphere J2EE, eingesetzt. Meiner Meinung nah wurde mit Rijndael ein Vershlüsselungsalgorithmus gefunden, der den Namen AES zureht verdient! - 8 -
Seminararbeit Kryptographie: Der AES Algorithmus 9 / 9 6 Literaturhinweise [DaeRij99] Doemen, Joan; Rijmen, Vinent AES Proposal: Rijndael, Proton World Int., Katholishe Universität Leuven, 9/999 (http://www.esat.kuleuven.a.be/~rijmen/rijndael/) [waet3] Wätjen, Dietmar Kryptographie - Grundlagen, Algorithmen, Protokolle, Spetrum-Verlag, Berlin, 23, ISBN 3-8274-43-8, S. 225-24 [wob] Wobst, Reinhard Abenteuer Kryptographie Methoden, Risiken und Nutzen der Datenvershlüsselung, Addison-Wesley-Verlag, Münhen, 2, ISBN 3-8273-85-7, S. 23-237 und S. 7-8 [FeSWh 2] Niels Ferguson; Rihard Shroeppel; Doug Whiting A simple algebrai representation of Rijndael. Counterpane Internet Seurity, Sandia National Laboratory, Hi/fn, In. 2. Web-Quellen: Rijndael Speifiation: http://sr.nist.gov/cryptotoolkit/aes/rijndael/rijndael-ammended.pdf Reinhard Wobst. AES unter Beshuss: http://www.heise.de/t/2/2/38/ AES Beshreibung von Wikipedia.org: http://de.wikipedia.org/wiki/aes Beshreibung von Kristof Hamann: http://www.korelstar.de/aes.php - 9 -