Grundlagen der Kryptographie

Grundlagen der Kryptographie

Workshop:Kryptographie

In diesem Workshop werden Begrifflichkeiten erläutert, die helfen sollen, wichtige Begrifflichkeiten im Bereich Kryptographie vom Prinzip her zu verstehen.

Einleitung

Einst den Militärs und der hohen Diplomatie vorbehalten, prägt Kryptographie in immer stärkerem Maß unser Alltagsleben. Das gilt nicht bloß fürs Online-Banking oder den Remote-Zugriff auf Firmennetze, die ohne die Nutzung von Kryptographie-Anwendungen wie SSL und VPN praktisch nicht mehr vorstellbar sind. Selbst dort, wo wir sie zunächst nicht vermuten, sind heutzutage Kryptographie Algorithmen im Einsatz, zum Beispiel bei den elektronischen Wegfahrsperren in unseren Autos oder wenn wir das Handy einschalten und uns beim Mobilfunknetz unseres Providers anmelden.

Grundlagen der Kryptographie

Am einfachsten erläutern lassen sich diese am Beispiel der Verschlüsselung. Deren Ziel besteht darin, Daten in einer solchen Weise einer mathematischen Transformation zu unterwerfen, dass es einem Unbefugten unmöglich ist, die Originaldaten aus den transformierten Daten zu rekonstruieren. Damit die verschlüsselten Daten für ihren legitimen Benutzer dennoch verwendbar bleiben, muss es diesem aber möglich sein, durch Anwendung einer inversen Transformation aus ihnen wieder die Originaldaten zu generieren. Die Originaldaten bezeichnet man als „Klartext“ (clear text, plain text, message), die transformierten Daten werden „Schlüsseltext“ (Chiffretext, Chiffrat, Kryptogramm, cipher text) genannt. Die Transformation heißt „Verschlüsselung“, ihre Inverse folglich „Entschlüsselung.
Das generelle Ziel der Verschlüsselung kann folgendermaßen formuliert werden: Die Entschlüsselung darf nur dem legalen Empfänger/Besitzer der bermittelten/gespeicherten Informationen möglich sein, nicht jedoch anderen Personen – im Extremfall nicht einmal dem Absender selbst, der die Information verschlüsselt hat. Dieses Ziel lässt sich offensichtlich genau dann erreichen, wenn nur der legale Empfänger/Besitzer die zur Entschlüsselung benötigten Information – wie den Algorithmus als auch abhängig vom Verfahren den Schlüssel – kennt und es ohne diese Kenntnis nicht möglich ist, die ursprüngliche Information aus dem Schlüsseltext zu bestimmen.
Es bietet sich an, zur Verschlüsselung nur einige wenige Verschlüsselungs-Algorithmen einzusetzen, deren Sicherheit erwiesen ist. Zusätzlich werden diese Verschlüsselungs-Algorithmen von einem Parameter abhängig gemacht, dem so genannten Schlüssel, der den Ablauf der Transformation so stark beeinflusst, dass ohne seine Kenntnis keine Entschlüsselung möglich ist (s. Abb. 1).

Bleibt dieser Schlüssel geheim, so kann der Verschlüsselungsalgorithmus selbst durchaus publik gemacht werden; dies sollte sogar der Regelfall sein, da sich dessen Sicherheit nur in einer öffentlichen Diskussion hinreichend beweisen lässt.

Ein Wettlauf um die Sicherheit

Für die Sicherheit einer Verschlüsselung sind vier Faktoren ausschlaggebend: der verwendete Algorithmus, die Schlüsselgenerierung, die Schlüssellänge sowie die Aufbewahrung des Schlüssels. Bei symmetrischen Verschlüsselungsverfahren geht man heute davon aus, dass die praktische Sicherheit gegeben ist, wenn die Schlüssellänge 128 Bit beträgt.
Um einen solchen Schlüssel mit Hilfe einer vollständigen Suche des Schlüsselraums zu ermitteln, sind 2128 Versuche nötig, d.h. es gibt 2128 = 3,4 * 1038 verschiedene Schlüssel. Damit stößt man auf ein praktisches Problem, denn mit den derzeitigen Ressourcen ist das Ausprobieren aller Schlüsselmöglichkeiten in einer angemessenen Zeit nicht möglich. Da aber die Rechenleistung von Computern ständig wächst, müssen auch die Schlüssellängen von Zeit zu Zeit angepasst werden: Gegenüber den vor zehn Jahren gebräuchlichen Verfahren wie DES mit einer Schlüssellänge von 64 Bit hat sich diese inzwischen verdoppelt auf 128 Bit, im Jahr 2016 werden wir möglicherweise 256-Bit-Schlüssel benötigen.