0Pricing
Cryptology Academy · Lektion

GCM und authentifizierte Verschlüsselung

Fügen Sie der Verschlüsselung Authentifizierungs-Tags hinzu, um Manipulationen zu verhindern.

GCM und authentifizierte Verschlüsselung ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

AES-GCM gilt als Standardlösung für authentifizierte Verschlüsselung. Es bietet Vertraulichkeit UND Integrität in einem einzigen Vorgang und verhindert Manipulationen ohne einen separaten HMAC-Schritt.

Das Problem reiner Verschlüsselung

Verschlüsselung gewährleistet Vertraulichkeit, aber NICHT Integrität. Ein Angreifer, der AES-CBC-Geheimtext abfängt, kann Bits umkippen und den entschlüsselten Klartext verändern, ohne den Schlüssel zu kennen.

AEAD: Authenticated Encryption with Associated Data

AEAD-Verfahren erzeugen: Geheimtext + Authentifizierungstag. Der Tag authentifiziert sowohl den Geheimtext ALS AUCH optionale, unverschlüsselte zusätzliche Daten (AAD). Jede Änderung macht den Tag ungültig.

GCM-Architektur

AES-GCM verwendet: 1. AES-CTR zur Verschlüsselung 2. GHASH zur Authentifizierung GHASH berechnet über dem Geheimtext + AAD einen polynomialen MAC mithilfe der Multiplikation in GF(2^128).

GHASH-Überblick

GHASH(H, A, C) = Hash aus AAD + Geheimtext mithilfe des Unterschlüssels H = AES(K, 0^128). Das Polynom wird bei H über GF(2^128) ausgewertet. Das Ergebnis wird mit dem verschlüsselten Zähler XOR-verknüpft, um den Tag zu bilden.

Eingaben und Ausgaben von AES-GCM

Eingaben: 128-/192-/256-Bit-Schlüssel, 96-Bit-Nonce, Klartext, optionale AAD Ausgaben: Geheimtext (gleich lang wie der Klartext), 128-Bit-Authentifizierungstag Der Tag ist normalerweise 16 Byte lang. Eine Kürzung auf weniger als 12 Byte wird nicht empfohlen.

Nonce-Anforderungen bei GCM

GCM erfordert für jede Verschlüsselung mit demselben Schlüssel einen eindeutigen Nonce. Ein zufälliger 96-Bit-Nonce ist Standard. Nach 2^32 Nachrichten liegt die Kollisionswahrscheinlichkeit über 1 %. Ab diesem Punkt sollten Sie den Schlüssel wechseln.

Katastrophe durch Wiederverwendung des GCM-Nonce

Bei der Wiederverwendung von (Schlüssel, Nonce) in GCM kann ein Angreifer den GHASH-Unterschlüssel H rekonstruieren und für jeden Geheimtext einen gültigen Tag fälschen. Dadurch werden sowohl die Vertraulichkeit als auch die Integrität vollständig gebrochen.

Anwendungsfälle für zusätzliche Daten (AAD)

AAD sind Metadaten, die Sie authentifizieren, aber nicht verschlüsseln möchten: - HTTP-Header: wird authentifiziert, um Angriffe auf die Weiterleitung von Antworten zu verhindern - ID eines Datenbankeintrags: stellt sicher, dass der Geheimtext in der richtigen Zeile entschlüsselt wird - Protokollversion: verhindert Downgrade-Angriffe

Vollständiges AES-GCM-Beispiel in Python

from cryptography.hazmat.primitives.ciphers.aead import AESGCM import os key = AESGCM.generate_key(256) nonce = os.urandom(12) aad = b'user_id=12345' aesgcm = AESGCM(key) ct = aesgcm.encrypt(nonce, b'secret', aad) pt = aesgcm.decrypt(nonce, ct, aad) # raises if tampered

Alternativen: ChaCha20-Poly1305

ChaCha20-Poly1305 ist das andere wichtige AEAD-Verfahren. Es wird in TLS 1.3 für Geräte ohne AES-NI (ARM/Mobilgeräte) verwendet. Es bietet eine ähnliche Sicherheit wie AES-GCM, ist aber bei Software ohne Hardwarebeschleunigung schneller.

Kurze Überprüfung

Wogegen schützt der Authentifizierungstag in AES-GCM?

Zusammenfassung

AES-GCM ist die richtige Standardwahl für authentifizierte Verschlüsselung. Als Nächstes untersuchen wir Stromchiffren: vom gebrochenen RC4 bis zum modernen ChaCha20.

Häufig gestellte Fragen

Ist die Lektion „GCM und authentifizierte Verschlüsselung“ kostenlos?

Ja — der vollständige Text von „GCM und authentifizierte Verschlüsselung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „GCM und authentifizierte Verschlüsselung“?

Fügen Sie der Verschlüsselung Authentifizierungs-Tags hinzu, um Manipulationen zu verhindern. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „GCM und authentifizierte Verschlüsselung“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen von Blockchiffren und Padding
  2. ECB vs. CBC: Muster und IVs
  3. CTR-Modus und Verhalten von Stromchiffren
  4. GCM und authentifizierte Verschlüsselung
← Zurück zu Cryptology Academy