Donnerstag, 24. Mai 2012


Artikel

September 2011 | Artikel

Kryptografie: Geheime Botschaften aus dem Diesseits

(Link zum Artikel: http://www.entwickler-magazin.de/jaxenter//004055)

Datenverschlüsselung

Text: Tam Hanna
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share
Der Versuch, Daten durch Codierung vor anderen geheim zu halten, ist ungefähr so alt wie die Menschheitsgeschichte. Oder hätten Sie gedacht, dass schon Julius Cäsar brisante Mitteilungen verschlüsselte?
Teil 1   Teil 2   

„Wenn es etwas Geheimes mitzuteilen gab, schrieb Cäsar in verschlüsselter Form. Er vertauschte die Buchstaben des Alphabets, sodass das Resultat nicht verständlich war. Um eine Botschaft verstehen zu können, muss man die Buchstaben austauschen. Aus D wird A, mit den anderen wird analog verfahren.“ So beschreibt der zeitgenössische Geschichtsschreiber Sueton die Verschiebungschiffre, der sich Cäsar bedient. Aus heutiger Sicht ist dieser Algorithmus freilich eine der primitivsten „Verschlüsselungsmethoden“, die wir kennen. Bevor wir uns allerdings in die Geheimnisse der Kryptografie (Wissenschaft von der Verschlüsselung von Informationen) und Steganografie (Übermittlung versteckter Botschaften) vertiefen, seien all jene, die vielleicht daran denken, einen selbstentwickelten Verschlüsselungsalgorithmus zu implementieren, dringend davor gewarnt. Die Entwicklung und Codierung eines wirksamen Algorithmus ist nämlich eine hoch entwickelte Wissenschaft, die jahrelanges Studium erfordert. Ein Algorithmus, der einem Programmierer als absolut „unknackbar“ erscheint, kann tatsächlich gravierende Schwächen haben, die jeder Kryptologe sofort sieht. Da man heute Quellcode und Bibliotheken für fast jeden Algorithmus kostenlos bekommen kann – manche Betriebssysteme bringen bekanntlich selbst Implementierungen mit – sollten Programmierer lieber nicht versuchen, einen Algorithmus selbst zu implementieren.

Die digitale Schatzkiste
Die einfachste Methode, um Daten geheim zu halten, ist es, andere von ihnen fernzuhalten. Ein in einer undurchsichtigen, verschlossenen Kiste befindliches Dokument kann nicht gelesen werden. Symmetrische Verschlüsselungsalgorithmen machen sich diese Weisheit zunutze. Zwei Individuen einigen sich auf einen bestimmten Schlüssel. Der Sender verschlüsselt die Nachricht mit diesem Schlüssel, der Empfänger nutzt ihn zur Entschlüsselung (Abb. 1). Die Schwäche eines solchen Algorithmus ergibt sich allerdings aus eben diesem gemeinsamen Schlüssel. Wer auch immer den Schlüssel besitzt, kann die Botschaft lesen. In der Praxis ist der Schlüssel wesentlich kürzer als die zu übertragende Botschaft. Symmetrische Algorithmen benötigen daher vergleichsweise wenig Rechenleistung. Diesem nicht unwesentlichen Vorteil verdanken sie auch ihre allgemeine Beliebtheit.

Die Sicherheit eines symmetrischen Algorithmus gegen Brute-force-Angriffe wird durch zwei Faktoren bestimmt: die mathematische Güte des Algorithmus und die Komplexität des Passworts. Ein längeres bzw. kompliziertes Passwort bedeutet eben mehr „zu testende“ Möglichkeiten, während ein komplexerer Algorithmus den Berechnungsaufwand pro „Knackversuch“ erhöht.

Gefährliche Schlüsselübergabe
Auch wenn das Problem der Schlüsselübergabe in der Praxis nicht so relevant ist, wie es auf den ersten Blick scheint – manchmal erscheint es sinnvoll, so eine „Schlüsselübergabe“ zu vermeiden. In diesem Fall schlägt die Stunde der asymmetrischen Verschlüsselungsalgorithmen. Asymmetrische Algorithmen arbeiten mit zwei separaten Schlüsseln – in der Fachsprache als „Private Key“ und „Public Key“ bezeichnet. Zu übertragende Daten werden mit dem Public Key verschlüsselt. Um sie wieder lesbar zu machen, benötigt man den Private Key (Abb. 2).

Der Nachteil dieser Methode ist ihr enormer Hunger nach Rechenleistung. Zwei Kryptologen der Stanford Advanced Computer Security, Prof. Dan Boneh und Dr. Neil Daswani, haben den symmetrischen Algorithmus DES gegen den asymmetrischen RSA antreten lassen. RSA brauchte um den Faktor 1000 (tausend!) mehr CPU-Zyklen pro verarbeitetem Byte.

Teil 1   Teil 2   

Kommentare

Gravatar Roman Ataman 16.09.2011
um 14:06 Uhr
Public Keys können nicht nur zur Verschlüsselung verwendet werden, es gibt auch eine Anwendung, bei der der Public Key zum entschlüsseln gebraucht wird: wird ein Dokument mit dem Private Key verschlüsselt (signiert), kann durch erfolgreiche entschlüsselung durch den Public Key bewiesen werden, dass die Nachricht authentisch ist.

Deswegen ist die Aussage "Dieser Schlüssel kann NUR zur Verschlüsselung benutzt werden..." etwas unklar, für den speziellen Anwendungsfall aber korrekt.
#zitieren