Die Notwendigkeit, sich mit elektronischer Verschlüsselung auseinander zu setzen, zeigt sich in dramatischer Weise in der E-Mail-Affäre der ehemaligen US-Außenministerin Hillary Clinton.

In dem Vortrag ging es darum, in Grundzügen die technischen Vorgänge zu erklären, die bei einem Verschlüsslungsvorgang ablaufen, also im Endeffekt um die Frage: was passiert, wenn zwei Computer (PCs, Smarthones, Wlan-Router, Auto-Bordelektronik, etc.) miteinander verschlüsselt kommunizieren?

Caesar hat laut Sueton [C. Suetonius Tranquillus, Divus Julius 56.6]  seine Botschaften verschlüsselt, indem er alle Buchstaben um drei Stellen nach rechts verschoben hat. Die Caesar-Verschlüsselung lässt sich somit als Verschiebechiffre beschreiben: die Buchstaben des Quelltextes werden (zyklisch) um k Stellen verschoben, wobei k eine Zahl zwischen 0 und 25 gemäß der Anzahl der Kleinbuchstaben im deutschen Alphabet einnimmt. Nun ordnen wir jedem Kleinbuchstaben des Alphabetes eine Ordnungsnummer zu: a=01, b=02,..., z=25. (Tatsächlich macht ein Computer genau dies, allerdings mit einem kleinen offset: im ASCII-Zeichensatz hat der Buchstabe »A« die Ordnungszahl 65, »B« 66, usw.) Die Abbildung Ek (für »Encryption«) bilde den Klartextbuchstaben mit der Ordnungsnummer n ∈ {0, 1, 2, ... , 25} gemäß folgender Vorschrift ab: Ek(n) = n + k mod 26.  k (für »key«) wird Schlüssel genannt. Ek ist umkehrbar, und es existiert eine Dechiffrier-Abbildung Dk (für »Decryption«), so dass gilt: Dk(Ek(n)) = n
Angewandt auf eine Zeichenkette läßt sich verallgemeinern: Der Klartext M (für »Message«) wird durch die Abbildung E buchstabenweise zyklisch um k Stellen auf den Chiffretext C (für »Cipher«) verschoben: Ek(M) = C. Der Chiffretext C wird durch die Umkehrfunktion Dk wieder in den ursprünglichen Klartext überführt: Dk(Ek(M)) = M

Beispiel: Verschiebechiffre mit dem Schlüssel k, d.h. Verschiebung um zehn Zeichen

   p o m m e r s f e l d e n
 + k k k k k k k k k k k k k
   - - - - - - - - - - - - -
 = Z Y W W O B C P O V N O X

Aus Gründen der Lesbarkeit schreiben wir den Klartext in Klein- und den Chiffretext in Großbuchstaben.
Klar- und Chiffretext, aber auch der Schlüssel, sind von gleicher Art: es sind alles Texte, für einen Rechner (Computer) sind dies sogar nur ganze Zahlen.
Ek ist ein symmetrisches, monoalphabetisches Substitutionsverfahren. Dabei bedeutet symmetrisch, dass zum Chiffrieren als auch zum Dechiffrieren der gleiche Schlüssel benutzt wird; monoalphabetisch ist das Verfahren deshalb, weil jedes Klartextzeichen immer auf das gleiche Geheimtextzeichen abgebildet wird. Weitere Beispiele dieser Art sind die multiplikative Verschiebechiffre (n → k * n mod 26  [→ bedeutet: wird abgebildet auf]), die affine Chiffre (n → k * n + b mod 26), als auch die Chiffre (n → nk mod 26: Diskreter Logarithmus).
Die Caesar-Chiffre ist nicht sicher; generell ist sie über eine Häufigkeitsanalyse angreifbar (Al-Kindi (800-873)). Desweiteren ist der Schlüsselraum sehr klein, denn es gibt nicht mehr als 26 verschiedene Schlüssel. Somit ist auch ein systematisches Durchprobieren aller Schlüssel (brute-force-attack) möglich.
Leon Battista Alberti (1404-1472) schlägt deshalb 1460 ein Substitutionsverfahren mit zwei oder mehr Geheimalphabeten vor. Johannes Trithemius (1462-1516) beschreibt 1508 in seinem Werk Polygraphiae libri sex ein polyalphabetisches Substitutionsverfahren mit Hilfe der Tabula recta.
Blaise de Vigenère (1523-1596) verfeinert schließlich diese polyalphabetische Substitution in seiner Schrift Traicte de Chiffres (1585). Diese Verschlüsselungsmethode galt lange Zeit als le chiffre indéchriffrable und wurde erst 1854 von Charles Babbage (1791-1871) und 1863 von Friedrich Wilhelm Kasiski (1805-1881) systematisch gebrochen. Im Unterschied zur monoalphabetischen wird bei der polyalphabetischen Verschlüsselung nicht mehr ein Klartextzeichen auf das immer gleiche Geheimtextzeichen abgebildet. Im unteren Beispiel hat das Schlüsselwort eine Länge von vier, somit kann ein beliebiges Klartextzeichen auf vier verschiedene Geheimtextzeichen (je nach Stellung) abgebildet werden.

Beispiel mit dem Klartext »pommersfelden« und dem Schlüsselwort »hund«

  pommersfelden
+ hundhundhundh
  -------------
  WIZPLLFILFQHU

Auch in modernen Verschlüsselungsalgorithmen kommen symmetrische Chiffren in Form von Kombinationen aus mono- und polyalphabetischen Substitutionen und Permutationen, wie etwa der heute verbreiteten Blockchiffre AES (Advanced Encryption Standard) zum Einsatz.
Eine spezielle Form der polyalphabetischen Substitution stellt das One-Time-Pad (Einmalblock) dar, das das beweisbar einzige informationstheoretische sichere Verschlüsselungsverfahren darstellt. Dabei handelt es sich um eine Vigenère-Chiffre mit einem unendlich langem Schlüssel. (In der Praxis reicht es aus, wenn der Schlüssel länger als alle damit verschlüsselten Nachrichten ist, und die Teile, die zur Verschlüsselung eingesetzt werden niemals ein zweites Mal benutzt werden.) Das folgende Beispiel illustriert dies; es ist von unten nach oben zu lesen. Zum gleichen Chiffretext existieren je nach Schlüssel zwei unterschiedliche Klartexte. Dies allein ist nicht ungewöhnlich, dass beide Klartexte jedoch sinnvoll sind, schon! Der Klartext könnte demnach alle möglichen, vor allem auch alle sinnvollen Texte der Länge zwölf darstellen, und ohne Kenntnis des Schlüssels ist es unmöglich, den Klartext zu erraten oder durch Probieren aller möglichen Schlüssel herauszufinden.

  heuteumsechs     morgenumdrei  ← zwei mögl., sinn-
+ keddzheltnxg   + fugqzowruyaq volle Klartexte
  ------------     ------------
  RIXWDBQDXPEY     RIXWDBQDXPEY ← der gleiche
Chiffretext

Zwar bietet das One-Time-Pad vollständige Sicherheit, die technische Umsetzung ist jedoch äußerst aufwendig. Insbesondere muss der lange Schlüssel vor dem Versenden von Nachrichten über einen sicheren Kanal transferiert werden. Für Internetaktivitäten, wie vertrauliches Versenden von Mails oder Onlinetransaktionen, ist dieses Verfahren somit nicht wirklich zu gebrauchen.
Der dem One-Time-Pad zugrunde liegende Algorithmus (Vigenère-Chiffre) ist einfach. Aber auch wenn ein potentieller Angreifer den Algorithmus kennen sollte, kann er daraus keinen Nutzen ziehen. Die Stärke der Verschlüsselung liegt lediglich in der Geheimhaltung des Schlüssels. Dieses bei vielen heutigen Kryptographen anerkannte Prinzip formuliert Auguste Kerckhoff in seiner Maxime von 1883, welche besagt, dass die Sicherheit eines Verschlüsselungsverfahrens auf der Geheimhaltung des Schlüssels beruht und nicht auf der Geheimhaltung des Verschlüsselungsalgorithmus. Dem Kerckhoffs’schen Prinzip wird oft die sogenannte »Security through obscurity« gegenübergestellt: Sicherheit durch Geheimhaltung des (Verschlüsselungs-) Algorithmus, möglicherweise zusätzlich zur Geheimhaltung des Schlüssels. (Quelle: de.wikipedia.org/wiki/Kerckhoffs’_Prinzip)

Das Problem der Schlüsselübergabe betrifft generell alle symmetrischen Verschlüsselungsverfahren. Mit dem Beginn des vernetzten Computerzeitalters wurden in den 1970er Jahren unabhängig voneinander in England als auch den Vereinigten Staaten zwei ähnliche Verfahren entwickelt, die auf asymmetrischen Schlüsseln basieren, und eine elegante Lösung des Schlüsselaustausches bereitstellen. Während das englische Verfahren lange Jahre der Geheimhaltung unterlag und deshalb nie praktische Bedeutung erhielt, wurde die amerikanische Idee als »RSA-Verfahren« (Rivest-Shamir-Adleman) 1977 wissenschaftlich publiziert. Statt mit einem einzigen Schlüssel wird nun mit einem Schlüsselpaar gearbeitet.
Es gilt: Dk1(Ek2(M)) = M, wobei k1 den privaten und k2 den öffentlichen Schlüssel bezeichnet. Der öffentliche Schlüssel kann über einen unsicheren, abhörbaren Kanal übermittelt werden. Zudem kann er nur ver- aber nicht entschlüsseln. Dazu wird der private Schlüssel benötigt, der nie versendet, übermittelt oder veröffentlicht werden darf.

In einem kryptographischen Beispielszenario ließe sich eine verschlüsselte Kommunikation (etwa E-Mail) zwischen Alice und Bob, die von Eve belauscht wird, folgendermaßen beschreiben:

  • Alice möchte Bob eine verschlüsselte Nachricht zukommen lassen, und bittet ihn deshalb, ihr seinen öffentlichen Schlüssel zu schicken, was dieser tut.
  • Eve liest mit und hat nun ebenfalls Bobs öffentlichen Schlüssel.
  • Alice verschlüsselt ihre eigene Nachricht mit Bobs öffentlichem Schlüssel und schickt sie dann an Bob. Eve hat wiederum mitgelesen.
  • Bob entschlüsselt die Nachricht mit seinem privaten Schlüssel. Da Eve diesen nicht besitzt, kann sie die Nachricht von Alice nicht entschlüsseln. (Sogar Alice kann ihre eigene Nachricht, nachdem sie sie mit Bobs öffentlichem Schlüssel chiffriert hat, nicht mehr lesen!)

RSA basiert auf einer mathematischen Einwegfunktion. Darunter versteht man eine Funktion, deren eine Richtung leicht, die andere Richtung, (die Umkehrfunktion) schwer zu berechnen ist. Die Einwegfunktion, die dem RSA-Algorithmus zugrunde liegt, hängt eng mit dem Faktorisierungsproblem von großen Zahlen zusammen: es ist einfach, zwei große Zahlen miteinander zu multiplizieren, jedoch die Umkehrfunktion davon, nämlich eine große Zahl in ihre Primfaktoren zu zerlegen, ist im allgemeinen schwer und sehr aufwendig, und es gibt nach heutigem Wissensstand kein Verfahren, um das Ganze abzukürzen. [Man stelle sich als Verbildlichung die berühmte Nadel im Heuhaufen vor. Es scheint zwar sehr schwierig, diese zu finden, besitzt man jedoch als »Abkürzung« einen Magneten, ist es viel einfacher. Die Suche nach der Nadel ist somit keine Einwegfunktion.]

Ein weiteres modernes Verschlüsselungsverfahren stellt der Diffie-Hellman-Merkle-key exchange (DHM, 1976) dar; Es ist ein Schlüsselaustauschprotokoll, bei dem über eine abhörbare Leitung ein geheimer Schlüssel (wie oben erwähnt, ist dies nichts anderes als eine (große) Zahl) übermittelt werden kann. (Beispiel: Aufbau einer sicheren Verbindung beim Online-Banking). Dieser geheime Schlüssel wird dann als Schlüssel für ein symmetrisches Verschlüsselungsverfahren benutzt. DHM ist mathematisch mit dem diskreten Logarithmus verwandt. Diffie und Hellman erhielten 2016 für ihre Arbeit den Turing-Award.

Durch die Entwicklung der modernen Kryptographie wurde die Struktur des Internets in seiner heutigen Form als Informations- und Handelsplattform maßgeblich geprägt. Die kryptographischen Verfahren basieren auf mathematischen Grundlagen. Wenn wir diese sogenannte starke Kryptographie richtig anwenden, gewährt sie ein hohes Maß an Informationssicherheit. Nichtsdestotrotz liegt in der steigenden Komplexität der Computer und elektronischen Geräte, bezüglich Hard- und Software ein großer Gefahrenpunkt. Ein mathematisch als sicher eingestuftes Verfahren verliert seine Güte, wenn es unsauber programmiert wurde, oder es auf einem durch Viren und Trojaner kompromittierten System eingesetzt wird. Heutige moderne Betriebssysteme sind vor allem durch die Vernetzung derart komplex, dass ein sicheres System – wenn überhaupt – nur durch gute Wartung (Updates, Sicherheitssoftware) erreicht werden kann.

Neben den theoretischen Überlegungen zur Sicherheit eines Verschlüsselungsalgorithmus stellt sich somit die Frage der Implementierung desselben. Ein moderner Ansatz schlägt vor, nicht nur den Algorithmus, sondern auch dessen Umsetzung offen zu legen. Indem der Quelltext des Programms veröffentlicht wird, ist es jedem potentiell möglich, die Güte der Implementierung zu prüfen. Wichtige Strömungen, die sich mit diesem Sachverhalt auseinandersetzen, sind die »Open Source Software«-Bewegung (Quelloffene Software) als auch »Free Software« (freie, freiheitsgewährende Software). In kryptographischen Kreisen werden diese Bewegungen kontrovers diskutiert.

Quellen:

  • Wolfgang Ertel: Angewandte Kryptographie. Hanser 42012
  • Christof Paar, Jan Pelzl: Understanding Cryptography. A Textbook for Students and Practitioners.  Springer-Verlag 2010
  • Bruce Schneier: Angewandte Kryptographie. Protokolle, Algorithmen und Sourcecode in C.  Addison-Wesley 1996
  • Singh, Simon: Geheime Botschaften. Die Kunst der Verschlüsselung von der Antike bis in die Zeiten des Internet.  dtv 72006
  • de.wikipedia.org
  • cryptool.org  (E-Learning-Plattform für Kryptographie)
  • youtube.com/user/Computerphile  (englisch: Videos all about computers and computer stuff)
  • sempervideo.de  (deutsch: Computervideos)