Kaskadierung

Als Kaskadierung wird das Hintereinanderschalten mehrerer Systeme, in diesem Fall Kryptoalgorithmen, bezeichnet. Ein Beispiel:

AES(3DES(Blowfish(„Hallo“,key1),key2),key3)

Wobei key1 != key2 != key3 ist. Der erste Parameter ist der zu verschlüsselnde Text, der zweite der Schlüssel.

Das bemerkenswerte an diesem Beispiel ist, das der 3Des (Tripple-DES) schon in sich aus einer Kaskadierung von drei DES Algorithmen besteht:

3DES = DES(DES(DES(text,key1),key2),key3)

Allerdings ist hier zu bemerken, das der mittlere Baustein eine Entschlüsselung ist. Der 3DES arbeitet nämlich üblicherweise im EDE-Modus: encryption – decryption – encryption.

Wieso? Nunja, der DES hat eine effektive Schlüssellänge von 56 Bit und diese wurde durch das Verwenden von drei unabhängiger Schlüssel auf 168 Bit vergrößert.

Die große Frage ist nun: ist das Brechen einer kaskadierten Verschlüsselung schwieriger, als das einer einzelnen. Die Antwort ist simpel: JAIN.

Ein Beispiel: Wir definieren eine Verschlüsselung E und E‘ wobei E‘ = E^-1 also: E‘ ist die inverse von E. Wir verschlüsseln im ECB Modus, B entspricht dem ersten Block:

E'(E(B,key1),key1) = B

Wir erhalten also nun nach dieser doppelten Verschlüsselung, den Ausgangsblock. Nun würde jeder dagegen halten, das bei einer Kaskadierung unabhänige Schlüssel verwendet werden. Das ist richtig. aber es gibt noch andere Probleme. Z.B. nehmen wir eine additive Chiffre, dann verschlüsselt wir mit:

c = (p+k) mod m

Das p entspricht dem Plaintextzeichen, das k dem Schlüssel und das m der Länge des Alphabets. Nun kaskadieren wir diese Chiffre:

c = (((p+k1) mod m) + k2) mod m

an dieser Stelle darf das innere „mod m“ entfernt werden, ohne das sich dabei die Gleichung ändert:

c = (p+k1+k2) mod m

Und nun definieren wir ein k=(k1+k2):

c= (p+k) mod m

Wer hat’s gemerkt? Es handelt sich dabei um die ursprüngliche additive Chiffre. Wir haben also an dieser Stelle nichts gewonnen. Das liegt daran, das hier „Strukturgleichheit“ herrscht. Die Kaskadierung der gleichen Chiffre führt unter Umständen also nur dazu, das der Schlüssel sich ändert.

So ganz genau weiß man nicht, ob es sinnvoll ist, zwei konkrete Chiffren zu kaskadieren. Es könnte sich herausstellen, das es einfacher ist ein AES+Blowfish zu entschlüsseln, als lediglich ein AES, wenn sich der Blowfish invers verhält. Zugegeben, ist dies sehr unwahrscheinlich, aber nicht unmöglich.

Im Allgemeinen sagt man, das die Kaskadierung mindestens so sicher ist, wie die erste Chiffre der Kette. Es ist sehr wahrscheinlich das eine Kaskadierung mit verschiedenen Schlüsseln eine größere Sicherheit bietet, es ist allerdings nicht bewiesen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.