0Pricing
Cryptology Academy · Lektion

CRYSTALS-Kyber: gitterbasierter KEM

Vollziehen Sie die Schlüsselverkapselung mit Module-LWE und Parametersätze nach.

CRYSTALS-Kyber: gitterbasierter KEM ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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.

Warum Kyber?

CRYSTALS-Kyber (von NIST in FIPS 203 in ML-KEM umbenannt) ist ein auf Module-LWE basierendes Key Encapsulation Mechanism (KEM). Es ersetzt RSA und ECDH beim Schlüsselaustausch und bietet Quantenresistenz bei praxisgerechter Leistung.

KEM vs. Schlüsselvereinbarung

Ein KEM kapselt ein gemeinsames Geheimnis: Der Sender erzeugt einen zufälligen Schlüssel K und verschlüsselt ihn mit dem öffentlichen Schlüssel des Empfängers (Kapselung), wodurch ein Chiffretext C entsteht. Der Empfänger entkapselt C mit seinem privaten Schlüssel, um K wiederherzustellen. Ein interaktiver Schlüsselaustausch ist nicht erforderlich.

Grundlage von Module-LWE

Kyber verwendet Module-LWE über dem Ring R_q = Z_q[x]/(x^256+1) mit q=3329. Die Dimension beträgt k=2 (Kyber-512), k=3 (Kyber-768) beziehungsweise k=4 (Kyber-1024). Die Sicherheitsstufen betragen jeweils etwa 128, 192 und 256 Bit. k=3 (Kyber-768) ist die empfohlene Standardeinstellung.

Schlüsselgenerierung

Erzeugen Sie aus dem Seed ρ (erweiterbar) die Matrix A ∈ R_q^{k×k}. Ziehen Sie das Geheimnis s und das Rauschen e aus einer zentrierten Binomialverteilung (mit kleinen Koeffizienten). Öffentlicher Schlüssel: (ρ, t=As+e). Privater Schlüssel: s. Das Rauschen e ist klein, verhindert aber, dass s aus dem öffentlichen Schlüssel rekonstruiert werden kann.

Kapselung

Um dem Inhaber des öffentlichen Schlüssels (ρ, t) ein gemeinsames Geheimnis zu senden: Ziehen Sie r, e1 und e2 aus der Rauschverteilung. Berechnen Sie u = A^T r + e1 sowie v = t^T r + e2 + round(q/2)*m, wobei m eine zufällige 256-Bit-Nachricht ist. Gemeinsames Geheimnis K = KDF(m). Chiffretext = (u, v).

Entkapselung

Mit dem privaten Schlüssel s: Berechnen Sie m' = decompress(v - s^T u) = decompress(t^T r + e2 + round(q/2)*m - s^T(A^T r + e1)). Die Rauschanteile heben sich annähernd auf, sodass m'≈m verbleibt. Berechnen Sie K = KDF(m'). Die Wahrscheinlichkeit eines Fehlschlags bei der Entkapselung beträgt < 2^{-139}.

Schlüssel- und Chiffretextgrößen

Kyber-768: öffentlicher Schlüssel 1184 Byte, privater Schlüssel 2400 Byte, Chiffretext 1088 Byte, gemeinsames Geheimnis 32 Byte. Zum Vergleich: ECDH-P256: öffentlicher Schlüssel 65 Byte, Chiffretext 32 Byte. Kyber ist etwa 15-mal größer, aber quantensicher. Trotzdem ist es schnell: Kapselung und Entkapselung dauern auf modernen CPUs zusammen weniger als 1 ms.

NTT-Optimierung

Die Polynom-Multiplikation in R_q = Z_q[x]/(x^256+1) verwendet die Number Theoretic Transform (NTT) – das Analogon der FFT für modulare Arithmetik. Die NTT reduziert die Komplexität der Polynom-Multiplikation von O(n^2) auf O(n log n). q=3329 wurde gewählt, weil dieser Wert gute NTT-Eigenschaften für n=256 besitzt.

Hybrider Schlüsselaustausch

Verwenden Sie während der PQC-Migration einen hybriden Schlüsselaustausch: Kombinieren Sie ECDH und Kyber. Gemeinsames Geheimnis = KDF(ECDH_output || Kyber_output). Für einen erfolgreichen Angriff müssen beide Verfahren gebrochen werden: Klassische Angreifer brechen keines von beiden; Quantenangreifer brechen ECDH, aber nicht Kyber. Entwürfe zu TLS 1.3 (IETF RFC 8446) unterstützen hybride KEMs.

Überlegungen zu Seitenkanälen

Die Kyber-Entkapselung läuft in naiven Implementierungen nicht in konstanter Zeit ab – der Schritt des Rejection Sampling kann Zeitinformationen preisgeben. Die Referenzimplementierung verwendet eine NTT in konstanter Zeit und einen Vergleich komprimierter Chiffretexte in konstanter Zeit. Verwenden Sie den Referenzcode der NIST-Einreichung oder geprüfte Bibliotheksimplementierungen.

Bereitstellungsstatus

Das NIST veröffentlichte FIPS 203 (ML-KEM) im August 2024. Chrome fügte 2023 Unterstützung für Kyber in TLS 1.3 hinzu. Cloudflare, Google und AWS stellen hybride ECDH+Kyber-Verfahren bereit. OpenSSL 3.x unterstützt inzwischen ML-KEM. Implementierungen für LibSSH und WireGuard befinden sich in Arbeit.

Kurztest

Welches NIST-Standarddokument standardisiert CRYSTALS-Kyber?

Zusammenfassung

Kyber (ML-KEM) ist ein auf Module-LWE basierendes KEM, das ECDH ersetzt. Schlüsselgrößen von etwa 1 KB; schnelle NTT-Arithmetik; quantenresistent. Stellen Sie Kyber während der Migration als Hybrid mit ECDH bereit. Standardisiert in FIPS 203. Als Nächstes: die Signaturschemata CRYSTALS-Dilithium und Falcon.

Häufig gestellte Fragen

Ist die Lektion „CRYSTALS-Kyber: gitterbasierter KEM“ kostenlos?

Ja — der vollständige Text von „CRYSTALS-Kyber: gitterbasierter KEM“ 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 „CRYSTALS-Kyber: gitterbasierter KEM“?

Vollziehen Sie die Schlüsselverkapselung mit Module-LWE und Parametersätze nach. 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 2 von 4.

Wie lange dauert die Lektion „CRYSTALS-Kyber: gitterbasierter KEM“?

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. Shors und Grovers Algorithmen erklärt
  2. CRYSTALS-Kyber: gitterbasierter KEM
  3. CRYSTALS-Dilithium- und Falcon-Signaturen
  4. Migration zu PQC: Hybride Ansätze
← Zurück zu Cryptology Academy