Szenario für die Verschlüsselung durch binäre Addition

Im folgenden wird ein Szenario für die Verschlüsselung durch binäre Addition vorgestellt. Die Veranschaulichung durch viele Bildschirmfotos erleichtert das Nachvollziehen der mit CrypTool durchgeführten Schritte.

Anhand eines Textdokuments wird die Verschlüsselung durch binäre Addition und ein Ciphertext-only-Angriff auf dieses Verfahren veranschaulicht. Es wird gezeigt, dass es bei manchen verschlüsselten Dokumenten einfach ist, den Schlüssel und somit auch den Klartext zu ermitteln. Wird der Klartext jedoch vor der Verschlüsselung gepackt, so können der Schlüssel und der Klartext nicht ohne weiteres mit CrypTool ermittelt werden, da die Häufigkeiten der einzelnen Zeichen vor der Verschlüsselung (aber nach dem Packen) nicht bekannt sind. Von nicht gepackten Dokumenten – wie beispielsweise Texte – hingegen sind gewisse Eigenschaften bekannt, die man sich für die Analyse zunutze machen kann.

Das hier gezeigte Szenario funktioniert in ähnlicher Weise mit einem binären Dokument, beispielsweise mit einem Bild (im Gegensatz zu dem in diesem Beispiel genutzten Textdokument). In einem Szenario für die Verschlüsselung durch exklusives Oder werden ähnliche Schritte wie hier durchgeführt; jedoch mit einem Bild in Form einer Bitmap, also einem binären Dokument.

Zuerst laden wir einen Teil des Hilfetextes ”Wie Sie starten” zu CrypTool, welche sich in der Datei CrypTool-de.txt befindet. Dieses Dokument wird in CrypTool (über das Menü Datei \ Öffnen) geöffnet.

szenarioadd1.gif

Bevor das Dokument verschlüsselt wird, werfen wir einen Blick auf die Häufigkeitsverteilung der Zeichen, das Histogramm (Menü Analyse \ Allgemein \ Histogramm).

szenarioadd2.gif

An dem Histogramm kann man sehen, dass das am häufigsten vorkommende Zeichen der Buchstabe E ist. Dies ist bei sehr vielen deutschen und englischen Texten der Fall. Diese Information werden wir uns später beim Angriff zunutze machen.

Zunächst wird das Textdokument wieder durch einen Mausklick aktiviert. Jetzt geschieht eine Verschlüsselung mittels binärer Addition (zu erreichen über das Menü Ver-/Entschlüsseln \ Klassisch \ Addition). Als Schlüssel wählen wir 12 34 AB CD und geben dies in den geöffneten Dialog ein.

szenarioadd3.gif

Nach Beenden des Dialoges mit dem Verschlüsseln-Knopf öffnet sich ein Fenster mit dem verschlüsselten Dokument.

szenarioadd4.gif

Als nächstes soll ein Ciphertext-only-Angriff durchgeführt werden. Dazu muss das im letzten Schritt verschlüsselte Dokument aktiviert sein. Über das Menü Analyse \ ciphertext only \ Addition wird zuerst die Autokorrelation berechnet und angezeigt.

szenarioadd5.gif

Nun wird der Dialog Automatische Analyse (Addition, exklusives Oder) geöffnet, in dem die ermittelte Schlüssellänge 4 ausgegeben wird. Wie wir am Anfang gesehen haben, ist das häufigste Zeichen das E. Der hexadezimale Wert von E ist 45 (siehe ASCII-Tabelle). Wenn wir aber noch einmal kurz zum Klartext zurückkehren, bemerken wir, dass das am häufigsten vorkommende Zeichen nicht der Großbuchstabe E , sondern der Kleinbuchstabe e ist. Bei den meisten Texten ist der Kleinbuchstabe e das am häufigsten vorkommende Zeichen. Bei kürzeren Texten könnte es auch das Leerzeichen mit hexadezimalem Wert 20 sein. Der hexadezimale Wert von e ist 65. Dieses geben wir in das entsprechende Feld ein.

szenarioadd6.gif

CrypTool war in der Lage, den Schlüssel zu finden, wie in der nächsten Abbildung zu sehen ist. Die einzige dazu benötigte Information war, dass das am häufigsten vorkommende Zeichen im Klartext der Kleinbuchstabe e ist.

szenarioadd7.gif

Nach Betätigung des OK-Knopfes erscheint ein neues Fenster mit dem Klartext.

szenarioadd8.gif

In der Titelzeile des Fensters sehen wir den Schlüssel 12 34 AB CD, mit dem das Textdokument anfangs verschlüsselt worden ist.

In diesem Fall war es also kein Problem für CrypTool, den Schlüssel und somit auch den Klartext eines verschlüsselten Dokuments zu ermitteln, da wir eine Information über das verschlüsselte Dokument hatten, nämlich dass es sich um einen Text handelt. Außerdem wussten wir, dass bei Texten der Kleinbuchstabe e oft das am häufigsten auftretende Zeichen ist.

Wenn der Text vor der Verschlüsselung aber gepackt wird, so können wir nicht von der Häufigkeitsverteilung der Zeichen im Text auf die Häufigkeitsverteilung des gepackten Textes schließen, da durch den Vorgang des Packens neben der Verringerung der Größe die Häufigkeiten der einzelnen Zeichen nichts mehr mit der Häufigkeit der Zeichen im ursprünglichen Text zu tun haben. Damit kennen wir aber auch nicht das häufigste Zeichen und können CrypTool nicht bei der Analyse helfen.

Zum Packen des Dokuments muss es zuerst wieder aktiviert werden.

szenarioadd1.gif

Nun kann es über das Menü Komprimieren \ ZIP gepackt werden.

szenarioadd19.gif

Nach der Anzeige des Kompressionsgrades (siehe Befehl Dokument Komprimieren (ZIP)) wird das gepackte Dokument angezeigt.

szenarioadd9.gif

Auch für dieses Dokument werfen wir zunächst einen Blick auf das Histogramm (Menü Analyse \ Allgemein \ Histogramm).

szenarioadd10.gif

Man erkennt sofort, dass sich durch das Packen eine ganz andere Charakteristik des Histogrammes ergibt als im vorherigen Histogramm für das unkomprimierte Dokument. Die Zeichen sind viel gleichmäßiger verteilt als bei dem unverschlüsselten Dokument.

Nun ist es zwar möglich, die Analyse eines verschlüsselten Dokuments zu versuchen, aber da wir keine Kenntnis des häufigsten Zeichens in einem komprimierten Dokument haben, können wir CrypTool bei der Analyse nicht unterstützen und müssen nachher den Vorgabewert 00 übernehmen.

Zuerst verschlüsseln wir das Dokument, das vor dem Aufruf der Funktion zum Verschlüsseln erst wieder aktiviert werden muss, mit dem gleichen Schlüssel wie vorher: 12 34 AB CD.

szenarioadd3.gif

Nach der Eingabe des Schlüssels und Betätigung des OK-Knopfes erscheint wie gewohnt das Fenster mit dem verschlüsselten Dokument.

szenarioadd11.gif

Nun rufen wir erneut die Analyse auf und sehen, dass mit der Autokorrelation die Länge des Schlüssels nicht so gut wie vorher bestimmt werden kann.

szenarioadd12.gif

CrypTool findet die falsche Schlüssellänge 34.

szenarioadd13.gif

Damit wird der richtige Schlüssel auch nicht gefunden.

szenarioadd14.gif

Durch einen Mausklick auf den OK-Knopf erhalten wir das – natürlich falsche – Klartext dokument. Dieses Dokument hat keinerlei Ähnlichkeit mit dem ursprünglichen gepackten, aber unverschlüsselten, Dokument.

szenarioadd15.gif

Zuletzt wollen wir noch überprüfen, ob sich aus dem gepackten und dann verschlüsselten Dokument wieder das lesbare Textdokument ermitteln lässt. Dazu müssen wir den Schlüssel, mit dem das Dokument verschlüsselt worden war, (12 34 AB CD) und das Verschlüsselungsverfahren (binäre Addition) kennen. Zuerst muss das gepackte verschlüsselte Dokument aktiviert werden.

szenarioadd11.gif

Jetzt entschlüsseln wir das Dokument mit dem bekannten Schlüssel. Dabei ist darauf zu achten, dass in dem Dialog Entschlüsseln ausgewählt ist, sich also ein Punkt in dem Kreis links von dem Feld befindet. Dies geschieht durch Anklicken des Feldes.

szenarioadd18.gif

Durch Betätigung des OK-Knopfes erhalten wir das unverschlüsselte, aber noch gepackte Dokument.

szenarioadd16.gif

Nun kann es über das Menü Komprimieren \ UNZIP wieder entpackt werden und wir erhalten schließlich wieder den Originaltext.

szenarioadd17.gif