Werkzeugkasten für Codeknacker

CrypTool stellt zahlreiche Verschlüsselungs- und Analysemethoden zur Verfügung. In diesem Fall wird die Hill-Chiffre ausgeführt.

Das Open-Source-Programm CrypTool ist eine interessante Anwendung für alle, die sich für Verschlüsselung interessieren oder sich als Hobby-Codeknacker betätigen wollen

Der folgende Beitrag ist vor 2021 erschienen. Unsere Redaktion hat seither ein neues Leitbild und redaktionelle Standards. Weitere Informationen finden Sie hier.

CrypTool ist vor allem als Krypto-Lernsoftware gedacht. Es unterstützt eine Palette von über 60 kryptografischen Verfahren und Demos, die über eine grafische Benutzeroberfläche abrufbar sind. Das ansonsten oft trockene Thema Kryptografie soll dadurch anschaulich vermittelt werden. Neben Hobby-Anwendern nutzen auch Unternehmen CrypTool für Awareness- und Ausbildungszwecke.

Wie wichtig das sichere Verschlüsseln von Daten ist, musste das deutsche Militär im Zweiten Weltkrieg erfahren. Deutsche Soldaten setzten damals im Funkverkehr die Verschlüsselungsmaschine Enigma ein – ohne zu wissen, dass die Briten dieses Gerät längst geknackt hatten und daher mitlesen konnten. Gleichzeitig knackten aber auch deutsche Codeknacker regelmäßig die verschlüsselten Funksprüche der Amerikaner1, die ihrerseits die Geheimtexte der mehrerer japanischer Maschinen lösen konnten. Welche Entzifferungserfolge die mit hervorragenden Mathematikern ausgestattete Sowjetunion erzielen konnte, ist bisher leider nicht bekannt.2

Mit Aufkommen des Internets hat die Verschlüsselung (Kryptografie) auch außerhalb des Militärs eine große Bedeutung erlangt. Dadurch ist auch die Zahl der Menschen gestiegen, die sich mit Geschichte und Gegenwart der Verschlüsselungstechnik beschäftigen. Viele bekommen dabei Lust, selbst aktiv zu werden. Als geeignete Software für diesen Zweck gilt das Freeware-Programm CrypTool, das unter Beteiligung der Deutschen Bank entstanden ist. Interessierte können es unter www.cryptool.de herunterladen (leider gibt es bisher keine GNU/Linux- oder Mac-Version). Weitere Mitwirkende sind bei diesem Open-Source-Projekt jederzeit willkommen.

CrypTool ist eine Art kryptografischer Werkzeugkasten, der über 60 Verfahren aus der Welt der Verschlüsselung unterstützt und zusätzlich einiges Hintergrundwissen vermittelt. Zielgruppe sind Studenten, Schüler, Lehrer, Firmenmitarbeiter und sonstige Krypto-Interessierte, die Ihre Kenntnisse verbessern oder kryptografische Rätsel lösen wollen. PC-Heimanwender können damit auch Dateien und E-Mails verschlüsseln, auch wenn es dafür sicherlich bessere Programme gibt. Für einen produktiven Einsatz im Unternehmen ist CrypTool dagegen nicht geeignet.

Verschlüsselung von einfach bis kompliziert

Die Benutzeroberfläche von CrypTool besteht aus einem Texteditor sowie zahllosen Menü-Punkten zum Aufruf der kryptografischen Funktionen. Der Satz „KRYPTOGRAFIE IST SCHON SEHR ALT!“ sieht beispielsweise nach dem Aufruf einer Cäsar-Verschlüsselung wie folgt aus:

LSZQUPHSBGJF JTU TDIPO TFIS BMU!

Eine Vigenère-Verschlüsselung mit dem Schlüsselwort VIGENERE liefert folgendes Ergebnis:

FZETGSXVVNOI VWK WXPUR FIYV VTZ!

Eine Playfair-Verschlüsselung mit dem Schlüsselwort PLAYFAIR ergibt folgenden Geheimtext:

GCFLNQOGYPENCNNTBKQONKGBYASZ

Mit CrypTool lassen sich Texte schnell und einfach verschlüsseln

Weitere einfache Verfahren, die CrypTool unterstützt, sind Hill, ADFGVX und XOR. Die Dokumentation erklärt jeweils, was hinter diesen Methoden steckt. Etwas komplexer wird es bei den zahlreichen modernen Verschlüsselungsverfahren, die über CrypTool nutzbar sind. Zwar sind auch diese per Mausklick einfach einsetzbar und werden in der Dokumentation erklärt, doch hier ist es für den Laien deutlich schwieriger, die Funktionsweise zu verstehen. Wen dies nicht stört, der kann nach Belieben symmetrische Verschlüsselungsverfahren (z. B. AES oder DES), asymmetrische Verfahren (z. B. RSA oder Diffie-Hellman) oder kryptografische Hashfunktionen (z. B. MD5 oder SHA-1) aufrufen und sich das Ergebnis anschauen.

Das Spannendste an der Kryptografie ist allerdings nicht das Verschlüsseln, sondern, das Knacken von Codes. Bei modernen Verfahren ist dies zwar meist ein aussichtsloses Unterfangen, doch dafür sind für viele klassische Algorithmen wirksame Analysemethoden bekannt. Meist basieren diese auf statistischen Überlegungen und nutzen beispielsweise aus, dass das E der häufigste Buchstabe der deutschen Sprache ist, gefolgt vom N. CrypTool unterstützt eine ganze Palette derartiger statistischer Methoden. Geradezu trivial ist es beispielsweise, folgende Cäsar-Verschlüsselung zu knacken:

HFIFJNF OBDISJDIUFO HJCU FT TDIPO TFJU ÜCFS ESFJUBVTFOE KBISFO

Ein kurzes Buchstabenzählen mit CrypTool ergibt, dass das F der häufigste Buchstabe ist und damit für das E stehen muss. Ohne Mühe entschlüsselt man daher:

GEHEIME NACHRICHTEN GIBT ES SCHON SEIT ÜBER DREITAUSEND JAHREN.

Mit ähnlichen Funktionen kann man auch etwas schwierigeren Verschlüsselungen beikommen. Statistische Analysen liefern dem Code-Knacker oft gute Hinweise darauf, was für ein Verfahren eingesetzt wurde. Den Rest machen Erfahrung und Spürsinn aus. Der berühmte US-Code-Knacker William Friedman war vor dem Zweiten Weltkrieg in der Lage, nahezu jedes damalige Verschlüsselungssystem zu knacken, was er in über 1.000 Fällen demonstrierte. Die Lösungsmethoden, die er einsetzte, sind nahezu alle in CrypTool verfügbar. Die geniale Fähigkeit Friedmans, diese Methoden richtig zu nutzen, kann allerdings kein Computer-Programm liefern.

Die Dorabella-Chiffre stammt aus dem 19. Jahrhundert. Bis heute konnte niemand den Code knacken.

Doch trotz aller Forschritte im Codeknacken gibt es nach wie vor etwa ein Dutzend verschlüsselter Nachrichten aus der Vor-Computer-Zeit, die sich bisher allen Lösungsversuchen widersetzt haben (ein Beispiel ist [3], eine Übersicht bietet [2]). Einige dieser ungelösten Rätsel sind als Datei im Lieferumfang von CrypTool enthalten. Seit über einem Jahrhundert ungelöst ist beispielsweise die Dorabella-Chiffre, die (in Buchstaben übertragen) wie folgt aussieht (das Original ist in der Abbildung ersichtlich):

ABCDE FGDHA IJKLJ MJJFB BJNGO GNIP

GJGFQ DHRSC JJCFN KGJIJ FTPKL QHHQI P

CPFUP CLUUN PCJFU KPNDB NPFDL ED

Falls Ihnen das zu schwierig ist, können Sie Ihr Glück in einigen ebenfalls mitgelieferten Botschaften versuchen, die bereits gelöst sind. Oder wie wäre es mit folgendem kleinen Krypto-Rätsel, das sich die Autoren dieses Artikels ausgedacht haben (wer die Lösung gefunden hat, bitte ins Diskussionsforum stellen):

Dera Wmvti avfw dc hrarjxv Iefmvl göxqt:

Yvrjfühtvgpr Snwlnyme mgh lvi Jrjxmbfgpnxm,

ibjea, vf wea zev iaxp Hrmb hfw Ezoiqg yxwbrgsg

ztx, evilrj piomyerjyiv.

CrypTool im Einsatz

CrypTool gibt es bereits seit 1998. Initiator und Projektleiter ist Professor Bernhard Esslinger, Direktor IT-Sicherheit bei der Deutschen Bank. Er rief CrypTool zur Schulung von Mitarbeitern und zur Schaffung von Awareness ins Leben. Esslinger wollte zudem erreichen, dass kryptografische Implementierungen, die an Hochschulen entstehen, nicht in Vergessenheit geraten, sondern in einem geeigneten Rahmen weiterbestehen. In den vergangenen zehn Jahren sorgten zahlreiche Software-Entwickler, Studenten und Kryptografie-Begeisterte für eine ständige Weiterentwicklung von CrypTool, auch mehrere Unternehmen stellten kostenlos Code zur Verfügung. Bis heute koordiniert Bernhard Esslinger die Programm-Entwicklung, die nach wie vor läuft.

Zu den Nutzern von CrypTool gehören inzwischen neben Hobby-Anwendern auch Unternehmen und Bildungseinrichtungen. So berichtet Markus Hoffmeister, Geschäftsführer der auf Kryptografie spezialisierten Firma cv cryptovision: „Bei unseren Kryptografie-Schulungen lassen wir die Teilnehmer CrypTool auf ihren Laptops installieren. Dadurch kann jeder die wichtigsten Verfahren eigenhändig anwenden. Das bringt deutlich mehr als jede theoretische Erklärung.“ Auch neuen Mitarbeitern seines Unternehmens verordnet Hoffmeister zum Einstieg meist einige CrypTool-Lektionen. Im Gegenzug stellte cv cryptovision eigenen Code (für kryptografische Verfahren auf Basis elliptischer Kurven) für CrypTool zur Verfügung. „Für uns spielen diese Verfahren eine wichtige Rolle“, begründet Hoffmeister diesen Schritt, „daher liegt es in unserem Interesse, wenn Studenten und Krypto-Interessierte über CrypTool damit in Kontakt kommen.“

Bernhard Esslinger kann von weiteren CrypTool-Einsätzen erzählen: „Ich habe Kontakt zu mehreren Lehrern, die CrypTool im Unterricht nutzen. Der derzeitige Lehrplan in einigen Bundesländern (unter anderem Rheinland-Pfalz) sieht Kryptografie im Leistungskurs Mathematik als Wahlthema vor. Da bietet es sich an, CrypTool zu verwenden.“ Esslinger zitiert zudem einen Übungsgruppenleiter der Universität Freiburg: „Ich habe CrypTool schon oft zum Lösen und Vorbereiten von Aufgaben verwendet und fand es äußerst hilfreich.“ Für Lehrer und Dozenten ist neben dem Programm auch das mitgelieferte CrypTool-Skript eine wichtige Hilfe.3 Es bietet auf über 200 Seiten den kompletten Inhalt eines Kryptografie-Buchs, kostet jedoch nichts.

CrypTool für Fortgeschrittene

Einige der Funktionen von CrypTool gehen deutlich über ein einfaches Verschlüsseln oder Buchstabenzählen hinaus. So bietet das Programm eine Veranschaulichung der Krypto-Algorithmen auf Basis elliptischer Kurven (ECC-Verfahren). Dabei handelt es sich um Verfahren, die deutlich schneller sind als die bisher hauptsächlich eingesetzten RSA und DSA und dennoch eine gleichwertige Sicherheit bieten. ECC-Verfahren werden derzeit immer populärer. Einer ihrer Nachteile besteht jedoch darin, dass sie etwas schwieriger zu verstehen sind als herkömmliche Verfahren. Die ECC-Demo von CrypTool ist daher umso wertvoller, denn sie erleichtert das Verständnis. Die CrypTool-ECC-Demo zeigt, wie eine elliptische Kurve aussieht und wie die Punkte darauf addiert werden. Dabei ist der Unterschied zwischen diskreten und kontinuierlichen Kurven einfach erkennbar. Wer zudem die Funktionsweise eines Verfahrens wie Diffie-Hellman verstanden hat, kann sich die Arbeitsweise von ECC-Verfahren auf diese Weise gut vorstellen.

Elliptische Kurven spielen in der Kryptografie eine wichtige Rolle. CrypTool erklärt, wie sie funktionieren.

Wer weitere CrypTool-Funktionen ausprobieren möchte, der kann es mit gitterbasierten Angriffen auf das RSA-Verfahren, Secret-Sharing mit dem chinesischen Restsatz oder modularen Hin- und Rücktransformationen versuchen. Spätestens bei der Funktion „Zahlentheorie interaktiv“ wird aus CrypTool ein E-Learning-Programm, dessen Funktionsumfang über eine einfache Krypto-Lernsoftware hinausgeht. Auf zahlreichen Tafeln vermittelt das Programm die Grundlagen der Zahlentheorie von Primzahlen bis zu Kongruenzen. Dieses Wissen ist vor allem dann von Vorteil, wenn man sich mit Verfahren wie RSA, Diffie-Hellman oder ECC vertraut machen will, die mathematisch recht anspruchsvoll sind.

Wer nach all den Zahlen und Verschlüsselungen etwas Erholung braucht, kann sich das in CrypTool enthaltene Computerspiel „Der Zahlenhai“ vornehmen. In diesem geht es darum, einen Vorrat von (konfigurierbar vielen) Zahlen zwischen sich selbst und einem Hai aufzuteilen. Dies funktioniert nach einer einfachen Regel. Spielziel ist es, die größere Beute einzufahren. Je größer der Zahlenvorrat, desto schwieriger wird es. Auch das Zahlenhai-Spiel hat noch einige offene Rätsel zu bieten. So ist bisher kein brauchbarer Algorithmus bekannt, der eine optimale Lösung für jede Größe des Zahlenvorrats liefert. Immerhin wurden mit Hilfe eines amerikanischen Militärmathematikers bisher die besten Wege für Zahlenvorräte bis zur Größe von 158 gefunden.

Der Zahlenhai ist ein Lernspiel, bei dem Primzahlen eine wichtige Rolle spielen.

Nicht geeignet ist CrypTool für das Erraten von Passwörtern über eine Wörterbuchdatei. Auch sonst enthält das Programm keine Funktionen, die für einen Hacker eine nennenswerte Hilfe sein könnten. Die Dokumentation vermerkt dazu: „Die Autoren von CrypTool haben nicht versucht, kryptographische Funktionalität nachzubilden, für die es schon sehr gute freie Programme im Internet gibt: Deshalb sind z.B. Wörterbuch-Angriffe auf Passwortdateien [...] noch nicht in CrypTool enthalten.“ Dieses Fehlen hat immerhin den Vorteil, dass CrypTool höchstwahrscheinlich nicht vom als „Hackerparagraf“ bekannten §202c des Strafgesetzbuchs betroffen ist, das den Besitz von Hackertools unter Strafe stellt.

Für die nächste CrypTool-Version sind weitere Funktionen geplant. So soll es eine Visualisierung der US-Verschlüsselungsmaschine SIGABA geben, die als eine der wenigen im Zweiten Weltkrieg nicht geknackt wurde. Hinzu kommen S/MIME- und PGP-Veranschaulichungen, eine Visualisierung des Zero-Knowledge-Beweises, eine Demonstration der Huffman-Codierung und einige weitere Features. Darüber hinaus ist eine plattformunabhängige Java-Version von CrypTool geplant, die auch auf Apple- und Linux-Rechnern lauffähig ist.

US-Verschlüsselungsmaschine SIGABA.

Davon abgesehen hat Bernhard Esslinger für CrypTool einen Wunsch, der sich nicht durch ein zusätzliches Feature erfüllen lässt. Dieser bezieht sich auf die CrypTool beiliegenden verschlüsselten Texten aus vergangenen Jahrhunderten, die noch nicht gelöst sind. Esslingers Wunsch: „Es wäre eine tolle Sache, wenn es jemand schaffen würde, eines dieser Rätsel zu lösen.“4

Klaus Schmeh arbeitet als Produktmanager für die cv cryptovision in Gelsenkirchen. Zum Thema Kryptografie hat er ein populärwissenschaftliches Buch („Codeknacker gegen Codemacher“) sowie ein Fachbuch („Kryptografie. Verfahren, Protokolle, Infrastrukturen“) verfasst. Mari Kröning ist Praktikantin bei cv cryptovision