Aufgaben Netzsicherheit - Symmetrische Verschlüsselung
Grundlagen
- Was ist der Unterschied von Nachrichtenvertraulichkeit und -integrität?
- Nennen Sie je ein Beispiel für das Ziel Verbindlichkeit und Unverbindlichkeit!
- Woran können Sie bei gegebenem Chiffrat erkennen, ob es sich um ein Transpositionschiffre oder Substitutionschiffre handelt?
- Dechiffrieren Sie folgende Cäsar-Chiffre mittels des Befehls
tr : RVARVASNPUREGRFG
- Es wollen 10 Personen wechselseitig vertraulich kommunizieren. Wieviel Schlüssel werden insgesamt bei einer symmetrischen Verschlüsselung benötigt?
Stromchiffre
- Gegeben ist ein One-Time-Pad mit $c_1 = m_1 ⊕ k_1$. Ein Dritter erhält Zugriff auf $c_1$ und fordert unter Gewaltandrohung den Schlüssel $k_1$ zur Entschlüsselung. Ist es möglich, diesem Dritten mittels eines Schlüssels $k_2$ eine beliebig wählbare Nachricht $m_2$ vorzutäuschen?
- Ist ein Brute-Force-Angriff bei einem One-Time-Pad möglich?
- Warum ist ein Stromchiffre mit echtem Rauschen (TRNG) in vielen Fällen unpraktikabel?
- Können Sie anhand eines mitgeschnittenen Schlüsselstroms auf die Art der Schlüsselgenerierung schließen (TRNG, PRNG)?
- Warum darf bei einem Stromchiffre der Schlüssel nur einmal verwendet werden?
- Gegeben ist eine Stromchiffre mittels LCG mod 16. Sie konnten drei aufeinanderfolgende Werte des Schlüsselstroms mitlesen: 1 8 11. Bestimmen Sie die nächsten 3 Werte!
- Sie planen die Nutzung eines LFSR zur Zufallszahlengenerierung. Die Periode des Zahlenstroms sollte bei mindestens $10^9$ liegen. Wieviele Speicher benötigen Sie mindestens?
- Warum ist eine Manipulation des Chiffrates bei Stromchiffre besonders gefährlich? Wie kann das verhindert werden?
Blockchiffre
- Warum werden Blockchiffren manchmal als Stromchiffren betrieben?
- Welchen Betriebsmodus würden Sie wählen, wenn sowohl die Codierung als auch Decodierung parallelisiert werden soll und wahlfreier Zugriff auf Teile der Nachricht möglich sein soll?
- Welche Betriebsmodi führen nicht zu einer Vergrößerung des Chiffrates gegenüber des Klartextes?
- Warum ist es beim CFB-Modus wichtiger, einen Initialisierungsvekor nur einmal zu verwenden als beim CBC-Modus?
Lösung
Grundlagen
- siehe Vorlesungsfolien.
- Unterschreiben eines Vertrages. Unverbindliche Plauderei in einem Forum.
- Transposition: Zeichenhäufigkeit der Buchstaben bleibt gleich im Gegensatz zur Substitution.
-
Verschiebungen durchprobieren: cat data.txt tr A-Z N-ZA-M - Siehe Folien: a = n(n − 1)/2 = 45 Schlüssel
Stromchiffre
- Ja: $k_2 = c_1 ⊕ m_2$
- Nein. Da Schlüsselraum gleich Nachrichtenraum sind prinzipiell alle beliebigen Nachrichten möglich. Selbst bei a-priori Kenntnis von Teilen einer Nachricht, kann nicht auf andere Teile geschlossen werden.
- Schlüssel hat gleiche Länge wie Nachricht -> Schlüsselaustauschproblem
- Nein, statistische Tests werden i.d.R. von allen Generatoren bestanden. Die Periode bei PRNG kann so groß gewählt werden, dass diese nicht erkennbar ist.
- Aufgrund des Zusammenhangs zwischen Schüssel und Klartext $c_1 = m_1 ⊕ k$. Wird $m_1$ bekannt, wird damit auch $m_2$ bekannt.
- Gleichungssystem mit 2 Gleichungen aufstellen:
Als Lösung ergibt sich a = 5 und b = 3 und damit die Folge:
Folge: 1 8 11 10 5 12 15 14 9 0 3 2 13 4 7 6 1 . . .
Hinweis: Bei der Rechung modulo m kann eine Zahl a durch im ± a mit i ∈ Z ersetzt werden.
- $⌈\log_2(10^9)⌉ = 30$
- Aufgrund der Modulo-Operation können gezielt bestimmte Bits der Nachricht manipuliert werden -> Nachrichtenintegritätsprüfung einbauen.
Blockchiffre
- Echtzeitkommunikation, kein Warten auf vollständige Blöcke notwendig
- Counter-Modus hat keine Rückkopplung
- Alle Betriebsarten im Stromchiffre-Modus (CFB, OFB, CTR)
- CFB ist eine Stromchiffre mit XOR-Verknüpfung zwischen Klartext und Chiffrat
Fakultativ
Code-Demo
1
2
function some(code) { /*goes here*/ }
let x = 21;
Letzte Änderung: 30. May 2024 15:59