Bei einem asymmetrischen Kryptosystem besitzt jeder der kommunizierenden Parteien ein Schlüsselpaar, das aus einem geheimen Teil (geheimer/privater Schlüssel) und einem nicht geheimen Teil (öffentlicher Schlüssel) besteht. Der öffentliche Schlüssel ermöglicht es jedermann Daten für den Inhaber des dazugehörigen geheimen Schlüssels zu verschlüsseln. Die verschlüsselten Daten lassen sich nicht mit dem öffentlichen, sondern nur mit dem geheimen Schlüssel entschlüsseln.

Public-Key-Verfahren[1]

Asymmetrische Systeme werden auch als Public-Key-Verfahren bezeichnet, da die miteinander kommunizierenden Parteien keinen gemeinsamen geheimen Schlüssel kennen müssen, wie dies bei den symmetrischen Kryptosystemen der Fall ist.

# Prinzip

Jede Partei, die eine verschlüsselte Nachricht empfangen können will, muss ein Schlüsselpaar generieren. Die beiden Schlüssel werden basierend auf einer sehr grossen Zufallszahl mittels einer Schlüsselgenerator-Funktion erstellt. Der öffentliche Schlüssel kann verteilt oder in einem Schlüssel-Zentrum zum Download angeboten werden. Der private Schlüssel muss geheim gehalten werden.

Schlüsselerzeugung

Wenn Bob Alice eine Nachricht senden möchte, so verschlüsselt er diese mit Alices öffentlichem Schlüssel.

Verschlüsseln

Da nur Alice ihren privaten Schlüssel kennt, kann auch nur sie die Nachricht entschlüsseln.

# Vor- und Nachteile

Ein grosser Vorteil des Public-Key-Verfahrens ist die hohe Sicherheit:

  • Der private Schlüssel bleibt beim Empfänger. Dadurch trägt nur eine Person das Geheimnis und ist angreifbar.

  • Die Schlüsselverteilung ist problemlos: Zum einen ist keine Übertragung des privaten Schlüssel durch unsichere Kanäle nötig. Zum anderen ist es nicht notwendig, den öffentlichen Schlüssel gegen Abhören zu schützen, da er Angreifern wenig nützt.

  • Das Brechen der Verschlüsselung, also das Entschlüsseln ohne den privaten Schlüssel, kann viele Jahre dauern. Obwohl der Algorithmus bekannt ist, ist der Rechen- und Zeitaufwand zu hoch, um das Verfahren zu brechen. Die heutzutage üblichen 300-stelligen Schlüssel wurden faktisch noch nicht geknackt. «Lediglich» 193-stellige konnte man nach einem Jahr Arbeit brechen.

Auch asymmetrische Kryptoverfahren haben ihre Nachteile:

  • Hohe Rechenzeit. So sind asymmetrische Verschlüsselungen ca. 1’000 Mal langsamer als symmetrische.

  • Erhöhter Aufwand bei mehreren Empfängern. Da die Verschlüsselung mit dem individuellen öffentlichen Schlüssels eines jeden Empfängers erfolgt, muss die Nachricht für jeden Empfänger einzeln verschlüsselt werden.

  • Die Sicherheit von Public-Key-Verfahren beruht auf unbewiesenen Annahmen. Grundsätzlich ist es möglich, aus dem privaten den öffentlichen Schlüssel – und umgekehrt – zu berechnen. Es ist nur sehr aufwändig. Es wäre durchaus möglich, dass man eines Tages einen Algorithmus entdeckt, mit dem man schnell und in kurzer Zeit grosse Zahlen faktorisieren kann. Man vermutet weiterhin, dass man alle Einwegfunktionen mit ausreichend Rechen- und Zeitaufwand umkehren kann – auch 300-stellige Schlüssel. Gelungen ist es bis jetzt aber noch nicht. RSA ist also nur so lange sicher, wie die (momentane) Unfähigkeit, grosse Zahlen in vernünftiger Zeit zu faktorisieren, bestehen bleibt.

  • Verteilungsproblem mit dem Mittelsmann-Angriff (Man-In-The-Middle). Hierbei stellt sich ein Mittelsmann zwischen die Kommunikation zweier Personen: Er täuscht seinen eigenen öffentlichen Schlüssel als den des eigentlichen Empfängers vor, entschlüsselt anschliessend mit seinem eigenen privaten Schlüssel und verschlüsselt die Nachricht schliesslich mit dem eigentlichen öffentlichen Schlüssel des eigentlichen Empfängers und schickt sie weiter. Die Kommunikationspartner merken womöglich davon gar nichts. Aber ihre Nachricht wurde gelesen.  Um das zu verhindern, muss gewährleistet sein, dass der erhaltene öffentliche Schlüssel auch wirklich authentisch, also dem gewünschten Empfänger zugehörig ist. Dazu dienen Zertifikationsstellen, an denen die öffentlichen Schlüssel hinterlegt werden und über die man deren Authentizität prüfen kann.


  1. https://de.wikipedia.org/wiki/Datei:Orange_blue_public_key_cryptography_de.svg (opens new window) ↩︎

Letzte Änderung: 2.12.2020, 11:51:48