Das zentrale Problem der symmetrischen Kryptografie besteht darin, wie Alice und Bob einen gemeinsamen Schlüssel vereinbaren können, ohne dass jemand anderes in den Besitz dieses Schlüssels gelangt. Man muss dabei davon ausgehen, dass der Kanal zwischen Alice und Bob unsicher ist, d.h. dass jemand (Eve) jede Kommunikation zwischen Alice und Bob mithört (wäre der Kanal sicher, könnte man ja direkt die Meldung darüber verschicken und man müsste keine Verschlüsselung verwenden).
Schlüssel-Austauschproblem
Wie können Alice und Bob einen gemeinsamen Schlüssel generieren (z.B. eine Zahl), sodass es einer Angreiferin (Eve) unmöglich ist, den Schlüssel zu finden, auch wenn sie jede Kommunikation mithört?
Lange dachte man, dass für dieses Problem keine Lösung existiert:
Wenn Eve alles mithört, dann hat sie genau dieselben Informationen wie Alice und Bob und sie kann doch den Schlüssel ihrerseits auch erstellen? Man dachte also, dass die einzige Lösung sei, den Schlüssel selbst verschlüsselt zu übertragen, wofür man wiederum einen Schlüssel benötigen würde u.s.w. Man spricht deshalb auch vom Schlüsselaustausch-Paradoxon. Lange Zeit wurden die Schlüssel somit persönlich übergeben, was natürlich sehr umständlich ist.
Zirka vor fünfzig Jahren gab es einige verwegene Kryptografen, die daran glaubten, dass es eine Lösung für das Schlüssel-Austauschproblem geben könnte. Zwei von ihnen waren Whitfield Diffie und Martin Hellman Ihre leidenschaftliche Suche nach einer Lösung für das Schlüsselproblem führte die beiden zusammen und die Ergebnisse ihrer gemeinsamen Bemühungen sollten schliesslich in die Geschichte der modernen Kryptografie eingehen.
Das folgende, einfache Gedankenexperiment liess Diffie und Hellman hoffen, dass es eine Lösung für das Problem geben könnte:
Angenommen der Schlüssel bestehe aus einer bestimmten Farbmischung. Wie können Alice und Bob eine gemeinsame Farbe mischen, ohne dass Eve dieselbe Mischung herstellen kann?
Aufgabe 1
Um die Idee aus dem Gedankenexperiment mit den Farbmischungen umsetzen zu können, benötigt man eine Funktion, die leicht auf eine Zahl angewendet werden kann, die aber nur sehr schwer rückgängig gemacht werden kann. Diese Funktionen können als Einwegfunktionen bezeichnet werden. Zudem müssen die Funktionen, die Alice und Bob anwenden untereinander kommutativ sein, d.h. die Reihenfolge in welcher sie angewendet werden darf keine Rolle spielen.
Betrachtet man Exponentialfunktionen modulo p (diskrete Exponentialfunktionen) $f(x)=a^x \mod p$, so fällt auf, dass für einige $a$ und $p$ nur sehr wenige y-Werte entstehen, während für andere $a$ und $p$ als y-Werte alle Zahlen von 1 bin p-1 entstehen:
Für $f(x) = 11^x \mod 19$ erhält man beispielsweise nur die drei Werte 1, 11 und 7 während man für $f(x)=3^x \mod 19$ alle Zahlen von 1 bis 18 erhält.
Aufgabe 2
Nun wollen wir uns an einem Beispiel den Schlüsseltausch nach Diffie und Hellman anschauen. Genau wie im Gedankenexperiment mit den Farben gibt es eine öffentliche Information, die Alice und Bob austauschen und es eine private Information, die Alice und Bob für sich behalten. Der Schlüsseltausch funktioniert folgendermassen:
3. Aufgaben zum Schlüsselaustausch nach Diffie Hellman
Wie kann man nun entscheiden, welche Kombination von g und p gut ist, d.h. wie weiss man, dass $f(x) = g^x \mod p$ alle Zahlen von 1 bis p-1 generiert ohne alle Zahlen ausrechnen zu müssen? Man spricht dann davon, dass $g$ ein Generator der Gruppe {1,2,3,… p-1} (Z modulo p) ist.
Hierfür gibt es den folgenden Satz:
Ist $q_1^{k1}\cdot q_2^{k2}\cdot q_3^{k3}\cdot ... q_n^{kn}$ die Primfaktorzerlegung von $p-1$, so ist $g$ genau dann ein Generator von Z modulo p, wenn $g^{(n-1)/q_i} \neq 1 \mod p$ für alle $q_i$.
Aufgabe 4
Durch das Verfahren von Diffie und Hellman konnte das Schlüsselaustauschproblem gelöst werden: Alice und Bob können einen gemeinsamen Schlüssel erstellen, ohne dass Eve in der Lage ist, diesen Schlüssel nachzubilden. Danach können Alice und Bob geheime Botschaften mit einer symmetrischen Verschlüsselung und dem generierten Schlüssel sicher austauschen.
Umgemünzt in unsere digitalisierte Welt bedeutet dies: Ein Client (mein Browser, die Whatsapp-App auf dem Handy etc.) kann mit einem Server (gmail-Server, Server von Whatsapp, etc.) einen Schlüssel erstellen (z.B. den 64Bit Hauptschlüssel für die DES-Verschlüsselung) und danach können die Daten mit diesem symmetrischen Verfahren ver- und entschlüsselt werden (wie erwähnt wird heute natürlich eher AES verwendet).
Ein grundlegendes Problem wird durch den Schlüsselaustausch nach Diffie-Hellman nicht gelöst: die Möglichkeit einer Man-in-the-middle-Attacke. Beschreibe, was eine „Man in the middle“-Attacke ist, und wie diese konkret beim Diffie-Hellman-Schlüsseltausch eingesetzt werden kann.