Hybride Verschlüsselung: wie es wirklich läuft

Ein großer verschlossener Umschlag, darin ein kleiner Schlüssel in einer eigenen Schatulle.

Du hast jetzt zwei Arten von Schlössern. Das symmetrische (ein Schlüssel) ist blitzschnell und kann einen ganzen Film verschlüsseln — aber du musst den Schlüssel erst zur anderen Person bringen. Das asymmetrische (zwei Schlüssel) löst das — kann aber kaum einen Satz verschlüsseln und ist langsam. Welches nimmst du? Keines von beiden. Du benutzt sie zusammen, und genau das macht jedes echte System — vom Schloss-Symbol in deinem Browser bis zu deiner Nachrichten-App.

Wörter, die du gleich brauchst

Hybrid
Eine Mischform. Hier: asymmetrische Verschlüsselung für das Kleine, symmetrische Verschlüsselung für das Große.
Sitzungsschlüssel
Ein symmetrischer Schlüssel, den du nur ein einziges Mal benutzt: für diese eine Nachricht oder für diesen einen Besuch auf einer Website. Danach wegwerfen.
TLS
Das System hinter dem Schloss-Symbol und dem https:// in deiner Adressleiste. Es handelt mit einem asymmetrischen Trick einen Sitzungsschlüssel aus und verschlüsselt danach alles symmetrisch.

Das Rezept

  1. Mach einen frischen, zufälligen symmetrischen Schlüssel. Nur für diese Nachricht.
  2. Verschlüssle die Nachricht damit (AES). Schnell, und so groß du willst.
  3. Verschlüssle diesen Schlüssel — nur 32 Bytes — mit dem öffentlichen Schlüssel der Empfängerin. Das passt locker unter die RSA-Grenze von 190 Bytes.
  4. Schick beide Päckchen zusammen: das große (Nachricht) und das kleine (Schlüssel).

Die Empfängerin macht es umgekehrt: erst mit ihrem privaten Schlüssel das kleine Päckchen öffnen und so den Sitzungsschlüssel zurückbekommen, dann damit das große Paket entschlüsseln. Zwei Schlösser, ein Brief.

Probier es selbst

Alles passiert in deinem Browser. Es wird nichts an den Server geschickt.

  1. Klick auf Die Empfängerin erzeugt ein Schlüsselpaar. Sie stellt ihren öffentlichen Schlüssel online; mehr brauchst du nicht.
  2. Klick auf Verschlüsseln. Schau dir die drei Teile und ihre Größe an.
  3. Füg die Nachricht zehnmal hintereinander ein und verschlüssle noch einmal. Der RSA-Teil bleibt genau 256 Bytes. Nur der AES-Teil wächst.
  4. Klick auf Entschlüsseln und verfolge die zwei Schritte, die die Empfängerin macht.

Wo du das jeden Tag benutzt

WoWie
Das Schloss-Symbol in deinem Browser (TLS) Beim Öffnen einer Seite handeln dein Browser und der Server mit einem asymmetrischen Trick einen Sitzungsschlüssel aus — meistens mit einer elliptischen Kurve. Alles, was danach hin und her geht, ist symmetrisch verschlüsselt.
WhatsApp, Signal Dasselbe Prinzip, mit einer zusätzlichen Schicht: der Schlüssel ändert sich bei jeder Nachricht, damit ein durchgesickerter Schlüssel nur eine einzige Nachricht offenlegt.
Ein Foto weiterschicken mit AirDrop oder Quick Share Zwei Handys auf dem Tisch, kein Internet, und trotzdem nie ein Passwort abgesprochen. Sie handeln zuerst mit dem Farbtrick auf einer Kurve einen Schlüssel aus, und das Foto selbst geht danach symmetrisch verschlüsselt hinüber. Quick Share benutzt dafür genau dieses Rezept: ECDH auf der Kurve P-256, und dann AES.

Warum ein neuer Schlüssel pro Nachricht

Stell dir vor, ein Schlüssel sickert irgendwann durch — ein Hack, ein Fehler, ein verlorener Laptop. Hast du diesen Schlüssel für alles benutzt, liegt alles offen, auch das, was du vor Jahren geschickt hast. Mit einem frischen Schlüssel pro Nachricht bleibt der Schaden auf diese eine Nachricht beschränkt. Das heißt forward secrecy: die Vergangenheit bleibt zu, auch wenn die Gegenwart leckt.

Das ist Mathematik: wie viele Schlüssel brauchst du?

Stell dir vor, 30 Schülerinnen und Schüler in einer Klasse wollen sich alle gegenseitig geheim schreiben können, nur mit symmetrischen Schlüsseln. Jedes Paar braucht einen eigenen Schlüssel. Wie viele Paare gibt es? 30 × 29 / 2 = 435 Schlüssel. Bei 1000 Leuten: 499 500. Bei der ganzen Welt: unmöglich. Mit asymmetrischen Schlüsseln braucht jede Person nur ein einziges Schlüsselpaar, egal wie viele Leute es sind. Das ist Kombinatorik: die Mathematik des Zählens, wie viele Möglichkeiten es gibt. Sie entscheidet, ob eine Idee für zehn Menschen funktioniert oder für acht Milliarden.