Der Schlüssel zu Matlab
Jörg J. Buchholz
27. Februar 2002
Seit es Begehrlichkeiten zwischen Lebewesen gibt, verschließen oder verstecken wir unsere Besitztümer, um sie vor dem Zugriff Anderer zu schützen; angefangen vom Hund, der seinen Knochen im Garten vergräbt oder dem Nashornvogel, der seine komplette Familie in einem Baum einmauert, bis hin zu atombombengeschützten Hochsicherheitstresoren,
in denen unser Gold lagert oder Terroristenchefs, die in weltweit ausgestrahlten Videos verschlüsselte Botschaften verstecken.
[...]
Inhaltsverzeichnis
1 „Ich bin ein verschlüsselter Prinz . . .“
2 Analytisch Effektiv Sicher
3 Jetzt geht’s rund
4 1 + 1 = 0
5 Alte Schachteln
6 Links, zwo, drei, vier
7 Alles dreht sich, alles bewegt sich
8 Last Orders Please
9 Schlüsselbund
10 Alles retour
11 Galois-Felder
Zielsetzung und thematische Schwerpunkte
Die vorliegende Arbeit erläutert die Funktionsweise des Advanced Encryption Standard (AES) und dessen Implementierung unter Verwendung von MATLAB, wobei besonderes Augenmerk auf die mathematischen Grundlagen in endlichen Körpern gelegt wird.
- Kryptographische Grundlagen und Symmetrische Verschlüsselung
- Aufbau und Funktionsweise des AES-Algorithmus
- Mathematische Implementierung mittels Galois-Feldern GF(2^8)
- Effiziente Umsetzung von AES-Transformationen in MATLAB
- Analyse von Angriffsvektoren und Sicherheitseigenschaften
Auszug aus dem Buch
3 Jetzt geht’s rund
Die Zustandsmatrix wird dann bei der Verschlüsselung in insgesamt elf Runden unter Benutzung des Schlüssels und der wiederholten Anwendung verschiedener Transformationen so gründlich verunstaltet, dass das analytische Rückrechnen zur Originalzustandsmatrix, ohne Kenntnis des Schlüssels, von allen Kryptanalytikern (momentan) als unmöglich bezeichnet wird:
% Erste Runde
state = add_round_key (state, round_key)
% Runde 2 bis Runde 10
for i_round = 2 : 10
state = sub_bytes (state, s_box)
state = shift_rows (state)
state = mix_columns (state, poly_mat)
state = add_round_key (state, round_key)
end
% Letzte Runde
state = sub_bytes (state, s_box)
state = shift_rows (state)
state = add_round_key (state, round_key)
Zusammenfassung der Kapitel
1 „Ich bin ein verschlüsselter Prinz . . .“: Einführung in die Notwendigkeit von Kryptographie zum Schutz immaterieller Güter und Vorstellung des Prinzips symmetrischer Verschlüsselung.
2 Analytisch Effektiv Sicher: Diskussion der Sicherheit von Blockalgorithmen am Beispiel des DES sowie Einführung der asymmetrischen Verschlüsselung.
3 Jetzt geht’s rund: Vorstellung des AES als Blockalgorithmus, der Daten in 128-Bit-Blöcken verarbeitet und in einer Zustandsmatrix organisiert.
4 1 + 1 = 0: Erläuterung der ersten Verschlüsselungsrunde, die aus einer Addition der Zustandsmatrix mit einem Rundenschlüssel besteht.
5 Alte Schachteln: Beschreibung der Runden zwei bis elf unter Verwendung der S-Box als deterministische Ersetzungstabelle.
6 Links, zwo, drei, vier: Detaillierte Darstellung der Transformationsschritte, speziell der zeilenweisen zyklischen Verschiebung innerhalb der Zustandsmatrix.
7 Alles dreht sich, alles bewegt sich: Erläuterung der mix_columns Transformation, die auf einer Matrixmultiplikation zur weiteren Diffusion der Daten basiert.
8 Last Orders Please: Beschreibung der finalen Schritte jeder regulären Verschlüsselungsrunde.
9 Schlüsselbund: Erläuterung der Initialisierungsphase und der Erzeugung der elf benötigten Rundenschlüssel.
10 Alles retour: Beschreibung des Entschlüsselungsprozesses als Umkehrung der einzelnen während der Verschlüsselung durchgeführten Transformationen.
11 Galois-Felder: Mathematische Fundierung der AES-Berechnungen durch Operationen in endlichen Körpern (GF(2^8)).
Schlüsselwörter
AES, Advanced Encryption Standard, Kryptographie, Symmetrische Verschlüsselung, Blockalgorithmus, Zustandsmatrix, Galois-Feld, GF(2^8), Rundenschlüssel, MATLAB, S-Box, bitxor, Kryptanalyse, Datensicherheit, Modulo-Division
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit der technischen und mathematischen Funktionsweise des Advanced Encryption Standard (AES) und dessen praktischer Umsetzung in MATLAB.
Was sind die zentralen Themenfelder?
Die zentralen Themen sind die Kryptographie, die Struktur von Blockalgorithmen, endliche Körper sowie die effiziente Implementierung kryptographischer Operationen in Programmiersprachen.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist es, den komplexen AES-Algorithmus durch MATLAB-Beispiele und mathematische Erklärungen transparent und verständlich zu machen.
Welche wissenschaftliche Methode wird verwendet?
Es wird eine analytische Methode angewandt, bei der der Algorithmus in seine mathematischen Einzeltransformationen zerlegt und diese jeweils einzeln beleuchtet werden.
Was wird im Hauptteil behandelt?
Der Hauptteil behandelt die Transformationen innerhalb der AES-Runden (wie S-Box, Zeilenverschiebungen, Spaltenmischung) sowie die notwendige Arithmetik in Galois-Feldern.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die wichtigsten Begriffe sind AES, Galois-Feld (GF(2^8)), Blockverschlüsselung, MATLAB-Implementierung und Kryptographie.
Warum verwendet AES bei der Addition eine XOR-Verknüpfung?
In der Arithmetik der Galois-Felder GF(2^8) wird die Addition zweier Elemente als bit-weise Exklusiv-Oder-Verknüpfung definiert, da dies für diese Körper die mathematisch korrekte Operation darstellt.
Was ist die Aufgabe der S-Box im AES?
Die S-Box dient als nicht-lineare Ersetzungstabelle, die jedes Byte der Zustandsmatrix deterministisch ersetzt, um die Sicherheit gegen kryptanalytische Angriffe zu erhöhen.
- Quote paper
- Prof. Dr.-Ing. Jörg Buchholz (Author), 2002, Der Schlüssel zu Matlab, Munich, GRIN Verlag, https://www.grin.com/document/2329