Key Whitening (oft auch nur Whitening) ist eine kryptologische Technik, mit der die Sicherheit iterierter Blockchiffren erhöht wird. Bei einer Verschlüsselung mit Whitening wird ein Klartextblock vor der ersten Runde mit Teilen des Schlüssels verknüpft (pre-Whitening); zumeist wird hier XOR verwendet. Einige Chiffren verwenden Whitening zudem auch nach der letzten Runde (post-Whitening).[1][2]

Die erste Blockchiffre, welche eine Form des Key Whitenings verwendet, ist DES-X, welche einfach zwei zusätzliche 64-Bit-Schlüssel für das Whitening verwendet, darüber hinaus ein normaler 56-Bit-DES-Schlüssel.[3] Dies dient zur Erschwerung eines Brute-Force-Angriffs, indem die effektive Größe des Schlüssels ohne wirkliche Änderungen am Algorithmus erhöht wird. Der Erfinder von DES-X Ron Rivest nannte diese Technik dann Whitening.[4]

Das Whitening dient vor allem bei Feistelchiffren dazu, Strukturen des Klartexts und der Eingabe der letzten Runde zu verschleiern und so die Komplexität eines Angriffs zu erhöhen.

Beispiele für Chiffren mit Whitening sind RC5, RC6, MARS, Twofish und Rijndael.

Einzelnachweise

Bearbeiten
  1. Bruce Schneier: Applied cryptography : protocols, algorithms, and source code in C. Wiley, New York 1996 (archive.org [abgerufen am 25. Mai 2020]).
  2. C. Paar, J. Pelzl: Understanding Cryptography: A Textbook for Students and Practitioners. Springer Berlin Heidelberg, 2009, ISBN 978-3-642-04101-3, S. 142 (google.de [abgerufen am 16. Februar 2024]).
  3. algorithm design - How exactly does key whitening manage to increase security? Abgerufen am 25. Mai 2020.
  4. Key whitening. Abgerufen am 25. Mai 2020 (englisch).