3. Betrieb von Blockchiffren Flashcards
drei typische Padding - Verfahren
Padding mit Längenfeld
PKCS#7: Padding auf Byteebene
ISO 9797-1
Betriebsarten
ECB
CBC
CTR
OFB
Electronic Code Book (ECB) mode
Jeder Klartextblock wird einzeln mit dem Schlüssel k verschlüsselt.
informationstheoretisch sichere Chiffre:
Bei jeder informationstheoretisch sicheren Chiffre muss der Schlüssel mindestens so lang sein wie die Nachricht.
semantischen Sicherhei
dass ein Angreifer (der den Schlüssel natürlich nicht kennt) mit realistisch begrenzten Ressourcen aus dem Chiffretext keine Informationen über den Klartext gewinnen kann.
Formal modelliert man das so, dass der Angreifer die nicht unterscheiden kann, zu welchem von zwei gleich langen Klartexten ein Chiffretext gehört.
Eine Chiffre heißt semantisch sicher, wenn ein effizienter Angreifer die Chiffretexte zu zwei selbstgewählten gleich langen Klartexten nicht mit einer Wahrscheinlichkeit signifikant größer als 0.5 unterscheiden kann.
IND-CPA
(indistinguishability under chosen-plaintext attacks)
Eine Chiffre heißt IND-CPA sicher, wenn ein effizienter Angreifer, dem ein Verschlüsselungs-Orakel zur Verfügung steht, die Chiffretexte zu zwei selbstgewählten gleich langen Klartexten nicht mit einer Wahrscheinlichkeit signifikant größer als 0.5 unterscheiden kann.
CBC Mode
CBC (Cipher Block Chaining)
wird jeder Klartextblock vor der Verschlüsselung mit dem vorhergehenden Chiffretextblock bitweise XOR-verknüpft.
Für den ersten Klartextblock verwendet man einen zufällig erzeugten Initialisierungsvektor (IV) in Blocklänge. Der IV wird unverschlüsselt mit der Nachricht übertragen.
CTR Mode
Input der Blockchiffre: fortlaufender Zähler, der für jeden Block inkrementiert wird
Verschlüsselung der Zählerwerte = Strom von Pseudozufallsbits
Diese werden gexort mit m
Die Blocklänge (128 Bits bei AES) wird also aufgeteilt, z.B. in einen 96-Bit IV und einen 32-Bit Zähler.
Was ist die maximal zulässige Länge einer Nachricht bei AES-CTR mit einem 32-Bit langen Zähler?
2^32 AES-Blöcke. Jeder AES-Block besteht aus 2^4 = 16 Bytes. Insgesamt also 2^36 Bytes oder 64 Gigabytes.
CTR Mode: Wie wirkt sich ein Übertragungsfehler in einem einzelnen Bit von c bei der Entschlüsselung aus?
Da durch ein bitweises XOR ver- und entschlüsselt wird, ist nur das entsprechende einzelne Bit des entschlüsselten Klartextes fehlerhaft.
nonce
nonce (number used once): Ein zur Initialisierung der Verschlüsselung verwendeter Wert, der sich bei jeder neuen Nachricht zum gleichen Schlüssel ändert