Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:kryptographie:aes_detail:start [30.03.2022 11:05] – [Was macht SubBytes?] sbel | faecher:informatik:oberstufe:kryptographie:aes_detail:start [30.03.2022 12:02] (aktuell) – [Vollständiger Verschlüsselungsvorgang] sbel | ||
---|---|---|---|
Zeile 81: | Zeile 81: | ||
Mache dir klar, dass die Eingabe von 0 beginnend hoch zählt (12Bytes weit), beziehungsweise von 255 beginnend abwärts zählt (4Bytes weit). | Mache dir klar, dass die Eingabe von 0 beginnend hoch zählt (12Bytes weit), beziehungsweise von 255 beginnend abwärts zählt (4Bytes weit). | ||
+ | |||
+ | **Tipp:** Wenn du im Cryptool die Bytes der Ergebnisse der Rundenoperationen anklickst, veranschaulicht Cryptool durch dünne Linien, wie der Byte-Wert zustandekommt. | ||
+ | |||
+ | ++++ Screenshot | | ||
+ | {{ : | ||
+ | ++++ | ||
+ | |||
+ | * Vollziehe die Funktionsweise der S-Box an diesem Beispiel nach, indem du die Ersetzungen der ersten 12 sowie der letzten 4 Bytes im Feld '' | ||
+ | * Ändere den Eingabetext und beobachte die Auswirkungen. Findest du passende Ersetzungen? | ||
+ | * Ändere den Schlüssel und beobachte die Auswirkungen: | ||
+ | |||
+ | Zusatzfrage: | ||
+ | |||
+ | ===== Die Funktionsweise von ShiftRow ==== | ||
+ | |||
+ | **ShiftRow** dient zur **kryptographischen Diffusion**. Im Cryptool wird " | ||
+ | |||
+ | Anschaulich rotiert ShiftRow die Bytes in den Zeilen der 4x4 Matrix des Byte-Blocks: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Im Cryptool ist die Permutation durch eine entsprechende Bytefolge im Abschnitt Konfiguration festgelegt. Für den " | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A3) === | ||
+ | |||
+ | Vollziehe im Cryptool nach, dass die Bytes in den Zeilen tatsächlich so vertauscht werden, wie im Bild oben dargestellt. | ||
+ | |||
+ | * Wie gelangt man von der Darstellung im Cryptool (z.B.: '' | ||
+ | * Notiere die Matrix für ein Beispiel aus Cryptool einmal vor und einmal nach ShiftRow. | ||
+ | |||
+ | ===== MixColumn ===== | ||
+ | |||
+ | Die Funktion MixColumn trägt wie ShiftRow zur **Diffusion** bei. Im Vergleich zum sehr simplen ShiftRow ist MixColumn komplexer, es wird eine spezielle " | ||
+ | |||
+ | **Wichtig: | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A4) === | ||
+ | |||
+ | Vollziehe im Cryptool nach, dass MixColumns tatsächlich aus allen Bytes einer Spalte ein neues Element der Byte-Matrix erzeugt und damit tatsächlich die Spalten durchmischt. | ||
+ | |||
+ | |||
+ | ===== AddRoundKey ===== | ||
+ | |||
+ | Die Funktion **AddRoundKey** verknüpft die Eingabe einer Runde exklusiv oder mit dem Rundenschlüssel. Vor der ersten Runde wird **AddRoundKey** mit dem ursprüngliche AES Schlüssel auf diese Weise mit dem Eingabetext verknüpft. | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A5) === | ||
+ | |||
+ | Vollziehe die erste Verknüpfung des AES Schlüssels mit dem Klartext im Cryptool nach. | ||
+ | |||
+ | * Verwende dazu zunächst als Schlüssel '' | ||
+ | * Ändere nun den Schlüssel an einer Stelle (z.B. ganz am Ende) und beobachte die Änderung des Felds '' | ||
+ | |||
+ | ===== Vollständiger Verschlüsselungsvorgang ===== | ||
+ | |||
+ | Jetzt können wir einen gesamten Verschlüsselungsvorgang nachvollziehen. | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A6) === | ||
+ | |||
+ | Vollziehe eine vollständige Verschlüsselung über alle 10 Runden grob nach: | ||
+ | |||
+ | * Mache dir klar, dass das Ergebnis einer Runde stets als Eingabe der folgenden Runde verwendet wird. | ||
+ | * Beobachte die Verwendung der 11 Subkeys im Verlauf der Verschlüsselung - wird tatsächlich in jeder Runde ein anderen Rundenschlüssel verwendet? | ||
+ | * Untersuche, ob in Runde 10 MixColumn durchgeführt wird oder nicht. | ||
+ | * Mache dir klar, dass durch diesen Ablauf ein Block von 128Bit Daten (Klartext) auf einen Block von 128Bit Daten " | ||
+ | |||
+ | ===== Zusatzaufgabe: | ||
+ | |||
+ | * Vollziehe die Entschlüsselung nach. | ||
+ | * Erstelle ein Ablaufdiagramm wie oben für den Entschlüsselungsvorgang. | ||
+ | |||
- | '' |