faecher:informatik:oberstufe:kryptographie:aes_detail:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:kryptographie:aes_detail:start [30.03.2022 13:17] – [Die Funktionsweise von ShiftRow] sbelfaecher:informatik:oberstufe:kryptographie:aes_detail:start [30.03.2022 14:02] (aktuell) – [Vollständiger Verschlüsselungsvorgang] sbel
Zeile 96: Zeile 96:
 ===== Die Funktionsweise von ShiftRow ==== ===== Die Funktionsweise von ShiftRow ====
  
-**ShiftRow** dient zur **kryptographischen Diffusion**. Im Cryptool wird "ShiftRow" als **Permutation** benannt+**ShiftRow** dient zur **kryptographischen Diffusion**. Im Cryptool wird "ShiftRow" als **Permutation** (Vertauschung) benannt
 + 
 +Anschaulich rotiert ShiftRow die Bytes in den Zeilen der 4x4 Matrix des Byte-Blocks: 
 + 
 +{{ :faecher:informatik:oberstufe:kryptographie:aes_detail:shiftrow.drawio.png |}} 
 + 
 +Im Cryptool ist die Permutation durch eine entsprechende Bytefolge im Abschnitt Konfiguration festgelegt. Für den "Standard AES" Algorithmus wird stets getauscht, wie im Bild dargestellt. 
 + 
 + 
 + 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (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.: ''637c777b f2556fc5 3001ca82 b054bb16'' zur Matrix wie im Bild dargestellt? 
 +  * 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 "Multiplikation" der Bytes in der Matrix verwendet, welche mit  "Exklusiv-Oder" Verknüpfungen kombiniert wird. Eine genaue Betrachtung führt an dieser Stelle zu weit. 
 + 
 +**Wichtig:** Während ShiftRow für eine Durchmischung der Zeilen sorgt, führt **MixColumn ein spaltenweises Mischen** durch. 
 + 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (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.  
 + 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A5) === 
 + 
 +Vollziehe die erste Verknüpfung des AES Schlüssels mit dem Klartext im Cryptool nach.  
 + 
 +  * Verwende dazu zunächst als Schlüssel ''00000000 00000000 00000000 00000000'' Der Eingabetext wird durch das initiale  AddRoundKey nicht verändert - warum nicht?  
 +  * Ändere nun den Schlüssel an einer Stelle (z.B. ganz am Ende) und beobachte die Änderung des Felds ''Eingabe für Runde 1''. Vollziehe diese Veränderung mit der XOR Verknüpfung nach. Dazu kannst du die betroffenen Bytes Bitweise untereinander schreiben.((Oder ein Werkzeug wie den XOR Calculator vwerdenden: https://xor.pw/)) 
 + 
 +===== Vollständiger Verschlüsselungsvorgang ===== 
 + 
 +Jetzt können wir einen gesamten Verschlüsselungsvorgang nachvollziehen. 
 + 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (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 "abgebildet" werden, die nun als Geheimtext bezeichnet werden können. Das geschieht in 10 Runden - beim AES handelt es sich also um eine **rundenbasierte Blockchiffre**. 
 + 
 +===== Zusatzaufgabe: Entschlüsselung ===== 
 + 
 +  * Vollziehe die Entschlüsselung nach.  
 +  * Erstelle ein Ablaufdiagramm wie oben für den Entschlüsselungsvorgang. 
 + 
 + 
  • faecher/informatik/oberstufe/kryptographie/aes_detail/start.1648639033.txt.gz
  • Zuletzt geändert: 30.03.2022 13:17
  • von sbel