Konfusion (Kryptologie)
Konfusion ist in der Kryptologie eines der beiden zentralen Prinzipien zur Verschleierung von Strukturen eines Klartextes im Zuge einer Verschlüsselung oder beim Hashen. Das andere dieser Prinzipien ist die Diffusion. Sie gehen auf den amerikanischen Mathematiker Claude Shannon zurück.
Zweck
Zwischen Klartext und Geheimtext soll möglichst keine Beziehung erkennbar sein, die für einen Angriff ausgenutzt werden könnte. Jede Änderung des Klartextes soll sich auf unvorhersehbare Weise auf den Geheimtext auswirken, und Strukturen des Klartextes sollen im Geheimtext nicht mehr erkennbar sein. Ein Beispiel für eine Struktur eines Klartextes ist die Buchstabenhäufigkeit. Wenn im Klartext bestimmte Zeichen bzw. Bytes häufiger auftreten als andere, soll davon im Geheimtext nichts mehr zu erkennen sein.
Realisierung
Um Konfusion zu erreichen, muss ein kryptografisches Verfahren nichtlineare Operationen enthalten. Eine Abbildung der Eingabebits auf ein bestimmtes Ausgabebit ist hierbei linear, wenn das Ergebnis nur durch Additionen im Körper GF(2), das heißt durch XOR von Eingabebits und evtl. negieren des Resultats, berechnet wird. Anders gesagt, das Ergebnis kann als Polynom vom Grad 1 in den Eingabebits ausgedrückt werden.[1] Es wäre also ein Fehler, die Geheimtextbits nur durch XOR-Verknüpfung von Klartext- und Schlüsselbits zu berechnen. Ein Angriff mit bekanntem Klartext würde ein solches Verfahren leicht brechen.
In der Praxis setzt man unter anderem die Addition zweier Datenwörter (modulo , wobei die Zahl der Bits eines Worts ist) als kryptographisches Primitiv ein. Diese Operation ist nicht linear, weil bei der Addition zweier Bits das Übertragbit durch UND-Verknüpfung der Eingabebits, also durch Multiplikation in GF(2), berechnet wird.
Ein kryptografisches Verfahren ist meist als Abfolge von vielen ähnlich aufgebauten Runden konstruiert. Jede Runde besteht in der Anwendung einer Rundenfunktion auf den Datenblock. Wenn jede Runde nichtlineare Operationen enthält, dann verstärkt sich die Konfusion mit jeder zusätzlichen Runde, d. h. der Grad des einfachsten Polynoms, mit dem sich die Abbildung der Eingabebits auf ein Ergebnisbit ausdrücken lässt, nimmt mit der Zahl der Runden zu. Durch eine ausreichende Rundenzahl kann man also genügend Konfusion erzeugen, um das Verfahren kryptografisch sicher zu machen.
Viele moderne Verfahren nutzen nur die Addition von Wörtern als einzige nichtlineare Operation und kombinieren sie mit dem bitweisen XOR. Es zeigt sich, dass die abwechselnde Anwendung von Addition und XOR kryptografisch wirksamer ist als die Addition allein. Beispiele für Blockchiffren, die nur Addition und XOR zur Konfusionserzeugung nutzen, sind FEAL, TEA, XTEA und Threefish. Verfahren, die nur aus Addition, Rotation von Datenwörtern und XOR aufgebaut sind, wie etwa Threefish, nennt man auch ARX-Chiffren.
Viele kryptografische Verfahren enthalten S-Boxen als Bauelemente, die für starke Konfusion sorgen, da man weitgehend frei wählen kann, wie eine a×b S-Box die möglichen Werte der eingegebenen Bits auf die möglichen Ausgabewerte abbildet. S-Boxen werden z. B. in den Verschlüsselungsverfahren DES, AES, Blowfish, CAST und Serpent eingesetzt.
Einzelnachweise
- ↑ Klaus Pommerening: Linearitätsmaße für boolesche Abbildungen. 4. Juli 2008, abgerufen am 9. August 2020.