Grundlagen und Anwendungen der Kryptografie
AES (Blocklänge 16 Byte) wird im CBC-Modus mit Padding nach PKCS#7 verwendet. Bei PKCS#7 werden, wenn n Byte fehlen, n Bytes mit dem Wert n angehängt; ist die Länge des Klartexts genau ein Vielfaches von 16, werden ebenfalls 16 Bytes mit dem Wert 16 angehängt. Wie lang ist der Geheimtext (ohne IV), wenn ein Klartext von 96 Byte verschlüsselt wird?
- A96 Byte
- B112 Byte
- C128 Byte
Antwort und Erläuterung anzeigen
Antwort: B. 112 Byte
96 Byte sind genau 6 Blöcke zu 16 Byte, doch bei PKCS#7 wird auch dann, wenn die Länge aufgeht, ein ganzer Block aus 16 Bytes mit dem Wert 16 angehängt. Der Klartext wird so 96 + 16 = 112 Byte (7 Blöcke) lang, und der Geheimtext ebenfalls 112 Byte. Auch bei aufgehender Länge wird angehängt, damit die entschlüsselnde Seite das Padding immer anhand des Werts des letzten Bytes entfernen kann. In Modi wie dem CTR-Modus oder GCM, die mit einem Schlüsselstrom per XOR verknüpfen, ist kein Padding nötig, und der Geheimtext ist genauso lang wie der Klartext.
Weiter: 9 weitere Fragen zu Grundlagen und Anwendungen der Kryptografie