Jan Rothen, Michael Meer, Daria Spescha, Norbert Kottmann
Verschlüsselung wird immer gebraucht, wenn man Informationen über unsichere Kanäle verschicken muss. Angenommen, der Kunde Norbert will alle seine Aktien der Firma Potzblitz AG verkaufen. Er möchte nicht, dass sonst jemand von diesem Verkauf erfährt, da dann der Kurs der Aktie sinken würde, also schickt er den Verkaufsauftrag verschlüsselt an seine Bank. Die Bank muss sicher gehen können, dass wirklich Norbert diesen Auftrag erteilt hat. Ausserdem soll die Nachricht nicht von Drittpersonen unbemerkt verändert werden können. Anwendungen der Verschlüsselung gibt es im Militär, der Diplomatie, in der Forschung, in der Wirtschaft und in vielen anderen Bereichen.
Die Verschlüsselung einer Nachricht erfolgt mit einem Algorithmus (bevor die Computer im letzten Jahrhundert erfunden wurden, erfolgte dies per Hand). Würde jedoch immer haargenau derselbe Algorithmus verwendet, wäre es ein leichtes, abgefangene Nachrichten zu knacken. Dazu lässt sich zum Beispiel die Statistik brauchen: in allen Sprachen werden gewisse Buchstaben oder Wörter mehr verwendet als andere. Es lässt sich aber nicht jedes Mal ein neuer Algorithmus erfinden wenn der alte geknackt wurde, daher braucht es einen Weg um Algorithmen zu parametrisieren: den Schlüssel. Alle Algorithmen müssen öffentlich sein; bloss die Schlüssel sind geheim (Kerckhoff'sches Prinzip, nach dem Niederländischen Kryptographen aus dem 19. Jahrhundert). Durch die Öffentlichkeit eines Verschlüsselungsverfahrens ist sichergestellt, das viele Kryptographen das Verfahren auf seine Robustheit hin untersuchen. Je länger ein Schlüssel ist, desto sicherer ist er. Für alltägliche Anwendungen sind heute 128 bit lange Schlüssel der Standart.
Symmetrische Verschlüsselung wird so genannt, weil der Schlüssel zum Verschlüsseln und Entschlüsseln einer Nachricht derselbe ist. Wenn Max eine so verschlüsselte E-Mail an Moritz schickt, muss dieser den geheimen Schlüssel (Secret Key) kennen um an den Klartext der Nachricht zu gelangen. Wie gelangt er aber an den Schlüssel? Offensichtlich können wir ihn nicht ebenfalls per E-Mail verschicken, damit wäre die ganze Verschlüsselung sinnlos geworden (wer die E-Mail mit der Nachricht abfangen kann, kann auch die Mail mit dem Schlüssel abfangen). Also müssen Max und Moritz den Schlüssel bei einem persönlichen Treffen abmachen oder über einen anderen sicheren Kanal übermitteln. Dies ist ein grosser Nachteil der symmetrischen Verschlüsselung. Ein Vorteil ist die grosse Schnelligkeit der Verschlüsselung, Implementationen sind in Software oder Hardware möglich.
Dieser Algorithmus wurde von IBM entwickelt und 1977 von der US Regierung zum Standard erhoben. Er braucht einen 56 bit langen Schlüssel, was heutzutage nicht mehr ausreicht. Bereits 1997 wurde ein solcher Schlüssel durch eine Brute-Force Attacke geknackt; mehrere tausend durchs Internet verbundene Computer durchsuchten parallel alle möglichen Schlüssel. Um den DES-Algorithmus ranken sich einige Legenden; es wird vermutet das die geheime US-Behörde NSA (der weltweit grösste Arbeitgeber von Mathematikern und Kryptologen) Schwächen in das Design des Algorithmus einbauen liess die es ihr ermöglicht die Nachrichten zu knacken. Interessanterweise hat die US-Regierung bis ins Jahr 2000 verboten, Verschlüsselungstechniken mit Schlüsseln länger als 56 bit zu exportieren.
Heute ist DES wie gesagt nicht mehr sicher, in modifizierter Form
ist er aber heute noch nützlich. Diese Form heisst 3DES (oder auch
Triple DES). Dabei werden zwei 56 bit lange Schlüssel verwendet (damit
ist die Schlüssellänge 112 bits, für normale Anwendungen auch heutzutage
noch genug) und die Nachricht wird drei mal durch den DES Algorithmus
gejagt. Zuerst wird die Nachricht mit dem ersten Schlüssel verschlüsselt,
dann mit dem zweiten Schlüssel
entschlüsselt und schlussendlich
nochmals mit
verschlüsselt. Es werden bloss zwei Schlüssel
gebraucht weil 112 bits immer noch als genügend betrachtet wird. Der
Vorteil von 3DES gegenüber einem komplett neuen Algorithmus ist die
Rückwärtskompatibilität. Ein Gerät, das 3DES versteht, kann mit einem
alten nur-DES Gerät einfach kommunizieren wenn es
setzt.
Als langsam klar wurde, das DES nicht mehr genügt wurde von der US-Regierung ein Wettbewerb für einen Advanced Encryption Standard AES ausgeschrieben, nun mussten die Algorithmen im Gegensatz zu DES offen sein. 1998 wurde das Verfahren Rijndael der zwei belgischen Kryptographen Vincent Rijmen und Joan Daemen zum Sieger erkoren. Rijndael unterstützt Schlüssel von 128 bis 256 bit Länge und ist auch auf grosse Geschwindigkeit ausgelegt. Ein heutiger Computer kann rund 700 Megabyte pro Sekunde mit einer Software-Implementierung verschlüsseln, Hardware-Lösungen sind noch schneller.
Bei PGP (Pretty Good Privacy, siehe Abschnitt
zu GnuPG) wird heute ein Verfahren names IDEA zur Verschlüsselung
des Session Keys verwendet. Dieser Algorithmus ist von der ASCOM patentiert,
jedoch zur nichtkommerziellen Nutzung freigegeben.
1918 entwickelte Arthur Scherbius eine
mechanische Verschlüsselungsmaschine namens Enigma, griechisch für
Geheimnis. Während des zweiten Weltkrieges wurde sie in verschiedenen
Ausführungen von der deutschen Reichswehr verwendet, z.B. zur geheimen
Übertragung von Befehlen an Unterseeboote. Jeden Tag wurden die Einstellungen
(das heisst der Secret Key) der Enigma geändert, die Schlüssel für
einen bestimmten Zeitraum befanden sich in einem Codebuch.
1941 konnte die britische Marine aus einem sinkenden deutschen U-Boot eine intakte Enigma sowie das Codebuch für die nächsten zwei Monate bergen. Aus diesen Daten konnten man im kryptologischen Zentrum der Briten in Bletchley Park genug Schlussfolgerungen ziehen um den Nachrichtenverkehr der deutschen Marine komplett im Klartext mithören zu können, was eine entscheidende Rolle bei der Schlacht um den Atlantik spielte. In Bletchley Park arbeitete auch Alan Turing, einer der Mitbegründer der Informatik. Mithilfe seiner ausgefeilten Statistiken und der ``Bombe'', eines Vorläufers der heutigen Computer, konnten die Nachrichten bis Anfang 1942 (als eine verbesserte Enigma eingeführt wurde) mitgehört werden.
Das Grundprinzip der asymmetrischen Verschlüsselung ist verglichen mit der Jahrtausende alten symmetrischen Verschlüsselung brandneu; es wurde 1976 von Martin Hellmann und Whitfield Diffie an der Stanford University entwickelt. Sie hatten sich zum Ziel gesetzt den grössten Schwachpunkt in der symmetrischen Verschlüsselung, den Austausch des Schlüssels, auszumerzen. Wie Diffie in [2] erklärt:
''In the past, cryptography operated on a strongbox approach. The sender uses one key to lock up his message, and the recipient has a matching key that unlocks the meaning. As Hellman and I talked, we became intrigued by the idea of a system that used two different keys-one for enciphering and a second for deciphering. This method would operate like a twenty -four-hour bank teller. Any depositor can open the machine to put his money in, but only the bank has the combination to unlock the safe. ''Der Name der asymmetrischen Verschlüsselung rührt daher, dass das Verfahren zwei verschiedene Schlüssel braucht: einen öffentlichen und einen privaten Schlüssel (Public Key bzw. Private Key). Im Englischen ist auch der Name Public Key Encryption gängig.
Der Ablauf des Verfahrens soll mit einem Beispiel demonstriert werden: Jan möchte eine vertrauliche Nachricht an Daria schicken, dazu muss er den öffentlichen Schlüssel von Daria kennen. Daria hat ihn Beispielsweise auf einem Keyserver1 abgelegt, wo er von jedermann eingeschaut werden kann. Jan kopiert den Schlüssel und braucht ihn um seine Nachricht zu verschlüsseln. Daria empfängt die Nachricht und entschlüsselt sie mit ihrem sicher verwahrten privaten Schlüssel; nur mit diesem privaten Schlüssel kann eine mit öffentlichen Schlüssel verschlüsselte Nachricht entziffert werden.
Wie kann dieses Verfahren funktionieren, dass jedermann mit einem Public Key eine Nachricht verschlüsseln kann, aber nur der Besitzer des Private Keys sie entziffern? Man braucht dazu eine sogenannte Einwegfunktion mit Hintertür. Eine Einwegfunktion ist eine Funktion die für einen Computer schnell zu berechnen ist, deren Umkehrung jedoch Monate oder Jahre dauern würde. Eine Einwegfunktion mit Hintertür lässt sich mit ein paar zusätzlichen Informationen (eben der Hintertür) zurückrechnen, ohne aber kaum. Diese Informationen für die Hintertür befinden sich im Private Key. Es lassen sich einige solche Funktionen finden, wir wollen eine beim Abschnitt über den RSA-Algorithmus genauer betrachten.
Der RSA-Algorithmus wurde 1977 von Ron Rivest, Adi Shamir und Leonard Adleman entwickelt und stellt heute einen weitverbreiteten Standard in der asymmetrischen Verschlüsselung dar. Folgende Erklärung des RSA-Algorithmus wurde von [1] übernommen:
To encrypt a message, , compute
. To decrypt
, compute
. It can be proven that for all
in the specified range, the encryption and decryption functions are
inverses. To perform the encryption, you need
and
. To perform
the decryption, you need
and
. Therefore, the public key
consists of the pair
and the private key consists of
.
Wenn ein Angreifer faktorisieren könnte, würde er
und
und somit auch
herausfinden. Wenn er
und
kennt, kann
er
mit Hilfe des Euklidischen Algorithmus berechnen. Nun probieren
Mathematiker aber schon seit langer Zeit wie grosse Zahlen zu faktorisieren
sind; es scheint enorm schwierig zu sein und darauf beruht auch die
Sicherheit des RSA-Algorithmus.
Für die benötigte Einwegfunktion gibt es neben dem Faktorisieren grosser Zahlen andere Ansätze. Ein Ansatz beruht auf der Schwierigkeit, diskrete Logarithmen zu berechnen. Viele Mathematiker sind auch hier seit Jahren am forschen ohne jedoch einen Durchbruch erreicht zu haben.
Der grosse Nachteil der assymetrischen Verschlüsselung ist ihre Langsamkeit,
die Algorithmen sind einiges komplexer als die Algorithmen die in
der symmetrischen Verschlüsselung gebraucht werden. Daher werden beide
Verfahren häufig kombiniert eingesetzt, zum Beispiel beim Gnu Privacy
Guard (siehe Abschnitt ).
Wenn Daria per Gnu Privacy Guard eine vertrauliche Nachricht an Norbert schicken möchte, legt das Programm zuerst einen zufälligen Secret Key (der dann in der Terminologie der kombinierten Verschlüsselung Session Key heisst) fest. Diesen verschlüsselt es mit Hilfe des Public Key von Norbert, die Nachricht selber wird mit dem Session Key verschlüsselt. Beides wird nun an Norbert geschickt. Sein Mailprogramm wird nun zuerst den Session Key mit Hilfe von Norberts Private Key entschlüsseln und mit diesem dann die Nachricht entziffern.
Dieses Verfahren ist einiges schneller als normale assymetrische Verschlüsselung, da hier bloss ein kurzer, wohl 128 bit grosser Key verschlüsselt werden muss anstatt einem langen Text plus Attachments. Trotzdem ist dieses Verfahren sicher, denn der grösste Nachteil der symmetrischen Verschlüsselung ist ausgeschaltet, die vertrauliche Übermittlung des Secret Keys.
PGP2 (Pretty Good Privacy) wurde in den frühen 1990ern von Philipp Zimmermann
entwickelt; die Komponente für verschlüsselten E-Mail Versand, PGP
Mail, steht gratis zum Download zur Verfügung. Der Source-Code ist
frei einsehbar, es ist jedoch nicht erlaubt ihn zu ändern. Es existiert
auch PGP Disk, eine Komponente zum Verschlüsseln der Inhalte einer
Festplatte, besonders wichtig zum Beispiel wenn ein Firmenlaptop geklaut
wird.
GnuPG3 ist ein Open Source Projekt unter der Gnu Public License und stellt einen vollständigen Ersatz für PGP4 unter verschiedensten Betriebssystemen dar. Es ist an sich nur ein Kommandozeilenprogramm und stellt verschiedenen Programmen seine kryptologischen Dienste bereit. Wohl am verbreitetsten ist das Verschlüsseln von E-Mails, kompatible Mail Programme sind unter anderem Mozilla Mail5, Eudora, Pine, Apple Mail oder Outlook.
This document was generated using the LaTeX2HTML translator Version 2002 (1.62)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html encryption.tex -split 0
The translation was initiated by Michael Meer on 2003-01-16