Fortgeschrittener Verschlüsselungs-Guide: AES, RSA, ECC & Post-Quanten-Kryptographie

Dieser umfassende Leitfaden erkundet fortgeschrittene Verschlüsselungskonzepte, Algorithmen und Protokolle, die in modernen sicheren Kommunikationssystemen verwendet werden. Ideal für Entwickler und Sicherheitsprofis.

Hinweis: Dieser Leitfaden setzt Vertrautheit mit grundlegenden Verschlüsselungskonzepten voraus. Für Anfänger empfehlen wir unsere Sicherheitstipps für Anfänger.

Symmetrische Verschlüsselungsalgorithmen

AES (Advanced Encryption Standard)

Der Goldstandard für symmetrische Verschlüsselung, 2001 von der US-Regierung übernommen.

Hauptmerkmale

  • Schlüsselgrößen: 128, 192 oder 256 Bits
  • Blockgröße: 128 Bits
  • Runden: 10, 12 oder 14 abhängig von der Schlüsselgröße
  • Performance: Hochoptimiert, Hardware-Beschleunigung verfügbar

Gängige Modi

  • GCM (Galois/Counter Mode): Authentifizierte Verschlüsselung, empfohlen für die meisten Anwendungsfälle
  • CBC (Cipher Block Chaining): Traditioneller Modus, benötigt separaten MAC
  • CTR (Counter): Parallelisierbar, in einigen Protokollen verwendet

ChaCha20

Moderne Stream-Cipher, entworfen von Daniel J. Bernstein, zunehmend beliebt als AES-Alternative.

Vorteile

  • Schneller als AES auf Geräten ohne Hardware-Beschleunigung
  • Constant-Time-Implementierung (resistent gegen Timing-Angriffe)
  • Einfaches Design, leichter sicher zu implementieren
  • Wird mit Poly1305 für authentifizierte Verschlüsselung verwendet

Asymmetrische Verschlüsselung

RSA (Rivest-Shamir-Adleman)

Weit verbreitet für Schlüsselaustausch und digitale Signaturen.

Wichtige Überlegungen

  • Minimale Schlüsselgröße: 2048 Bits (4096 Bits empfohlen für langfristige Sicherheit)
  • Performance: Rechenintensiv im Vergleich zu symmetrischer Verschlüsselung
  • Padding-Schemata: Verwende OAEP für Verschlüsselung, PSS für Signaturen
  • Quanten-Bedrohung: Anfällig für Quantencomputer (Shor-Algorithmus)

Elliptic Curve Cryptography (ECC)

Effizientere Alternative zu RSA mit gleichwertiger Sicherheit bei kleineren Schlüsselgrößen.

Beliebte Kurven

  • Curve25519: Entworfen für ECDH-Schlüsselaustausch, weit verbreitet
  • Ed25519: Für digitale Signaturen, verwendet in SSH, GPG
  • P-256 (secp256r1): NIST-Standard, weit unterstützt
  • P-384, P-521: Höhere Sicherheitsstufen

Vorteile gegenüber RSA

  • 256-Bit ECC ≈ 3072-Bit RSA-Sicherheit
  • Schnellere Berechnung
  • Kleinere Schlüssel und Signaturen
  • Geringere Bandbreiten- und Speicheranforderungen

Schlüsselaustausch-Protokolle

Diffie-Hellman (DH)

Ermöglicht es zwei Parteien, ein gemeinsames Geheimnis über einen unsicheren Kanal zu etablieren.

Varianten

  • Classic DH: Ursprüngliche Implementierung
  • ECDH: Elliptic Curve-Version (effizienter)
  • X25519: Moderner ECDH mit Curve25519

Perfect Forward Secrecy (PFS)

Stellt sicher, dass vergangene Kommunikationen sicher bleiben, selbst wenn langfristige Schlüssel kompromittiert werden.

Implementierung

  • Erzeuge ephemere Schlüsselpaare für jede Sitzung
  • Zerstöre Sitzungsschlüssel nach Gebrauch
  • Verwendet in TLS 1.3, Signal Protocol, etc.

Hash-Funktionen

SHA-2-Familie

  • SHA-256: 256-Bit-Ausgabe, weit verbreitet
  • SHA-384, SHA-512: Höhere Sicherheitsstufen
  • Anwendungen: Digitale Signaturen, Zertifikatsvalidierung, Passwort-Hashing (mit geeigneten Techniken)

SHA-3 (Keccak)

  • Andere Konstruktion als SHA-2 (Sponge-Funktion)
  • Resistent gegen Length-Extension-Angriffe
  • Geeignet für Anwendungen mit hohen Sicherheitsmargen

BLAKE2/BLAKE3

  • Schneller als SHA-2 und SHA-3
  • Kryptographisch sicher
  • BLAKE3: Hochgradig parallelisierbar, ausgezeichnet für große Datenmengen

Key Derivation Functions (KDFs)

PBKDF2 (Password-Based Key Derivation Function 2)

  • Zweck: Ableitung kryptographischer Schlüssel aus Passwörtern
  • Iterationen: Minimum 100.000 (OWASP-Empfehlung)
  • Anwendungsfall: Passwortspeicherung, Schlüsselableitung

Argon2

Gewinner der Password Hashing Competition (2015), empfohlen für neue Anwendungen.

Varianten

  • Argon2id: Hybrid (empfohlen für die meisten Anwendungsfälle)
  • Argon2i: Optimiert gegen Side-Channel-Angriffe
  • Argon2d: Maximale Resistenz gegen GPU-Angriffe

scrypt

  • Memory-Hard-Funktion (resistent gegen Hardware-Angriffe)
  • Verwendet von Litecoin, Tarsnap
  • Gute Balance zwischen Sicherheit und Kompatibilität

Message Authentication Codes (MACs)

HMAC (Hash-based MAC)

  • Kombiniert Hash-Funktion mit geheimem Schlüssel
  • Bietet Authentifizierung und Integrität
  • Gängig: HMAC-SHA256, HMAC-SHA512

Poly1305

  • Einmal-Authentifikator
  • Verwendet mit ChaCha20 für authentifizierte Verschlüsselung
  • Schnell und Constant-Time

Authentifizierte Verschlüsselung

Warum es wichtig ist

Verschlüsselung allein garantiert keine Integrität. Ein Angreifer könnte den Ciphertext modifizieren, ohne erkannt zu werden. Authentifizierte Verschlüsselung löst dieses Problem.

AEAD (Authenticated Encryption with Associated Data)

  • AES-GCM: Am weitesten unterstützt
  • ChaCha20-Poly1305: Besser auf mobilen Geräten
  • AES-CCM: Verwendet in einigen Wireless-Protokollen

Digitale Signaturen

RSA-Signaturen

  • Padding: Verwende PSS (Probabilistic Signature Scheme)
  • Hash-Funktion: SHA-256 oder höher
  • Schlüsselgröße: 2048 Bits minimum

ECDSA (Elliptic Curve Digital Signature Algorithm)

  • Kleinere Signaturen als RSA
  • Erfordert sorgfältige Nonce-Generierung (schwacher RNG = kompromittierter Schlüssel)
  • Deterministische Variante (RFC 6979) empfohlen

Ed25519

  • Deterministisch (kein RNG erforderlich)
  • Schnelle Signaturerzeugung und -verifizierung
  • Kleine Signaturen (64 Bytes)
  • Resistent gegen Side-Channel-Angriffe

Moderne Protokolle

Signal Protocol

Hochmodernes End-to-End-Verschlüsselungsprotokoll, verwendet von Signal, WhatsApp, Facebook Messenger.

Hauptmerkmale

  • Double Ratchet: Aktualisiert kontinuierlich Schlüssel
  • Perfect Forward Secrecy: Vergangene Nachrichten bleiben sicher
  • Post-Compromise Security: Erholt sich von Schlüsselkompromittierung
  • Asynchron: Funktioniert auch wenn der Empfänger offline ist

TLS 1.3

Neueste Version des Transport Layer Security-Protokolls.

Verbesserungen

  • Schwache Algorithmen und Cipher Suites entfernt
  • Bietet immer Forward Secrecy
  • Schnellerer Handshake (1-RTT, 0-RTT-Option)
  • Verschlüsseltes Server Hello

Noise Protocol Framework

Modernes kryptographisches Protokoll-Framework zum Aufbau sicherer Kommunikationssysteme.

Anwendungen

  • WireGuard VPN
  • Lightning Network
  • I2P Messaging

Post-Quanten-Kryptographie

Die Bedrohung

Quantencomputer können RSA und ECC mit dem Shor-Algorithmus brechen. Symmetrische Algorithmen sind weniger betroffen, benötigen aber größere Schlüssel.

NIST Post-Quanten-Kandidaten

  • Kyber: Gitterbasierte Schlüsselkapselung
  • Dilithium: Gitterbasierte digitale Signaturen
  • SPHINCS+: Hash-basierte Signaturen

Übergangsstrategie

  • Hybrid-Ansatz: Kombiniere klassische und Post-Quanten-Algorithmen
  • Erhöhe symmetrische Schlüsselgrößen auf 256 Bits
  • Verfolge den NIST-Standardisierungsprozess
  • Plane für Algorithmen-Agilität

Best Practices bei der Implementierung

Entwickle keine eigene Kryptographie

Verwende etablierte, peer-reviewte Bibliotheken:

  • libsodium: High-Level, einfach zu verwenden
  • OpenSSL: Umfassend, weit unterstützt
  • BoringSSL: Googles OpenSSL-Fork
  • Ring: Rust-Kryptographie-Bibliothek

Schlüsselverwaltung

  • Verwende Hardware Security Modules (HSMs) für kritische Schlüssel
  • Implementiere Schlüsselrotations-Richtlinien
  • Hardcode niemals Schlüssel im Quellcode
  • Verwende Schlüsselableitung für mehrere Zwecke
  • Lösche Schlüssel sicher aus dem Speicher nach Gebrauch

Sichere Zufallszahlengenerierung

  • Verwende kryptographisch sicheren RNG (CSPRNG)
  • Verwende niemals Standard-rand()-Funktionen
  • Betriebssystem-RNGs: /dev/urandom (Linux), CryptGenRandom (Windows)
  • Sprachspezifisch: crypto.randomBytes (Node.js), secrets-Modul (Python)

Prävention von Timing-Angriffen

  • Verwende Constant-Time-Vergleich für Geheimnisse
  • Vermeide Verzweigungen basierend auf geheimen Daten
  • Sei dir Cache-Timing-Angriffen bewusst
  • Verwende Bibliotheken, die für Timing-Angriffs-Resistenz entwickelt wurden

Tests und Validierung

Security Audits

  • Regelmäßige Penetrationstests
  • Code-Reviews durch Sicherheitsexperten
  • Externe Sicherheitsaudits
  • Bug-Bounty-Programme

Compliance

  • FIPS 140-2/3: US-Regierungsstandard
  • Common Criteria: Internationale Sicherheitszertifizierung
  • PCI DSS: Anforderungen der Kreditkartenindustrie

Ressourcen zum Weiterlernen

Bücher

  • "Cryptography Engineering" von Ferguson, Schneier und Kohno
  • "Serious Cryptography" von Jean-Philippe Aumasson
  • "Applied Cryptography" von Bruce Schneier

Online-Ressourcen

  • Cryptopals Crypto Challenges
  • Stanfords Kryptographie-Kurse (Coursera)
  • IACR ePrint Archive
  • Crypto Stack Exchange
Sieh Verschlüsselung in Aktion: SecretNote verwendet AES-256-GCM-Verschlüsselung mit sicherer Schlüsselableitung, um deine Nachrichten zu schützen. Probier es jetzt aus!