Linearität, Konfusion und Diffusion

Beim Design von modernen, symmetrischen Verschlüsselungsverfahren unterscheidet man zwischen linearen und nichtlinearen Funktionen.

Lineare Funktionen sind solche, die bei Betrachtung der Ergebnisse eine aufsteigende, gleichbleibende Verteilung ergeben (z. B. 2, 4, 6, 8, 10...) oder mehreren dieser Veteilungen, die parallel verlaufen (z. B. 1, 3, 5, 7, 9... und 2, 3, 4, 6, 8, 10...). Ergebnisse linearer Funktionen sind eher hervorzusehen, weil sie sich in die Zahlenfolge auf einer Linie eingliedern. Typische lineare Funktionen sind die Rotation (ROTL oder ROTR) und XOR (Exklusiv-Oder) - Verknüpfung mit einer Konstanten. Lineare Funktionen sind einfach umkehrbar. So kann z. B. ein ROTL (x,2) durch ein ROTR (x,2) umgekehrt werden: ROTL (11001010,2) = 00101011 und ROTR (00101011, 2) ist wieder 11001010. Noch einfacher ist die Umkehrung einer XOR-Funktion: Sie muss einfach zwei mal angewendet werden.

Nichtlineare Funktionen hingegen sind solche, die kein lineares Muster ergeben (z. B. 13, 2, 5, 14, 1, 12...) und dessen Ergebnisse sich nicht in die Zahlenfolge auf einer Linie eingliedern, sondern zufällig bzw. willkürlich erscheinen. Typische nichtlineare Funktionen sind solche mit mehreren Variablen (z. B. aus dem Schlüssel), z. B. (ROTL (x,y) oder XOR(x,y).

Moderne, symmetrische, binäre Chiffren benutzen das Design-Pattern (Entwurfsmuster) Konfusion und Diffusion, um Sicherheit zu gewährleisten. Dabei sorgt der erste Teil, die Konfusion, dafür, die Daten möglichst unkenntlich zu machen, d. h. es möglichst schwierig zu machen, die Daten ohne den Schlüssel zu rekonstruieren. Die Konfusion geschieht meistens durch S-Boxen. Vom Prinzip her ist die Konfusion mit der klassischen Substitution vergleichbar.

Eine anschließende Diffusion sorgt dann dafür, dass die in der Konfusion erzeugten Daten möglichst stark durcheinandergewürfelt werden und sie für eine neue Runde vorzubereiten, die stark veränderte Ausgangsbedingungen bezüglich der Daten haben soll. Vom Prinzip her ist die Diffusion mit der klassischen Transposition vergleichbar.

Dies macht vor allen einen Sinn bei rundenbasierten Systemen, in der in jeder Runde eine Konfusion und Diffusion gekapselt sind. So kann man mehrere Runden desselben Algorithmus hintereinander ausführen, um die Komplexität des Chiffrats und damit die Sicherheit der Chiffre zu erhöhen. Ein rundenbasiertes Design hat den Vorteil, dass es speicherschonend ist. Um Performance (Geschwindigkeitseffizienz) zu gewährleisten, benutzt man möglichst einfache Operationen, die die CPU in nur wenigen Taktzyklen abarbeiten kann (z. B. XOR, ROT, SHIFT) und die auf allen Betriebssystemen (Software, Hardware, Chipkarten, Kleinrechner, Großrechner) ausgeführt werden können. Das sorgt für eine kurze Ausführdauer und dadurch auch zu Stromersparnis.

Quellen, Literaturverweise und weiterführende Links

Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 102
Wobst, Reinhard: Abenteuer Kryptologie, Addison-Wesley-Verlag 2001, S. 118