Heute beschreiben wir (noch ohne in Details zu gehen) den Unterschied zwischen symmetrischen (‘Secret Key’) and asymmetrischen (‘Public Key’) Verfahren.

In der Kryptographie nimmt man folgende Situation an: es gibt einen Sender A, der eine Nachricht an den Empfänger B schickt, und einen Lauscher E, der die (verschlüsselte) Nachricht abfängt.

(In der Fachliteratur heißt die Senderin A immer Alice, der Empfänger B immer Bob, und die Lauscherin E immer Eva, letzteres wohl abgeleitet vom englischen ‘evil’.)

In praktischen Anwendungen sieht das so aus, daß beispielsweise B eine Bank und A ihr Online-Kunde ist. E ist ein Hacker, der A’s verschlüsselte Daten abgefangen hat.

Wie in Teil I gesagt, gehört zu einem kryptographischen Verfahren immer eine Verschlüsselungsfunktion (kurz:’Schlüssel’), die einen Klartext in einen verschlüsselten Text umwandelt, und eine Entschlüsselungsfunktion, die natürlich gerade die Umkehrfunktion der Verschlüsselungsfunktion sein muß.

Es gibt Verschlüsselungsverfahren wie die Cäsar-Chiffre aus Teil I, bei denen man aus der Kenntnis des Schlüssels sofort auf die Entschlüsselungsfunktion schließen kann. Solche Verfahren heißen symmetrische Verschlüsselungsverfahren.

Bei symmetrischen Verfahren ist es offenbar wesentlich, daß der Schlüssel geheim gehalten wird. Neben symmetrischen Verfahren gibt es auch asymmetrische Verschlüsselungsverfahren (engl. ‘Public Key Cryptography’), bei denen die Verschlüsselungsfunktion öffentlich bekannt ist, aber trotzdem nur Empfänger B die Entschlüsselungsfunktion berechnen kann. (Das klingt jetzt sicher etwas kryptisch und es hat tatsächlich bis Mitte der 70er Jahre gedauert, bis Mathematiker solche asymmetrischen Verfahren entwickeln konnten.)

Offensichtlich sind asymmetrische Verfahren sicherer als symmetrische Verfahren, weil sie nicht auf die Geheimhaltung des Schlüssels angewiesen sind. Allerdings sind sie auch mit erheblich größerem Rechner-Aufwand verbunden.

In der Praxis entscheidet man sich deshalb oft für symmetrische Verfahren
und verwendet bei wirklich sensiblen Daten eine Mischung aus beiden Verfahren: Man verwendet das asymmetrische Verfahren nicht zur Übermittlung der Nachrichten selbst, sondern nur zur verschlüsselten Übermittlung eines Schlüssels. Mit diesem gemeinsamen Schlüssel verwenden A und B dann ein symmetrisches Verfahren zur Übermittlung der eigentlichen Nachrichten.

Für symmetrische Verfahren gibt es einen festen Standard, der auf absehbare Zeit nicht geändert werden soll. Die Forschung in der Kryptographie konzentriert sich deshalb darauf, immer bessere asymmetrische Verfahren zu entwickeln (bzw. aus Sicht der Hacker immer bessere Angriffe auf asymmetrische Verfahren zu entwickeln).

Die Entwicklung asymmetrischer Verfahren benutzt interessante Mathematik und wir werden uns in den weiteren Folgen hauptsächlich mit asymmetrischen Verfahren beschäftigen. Zunächst aber noch kurz einige Worte zu symmetrischen Verfahren.

Für symmetrische Verschlüsselung gibt es seit 2000 ein vom National Institute of Science and Technology NIST (dem US-amerikanischen Gegenstück zur Physikalisch-Technischen Bundesanstalt) festgelegtes System, den seitdem unter der Bezeichnung AES (Advanced Encryption Standard) bekannten Rijndael-Algorithmus. Der Algorithmus ist frei verfügbar und darf ohne Lizenzgebühren eingesetzt sowie in Software bzw. Hardware implementiert werden.

AES ist ein Blockchiffre mit Blöcken aus 128 Bit. Jeder Block wird bestimmten Transformationen unterzogen, wobei die Blöcke nicht unabhängig verschlüsselt werden, sondern verschiedene Teile des Schlüssels nacheinander auf den Klartext-Block angewendet werden. Eine ausführliche Erläuterung des Algorithmus findet man hier.

Nach Meinung der NIST-Jury (von 2000) bietet AES ausreichend Sicherheit für die nächsten 100 Jahre. (Mit solchen Prognosen muß man natürlich vorsichtig sein. In einem ähnlichen Zusammenhang sagte RSA-Entwickler Rivest 1977, die Faktorisierung einer 125-stelligen Zahl dauere 40 Billiarden Jahre. Tatsächlich gelang eine solche Faktorisierung dann bereits 1994.)

Die bekanntesten asymmetrischen Verfahren zur Schlüssel-Übermittlung sind RSA (das, wie eben erwähnt, auf der Schwierigkeit der Faktorisierung großer Zahlen beruht) und der Diffie-Hellman Schlüsselaustausch (der komplizierte abelsche Gruppen, z.B. elliptische Kurven, benutzt), denen wir uns detallierter in den folgenden Beiträgen widmen werden.