2. Kryptographie in 5 Minuten

Seit Jahrtausenden versuchen Menschen den wahren Inhalt ihrer Nachrichten an andere so zu verstecken, dass der Inhalt nur dem gewünschten Adressaten zugänglich ist. Königreiche sind zu Grunde gegangen, Schlachten gewonnen worden, weil diese Geheimhaltung gelang - oder eben nicht1.

Die Wissenschaft von der Ver- und Entschlüsselung (engl. Encryption und Decryption) von Informationen zum Zwecke der Geheimhaltung bezeichnet man als Kryptographie. Das Gegenstück stellt die Kryptoanalyse dar, das Studium der Methoden, um verschlüsselten Informationen wieder ihre ursprüngliche Bedeutung zu entlocken, auch wenn man das verwendet Verschlüsselungsverfahren bzw. den verwendeten Schlüssel nicht kennt2.

2.1 Codes und Chiffren

Als Code3 bezeichnet man ein Verfahren, um die Form oder die Darstellung von Informationen zu ändern; so dient der Morsecode dazu, die Übertragung von Texten über “dünne” Kanäle - beispielsweise Telegrafenleitungen - zu ermöglichen. Wer immer das Codebuch besitzt, kann die Verwandlung von Text in Morsecode und umgekehrt vornehmen. Andere bekannte Kodierungen sind UTF-8 oder auch alle verlustlosen Kompressionsverfahren wie z.B. Zip und Gzip.

Im Gegensatz zum Code hat eine Chiffre (engl. cipher), den expliziten Zweck, eine Nachricht zu verschlüsseln, d.h. für einen unbefugten Leser unverständlich zu machen. Eine Chiffre arbeitet typischerweise auf Ebene der Buchstaben, d.h. die Buchstaben des Klartextes (engl. cleartext) werden durch andere ersetzt, sodass ein chiffrierter Text (engl. ciphertext) dabei herauskommt, den nur ein Eingeweihter wieder in den ursprünglichen Klartext zurückverwandeln kann.

Eine bekannte Chiffre ist die Caesar-Verschiebung, die jeden Buchstaben einer Nachricht durch einen anderen Buchstaben ersetzt, indem man sich im Alphabet um N Stellen nach vorne bewegt. Kommt man dabei über den letzten Buchstaben hinaus, dann fängt man im Alphabet wieder von vorne an. So wird aus dem Klartext

die schlacht beginnt bei morgengrauen

und einem N=9 der folgende Chiffretext4:

MRN BLQUJLQC KNPRWWC KNR VXAPNWPAJDNW 

Die Erkenntnis, dass die Sicherheit eines Verschlüsselungsverfahrens nicht von der Geheimhaltung des verwendeten Algorithmus abhängen sollte, sondern von der Geheimhaltung des Schlüssels, nennt man Kerckhoffs Prinzip. Daraus folgt direkt, dass die Anzahl aller möglichen Schlüssel ein wichtiges Kriterium für die Sicherheit einer Chiffre darstellt. So existieren bei der Caesar-Verschiebung in einem Alphabet der Länge 26 lediglich 25 unterschiedliche Schlüssel; dies macht das Verfahren leicht knackbar, da im Schnitt nach nur 13 Entschlüsselungsversuchen der richtige Klartext zum Vorschein kommt.

2.2 Substitution und Transposition

Chiffrier-Verfahren kann man grob in zwei Gruppen aufteilen: Bei Substitutionsverfahren werden Buchstaben durch andere ersetzt. Repräsentiert ein Buchstabe des Chiffretextes immer den gleichen Buchstaben des Klartextes, dann spricht man von monoalphabetischen Substitutionsverfahren; auch hier ist die Caesar-Verschiebung ein typischer Vertreter. Monoalphabetische Chiffren sind sehr anfällig für ein Grundverfahren der Kryptoanalyse: die Häufigkeitsanalye (engl. frequency analysis).

Polyalphabetische5 Substitution ist für Angriffe durch Häufigkeitsanalyse nicht in gleichem Maße anfällig, da hierbei der gleiche Buchstabe im Chiffretext aus unterschiedlichen Buchstaben im Klartext hervorgehen kann. Beispielsweise benutzt die Vigenère-Verschlüsselung die Idee der Caesar-Verschiebung, setzt jedoch auf die periodische Anwendung unterschiedlicher Verschiebungen, die durch ein Codewort spezifiziert werden. Das Vigenère-Verfahren galt lange Zeit als „Le Chiffre indéchiffrable“ bis schließlich Friedrich Wilhelm Kasiski 1863 eine Lösung veröffentlichte.

Neben der Substitution ist die Transposition ein wichtiges Element der Verschlüsselung. Von Transposition spricht man, wenn die Position eines Buchstaben im Chiffretext anders ist als im Klartext. Eine einfache Transposition ist z.B. die Umkehrung der Reihenfolge aller Buchstaben; so einfach, dass bereits ein mäßig geübter Leser die Entschlüsselung mühelos im Kopf vornehmen kann. Komplexere Transpositionen lernen wir in Kapitel 5.2 kennen.

Alle bislang besprochenen Chiffre sind Vertreter symmetrischer Kryptographie; dies bedeutet, dass Verschlüssler und Entschlüssler denselben geheimen Schlüssel verwenden, über den sie sich zuvor einigen müssen.

Die meisten modernen symmetrischen Chiffren wie DES und AES kombinieren Substitution und Transposition miteinander, was ein Brechen des Codes im Vergleich zu reinen Verfahren schwieriger macht. Im Gegensatz dazu bietet die Mehrfachverschlüsselung mit dem gleichen Verfahren häufig keine höhere Sicherheit. Wenden wir beispielsweise die Caesar-Verschiebung mehrfach mit unterschiedlichen Schlüsseln an - z.B. erst mit 7, dann mit 9 -, so entspricht das exakt einer Verschlüsselung mit 16.

2.3 Die perfekte Chiffre

Während letztendlich auch die Vigenère-Verschlüsselung mittels einer erweiterten Häufigkeitsanalyse geknackt wurde, reifte kurz nach Ende des ersten Weltkriegs die Idee einer perfekten Chiffre heran: Benutzt man für polyalphabetische Substitution zufällig generierte Schlüssel der Länge des zu verschlüsselnden Klartextes und setzt man diese Schlüssel auch nur ein einziges mal ein, dann ist jeder Versuch, diese Nachricht ohne Besitz des ursprünglich verwendeten Schlüssels zu entziffern, zum Scheitern verurteilt.

Claude Shannon konnte in den 1940er Jahren beweisen, dass dieses One-Time-Pad genannte Verfahren tatsächlich informationstheoretisch sicher ist, da jede denkbare Zeichenfolge im Chiffretext gleich wahrscheinlich ist, und sich damit jeder denkbare Klartext der gleichen Länge hinter einer verschlüsselten Nachricht verbergen kann. Das One-Time-Pad-Verfahren betrachten wir in Kapitel XXX noch genauer.

2.4 Moderne Kryptographie und Mathematik

Die moderne Kryptographie geht deutlich über das reine Verschlüsseln und Entschlüsseln von Nachrichten hinaus. Neben der Vertraulichkeit übermittelter Daten, sind Integrität und Authentizität ebenso wichtig. Auch die Techniken zur Autorisierung beim Zugriff auf Computersysteme rechnet man mittlerweile zum Gebiet der Kryptographie, ebenso wie die diversen Verfahren, die bei Kryptowährungen wie etwa Bitcoin zum Einsatz kommen. Die Mathematik ist dabei zum wichtigsten Werkzeug geworden. Mathematische Verfahren helfen dabei, u.a. folgende Fragen zu beantworten:

  • Wie erzeugt man zufällige Folgen von Zahlen? Dies ist beispielsweise wichtig, um Schlüssel zu generieren, die für so genannte Wörterbuch-Angriffe (engl. dictionary attack) unanfällig sind.
  • Welche Hashfunktionen sind geeignet, um die Integrität von Daten zuverlässig zu bestimmen, ohne dass man diese Byte für Byte mit dem Original vergleichen müsste?
  • Gibt es mathematische Berechnung, die sich leicht durchführen lassen, aber nur mit sehr hohem Aufwand umkehren lassen? Solche Falltürfunktionen stellen die Grundlage jeder asymmetrischen Verschlüsselung dar.

Darüber hinaus muss sich die angewandte Kryptographie im Zeitalter von Computern mit einer Reihe praktischer Probleme herumschlagen: Verschlüsselung beliebiger Daten statt buchstaben-basierter Nachrichten, Anforderungen an Performance, Ressourcenverbrauch und Bandbreite, sowie die pragmatische Abwägung zwischen dem Grad der erreichten Sicherheit und der Benutzerfreundlichkeit kryptographisch geschützter Systeme.

2.5 Schlüsselverteilung

Die Entdeckung der nicht knackbaren One-Time-Pad-Chiffre war keineswegs die Lösung aller kryptographischen Probleme, da deren Sicherheit - und auch die aller anderen symmetrischen Verschlüsselungsverfahren - davon abhängt, dass alle eingesetzten Schlüssel vom Sender zum Empfänger einer Nachricht gelangen, ohne dass sie dabei ausgespäht werden. Dieses Schlüsselverteilungsproblem beschäftigt die Kryptographen seit Jahrhunderten.

Eine Algorithmus zur Lösung dieses Problems wurde 1976 an der Stanford University entwickelt und ist unter dem Namen Diffie-Hellman-Merkle-Schlüsselaustausch (DHE) bekannt. Das Verfahren kombiniert die bereits erwähnten Falltürfunktionen mit Modulo-Arithmetik und ermöglicht, dass zwei Parteien - häufig Alice und Bob genannt - sich durch den Austausch zweier Nachrichten auf einen Schlüssel einigen können, den eine Dritte - Eve - auch dann nicht errechnen kann, wenn Eve alle Nachrichten zwischen Alice und Bob abhört6.

DHE kommt u.a. in einer Variante von TLS/SSL zum Einsatz. TLS, die Transport Layer Security, ist für den Webanwender durch ihre Verwendung im HTTPS-Protokoll besonders wichtig. Um die Anfälligkeit des Protokolls für einen Man-in-the-Middle-Angriff zu mildern, werden dort zusätzlich Zertifikate7 verwendet, um die Authentizität der Server-Nachrichten sicherzustellen.

2.6 Asymmetrische Verschlüsselung und Public Key Infrastrukturen

Eine Schwäche von DHE und seinen diversen Varianten ist die Notwendigkeit, sich vor dem Nachrichtenaustausch auf einen Schlüssel zu einigen. Für asynchronen Nachrichtenaustausch, wie beispielsweise E-Mails, ist das lästig. Viel praktischer wäre es, wenn man statt der üblichen symmetrischen Chiffre auch asymmetrische Verschlüsselungen hätte: Während die Verschlüsselung mit einem Empfänger-spezifischen, aber öffentlich zugänglichen Schlüssel erfolgt, kann nur der gewünschte Empfänger mit seinem privaten und geheim gehaltenen Schlüssel den Klartext einer Nachricht wiederherstellen.

Die Suche nach einem solchen Verfahren war schließlich 1977 von Erfolg gekrönt. Das nach seinen Schöpfern Rivest, Shamir und Adleman RSA genannte Kryptosystem greift wiederum in die Trickkiste der Falltürfunktionen und nutzt dabei die Tatsache, dass die Primfaktorzerlegung sehr großer Zahlen äußerst rechenintensiv ist, während deren Multiplikation sehr schnell funktioniert.

Ein RSA-Schlüssel besteht immer aus einem Schlüsselpaar: dem öffentlichen Schlüssel (engl. public key), den alle kennen sollten, und dem privaten Schlüssel (engl. private key), den nur die rechtmäßige Besitzerin kennen darf. Aber auch RSA kommt nicht ohne Probleme:

  • Zum einen ist das Verfahren sehr rechenaufwändig, was es für eine Echtzeit-Entschlüsselung großer Datenmengen unpraktikabel macht. Dies löst man durch hybride Verschlüsselung, d.h. der Kombination mit einem symmetrischen Verfahren (z.B. AES). Dabei wird lediglich ein zufällig generierter symmetrischer Schlüssel per RSA verschlüsselt, die eigentliche Nachrichtenverschlüsselung erfolgt anschließend mit diesem symmetrischen Schlüssel.
  • Zum anderen muss man die Zuordnung der öffentlichen Schlüssel zu einer gewünschten Empfängerin gewährleisten. In anderen Worten: Man muss eine Public-Key-Infrastruktur (PKI) aufbauen.

Auch auf asymmetrische Verschlüsselungen werden wir im Laufe des Buches noch intensiver eingehen.

2.7 Signaturen und Zertifikate

Da bei RSA der öffentliche und der private Schlüssel algorithmisch die gleiche Rolle spielen, kann man das Verfahren auch zur Authentifizierung von Nachrichten einsetzen: Benutzt Alice ihren eigenen privaten Schlüssel zur Verschlüsselung einer Nachricht, dann kann diese Nachricht mit Hilfe des öffentlichen Schlüssels von jedermann entschlüsselt werden. Gelingt die Entschlüsselung, dann weiß Bob, dass diese Nachricht tatsächlich von Alice stammt – oder von jemandem, der sich Zugang zu Alice’ privatem Schlüssel verschafft hat.

Ähnlich wie bei den hybriden Verfahren wird in der Praxis nicht die vollständige Nachricht verschlüsselt, sondern lediglich ein kollisionsresistenter Hash-Wert der Nachricht. Damit ist die Nachricht für jedermann lesbar, und wer möchte kann die Urheberschaft überprüfen. In diesem Falle spricht man von einer Signatur (engl. signature).

Ein Sonderfall der Signatur stellen Zertifikate dar. Diese sind nichts anderes als signierte öffentliche Schlüssel. Durch die Signatur bestätigt die signierende Partei (z.B. eine allgemein anerkannte Zertifizierungsstelle) die Zugehörigkeit eines öffentlichen Schlüssels zu einer bestimmten juristischen oder tatsächlichen Person. Zertifikate werden sowohl in diversen PKIs eingesetzt, als auch zur Sicherung der TLS/SSL-Verbindungen im Internet.

2.8 Kryptographie als Bürgerrecht

Die jüngere Vergangenheit hat gezeigt, dass unverschlüsselte Daten im Internet und auf unseren Computern nicht nur in der Theorie missbraucht werden können, sondern dass es tatsächlich Institutionen gibt, die beinahe jeden Aufwand betreiben, um an diese Informationen flächendeckend zu gelangen. Der Schutz unserer Daten durch sichere Kryptotechnik ist eines der Mittel, um diesem demokratie-gefährdenden Handeln einige große Steine in den Weg zu legen. Doch dafür müssen wir sie benutzen8! Dass uns die Nutzung selbst wiederum verdächtig macht, ist ein Dilemma; doch es beweist, dass wir die Technologie verstehen müssen, um sinnvoll mit ihr umzugehen.

2.9 Die Zukunft der Kryptographie

Ob die heutigen Verschlüsselungsverfahren ausreichend Sicherheit bieten - sowohl prinzipiell als auch was die Länge der Schlüssel angeht - wissen wir nicht. Die Quantencomputer der Zukunft könnten sowohl manche heutige kryptographische Algorithmen wertlos machen, aber auch zur Entwicklung absolut sicherer Verfahren, wie beispielsweise dem Quantenschlüsseltausch führen.

  1. Ein lesenswertes Buch, das den Kampf zwischen “Codemaker” und “Codebreaker” von der Antike bis heute anschaulich schildert ist Singh 2001.
  2. Eine Lernsoftware, um sich mit den gängigen Kryptografie- und Kryptoanalyse-Verfahren vertraut zu machen, ist Cryptool. Cryptool ist frei und in mehreren Sprachen verfügbar.
  3. Umgangssprachlich nennt man oft nur das Ergebnis der Abbildung “Code” und nicht das Verfahren selbst.
  4. Häufig stellt man in Beispielen den Klartext in Kleinbuchstaben und den Chiffretext in Großbuchstaben dar, um Verwechslungen zwischen den beiden zu vermeiden.
  5. Poly (griechisch viel, mehrere) sagt aus, dass mehrere unterschiedliche Alphabete für die Abbildung von Klartextbuchstaben auf Chiffrebuchstaben zum Einsatz kommen.
  6. Hier ist ein 5-Minuten-Video, das DHE anschaulich erklärt.
  7. Ein digitales Zertifikat ist ein elektronischer Datensatz, das dem Leser - in der Regel ein Computerprogramm - beweisen soll, dass eine gegebene Internet-Domäne tatsächlich einer bestimmten Person oder Organisation gehört, und dass man daher TCP/IP-Paketen von dieser Domäne vertrauen kann.
  8. Dass uns auch angewendete Kryptographie nur sehr begrenzt schützt, zeigt diese Präsentation von Peter Gutmann.