Symmetrische Verschlüsselung
Bild: Bananenfalter, CC0, Wikimedia Commons
Kurz: Ein Verschlüsselungsverfahren, bei dem derselbe Schlüssel sowohl zum Ver- als auch zum Entschlüsseln verwendet wird.
Genauer: Symmetrische Verfahren (z. B. AES) sind deutlich schneller als asymmetrische Verschlüsselung, haben aber ein grundlegendes Problem: Beide Seiten brauchen vorher denselben Schlüssel — und den sicher auszutauschen ist ohne asymmetrische Verfahren schwierig. Deshalb wird in der Praxis meist ein hybrides Verfahren eingesetzt: Der symmetrische Schlüssel (Sitzungsschlüssel) wird asymmetrisch ausgetauscht, die eigentlichen Nutzdaten dann symmetrisch verschlüsselt.
Im Detail
Das Grundprinzip ist ein einzelner gemeinsamer Schlüssel für beide Richtungen:
Klartext + Schlüssel --[Verschlüsseln]--> Geheimtext
Geheimtext + derselbe Schlüssel --[Entschlüsseln]--> Klartext
Der aktuelle Standard ist AES (Advanced Encryption Standard) mit typischerweise 128 oder 256 Bit Schlüssellänge — praktisch überall im Einsatz, von WLAN-Verschlüsselung (WPA2/WPA3) über verschlüsselte Festplatten bis zu den eigentlichen Nutzdaten in einer TLS-Verbindung. AES gilt bei korrekter Implementierung als so sicher, dass selbst mit den größten bekannten Rechenkapazitäten ein Brute-Force-Angriff auf einen 128-Bit-Schlüssel praktisch undurchführbar wäre (länger als das Alter des Universums).
Das namensgebende Kernproblem symmetrischer Verfahren ist der Schlüsselaustausch: Beide Seiten müssen denselben geheimen Schlüssel kennen, aber ihn einfach unverschlüsselt zu verschicken wäre sinnlos — wer ihn abfängt, kann sofort mitlesen. Bei genau zwei Kommunikationspartnern, die sich persönlich treffen können, lässt sich das noch lösen (Schlüssel auf einem USB-Stick übergeben); bei einer Webseite mit Millionen unbekannter Besucher weltweit ist das unmöglich. Genau hier setzt die Kombination mit asymmetrischer Verschlüsselung an: Der symmetrische Schlüssel wird bei jeder neuen Verbindung frisch und sicher über ein asymmetrisches Verfahren ausgehandelt (siehe Hybride Schlüsselverfahren), sodass niemand vorher persönlich Schlüssel austauschen muss.
Blockchiffren vs. Stromchiffren
Symmetrische Algorithmen lassen sich in zwei Grundtypen einteilen: Blockchiffren (wie AES) verschlüsseln Daten in festen Blöcken fester Größe (bei AES 128 Bit pro Block) — größere Datenmengen werden dafür in mehrere Blöcke aufgeteilt und über einen sogenannten Betriebsmodus (z. B. GCM, CBC) miteinander verknüpft, damit identische Klartextblöcke nicht zu identischen Geheimtextblöcken führen (was sonst Muster im verschlüsselten Ergebnis sichtbar machen würde). Stromchiffren (wie ChaCha20) verschlüsseln dagegen Bit für Bit bzw. Byte für Byte fortlaufend, ohne feste Blockgrenzen — historisch oft schneller in Software, inzwischen sind moderne Blockchiffren mit Hardware-Beschleunigung (AES-NI-Befehlssatz in praktisch jeder aktuellen CPU) aber meist ebenso schnell oder schneller.
Warum die Schlüssellänge zählt
Die Schlüssellänge bei AES (128, 192 oder 256 Bit) bestimmt direkt, wie viele mögliche Schlüssel ein Angreifer im schlimmsten Fall durchprobieren müsste: Bei 128 Bit gibt es 2^128 mögliche Schlüssel — eine Zahl mit 39 Stellen, so groß, dass selbst mit sämtlicher heute existierender Rechenleistung der Welt ein vollständiges Durchprobieren praktisch unmöglich bliebe. AES-256 wird trotzdem oft bevorzugt, u. a. als Sicherheitsmarge gegen zukünftige Quantencomputer: Der Grover-Algorithmus könnte theoretisch die effektive Sicherheit eines symmetrischen Schlüssels halbieren, sodass AES-128 unter Quantenangriffen auf ein Niveau vergleichbar mit “nur” 64 Bit fallen würde — AES-256 bliebe selbst dann noch mit effektiv 128 Bit ausreichend sicher.
Vorgänger von AES
Vor AES war DES (Data Encryption Standard, 1977) der vorherrschende symmetrische Standard, mit einer Schlüssellänge von nur 56 Bit — 1998 zeigte ein speziell gebauter Rechner (“Deep Crack”), dass sich ein DES-Schlüssel innerhalb weniger Tage vollständig durchprobieren ließ, was DES für sicherheitskritische Zwecke endgültig disqualifizierte. Als Übergangslösung kam Triple-DES (3DES) zum Einsatz, das DES dreimal hintereinander mit unterschiedlichen Schlüsseln anwendet, um die effektive Sicherheit zu erhöhen — deutlich langsamer als ein moderner Algorithmus, aber mit bestehender Hardware kompatibel. Der 2001 vom NIST ausgewählte AES-Algorithmus (ursprünglich unter dem Namen “Rijndael” von zwei belgischen Kryptografen entwickelt) löste beide ab und ist bis heute ungebrochen.
Siehe auch: Asymmetrische Verschlüsselung, Hybride Schlüsselverfahren, Sitzungsschlüssel