Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:kryptographie:aes_detail:start [30.03.2022 12:38] – [Was macht SubBytes?] sbel | faecher:informatik:oberstufe:kryptographie:aes_detail:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== AES etwas genauer betrachtet ====== | ||
- | Um diesen Abschnitt bearbeiten zu können, solltest du mit den wesentlichen Begriffen der modernen symmetrischen Kryptoverfahren vertraut sein. | ||
- | |||
- | ===== Schlüssellänge und Rundenzahl ===== | ||
- | |||
- | Die **Blocklänge** des AES beträgt **128 Bit**. Die AES-Schlüssellänge kann wahlweise auf 128, 192 oder 256 Bit festgelegt werden, die Rundenzahl hängt von der gewählten Schlüssellänge ab: | ||
- | |||
- | ^Schlüssellänge ^ Rundenzahl ^ | ||
- | |128 Bit | 10 | | ||
- | |192 Bit | 12 | | ||
- | |256 Bit | 14 | | ||
- | |||
- | ===== Klartextblock als Matrix ===== | ||
- | |||
- | Alle Operationen werden auf einer 4x4 Byte Matrix ausgeführt, | ||
- | |||
- | {{ : | ||
- | |||
- | ===== Rundenaufbau ===== | ||
- | |||
- | Wir betrachten nur den AES mit 128Bit Schlüssellänge und 10 Runden. | ||
- | |||
- | Der AES verfügt über die folgenden Operationen, | ||
- | |||
- | * SubBytes | ||
- | * ShiftRow | ||
- | * MixColumn | ||
- | * AddRoundKey | ||
- | |||
- | Die mathematischen Details der Operationen beleuchten wir an dieser Stelle nicht. | ||
- | |||
- | Der Ablauf ist wie folgt: | ||
- | |||
- | {{ : | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A1) === | ||
- | |||
- | Wieviele Rundenschlüssel sind nötig? Wie viel (Bit/Byte) Schlüsselmaterial muss bei der Schlüsselaufbereitung erzeugt werden? Ein Rundenschlüssel ist 16Byte lang. | ||
- | |||
- | Beobachte die Schlüsselaufbereitung im [[https:// | ||
- | |||
- | Überprüfe, | ||
- | |||
- | {{ : | ||
- | |||
- | |||
- | ===== Was macht SubBytes? ===== | ||
- | |||
- | Die Rundenfunktion " | ||
- | |||
- | Bei der Ersetzung wird nun jedes Byte der 4x4 Matrix durch seine entsprechende Ersetzung ersetzt. Im [[https:// | ||
- | |||
- | {{ : | ||
- | |||
- | Dabei sind 2 Hexadezimale Stellen jeweils ein Byte und man zählt vom Beginn der S-Box an von 00 bis FF (von 0 bis 255), damit ergeben sich folgende Ersetzungen: | ||
- | |||
- | < | ||
- | 00 -> 63 | ||
- | 01 -> 7c | ||
- | 02 -> 77 | ||
- | ... | ||
- | fe -> bb | ||
- | ff -> 16 | ||
- | </ | ||
- | ---- | ||
- | {{: | ||
- | === (A2) === | ||
- | |||
- | Arbeite im [[https:// | ||
- | |||
- | Das hat zur Folge, dass die erste Anwendung von AddRoundKey auf den Eingabetext - bevor die Runden beginnen - keine Auswirkung auf die Bitfolge hat, auf die die S-Box angewandt wird. |