Seminar Kryptographie



Ähnliche Dokumente
Grundlagen der Kryptographie

Physik. Lichtgeschwindigkeit

Verkürzungsfaktor bei Antennen und Koax-Leitungen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

AES. Jens Kubieziel 07. Dezember Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Lineare Gleichungssysteme

DES der vergangene Standard für Bitblock-Chiffren

Tconverter Produkthandbuch. LCAI 2x038/0500 K013 one4all LCAI 2x050/0500 K013 one4all

Klausuraufgaben, Prüfungsleistung 06/08, Wirtschaftsmathematik, Betriebswirtschaft

Primzahlen und RSA-Verschlüsselung

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Konzepte der Informatik

Umgekehrte Kurvendiskussion

7 Rechnen mit Polynomen

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Zeichen bei Zahlen entschlüsseln

Lineare Gleichungssysteme

Guide DynDNS und Portforwarding

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

1 topologisches Sortieren

11. Das RSA Verfahren und andere Verfahren

Höhenmessung mittels Seeinterferometer unter Ausnutzung der solaren Radiostrahlung

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Professionelle Seminare im Bereich MS-Office

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Weiterführende Aufgaben zu chemischen Gleichgewichten

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Korrelation (II) Korrelation und Kausalität

Einführung in. Logische Schaltungen

Codierungsverfahren SS Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

Besprechung der thermodynamischen Grundlagen von Wärmekraftmaschinen und Wärmepumpen

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Informationsblatt Induktionsbeweis

8 Der Advanced Encryption Standard (AES)

Einführung in die Algebra

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

Digitale Signaturen. Sven Tabbert

Tutorial: Homogenitätstest

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

10. Kryptographie. Was ist Kryptographie?

(λ Ri I A+BR)v Ri = 0. Lässt sich umstellen zu

DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2)

Lineare Gleichungssysteme

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Beispiel Zusammengesetzte Zufallsvariablen

Anlegen eines DLRG Accounts

Von Bits, Bytes und Raid

Die reellen Lösungen der kubischen Gleichung

Mathematische Methoden in den Ingenieurwissenschaften 2. Übungsblatt

Was meinen die Leute eigentlich mit: Grexit?

Lenstras Algorithmus für Faktorisierung

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Theoretische Grundlagen der Informatik WS 09/10

Künstliches binäres Neuron

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

TECHNISCHE UNIVERSITÄT MÜNCHEN

Berechnung der Erhöhung der Durchschnittsprämien

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Einfache kryptographische Verfahren

Anmerkungen zur Übergangsprüfung

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Kapiteltests zum Leitprogramm Binäre Suchbäume

Eine Logikschaltung zur Addition zweier Zahlen

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Straf-Taten sind kriminelle Handlungen und Gewalt-Taten.

Mathematischer Vorbereitungskurs für Ökonomen

Computerarithmetik ( )

Frequenzanalyse. Der Abstand der diskreten Frequenzlinien ist der Kehrwert der Periodendauer:

DIFFERENTIALGLEICHUNGEN

Ein Scan basierter Seitenangriff auf DES

Die Übereckperspektive mit zwei Fluchtpunkten

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

erster Hauptsatz der Thermodynamik,

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Arbeitsrichtlinien. ESD-Schutzmaßnahmen

Algorithmische Kryptographie

Verarbeitung der Eingangsmeldungen in einem Callcenter

Daten verarbeiten. Binärzahlen

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Planen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher

GF(2 2 ) Beispiel eines Erweiterungskörpers (1)

6.2 Scan-Konvertierung (Scan Conversion)

Repetitionsaufgaben: Lineare Gleichungen

Zahlenmauern. Dr. Maria Koth. Ausgehend von dieser einfachen Bauvorschrift ergibt sich eine Vielzahl an möglichen Aufgabenstellungen.

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Erstellen von x-y-diagrammen in OpenOffice.calc

Transkript:

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 -