Learning with errors

Learning with errors (LWE) ist ein Problem aus dem Bereich der Kryptographie, das in verschiedenen kryptographischen Anwendungen eingesetzt wird. Es wurde erstmals von Oded Regev im Jahr 2005 eingeführt. Regev wurde 2018 für seine Arbeit zum LWE-Problem und zur gitterbasierten Kryptographie mit dem Gödel-Preis ausgezeichnet.

Definition

Das LWE-Problem bezieht sich auf die Schwierigkeit, aus linearen Gleichungen mit additivem Zufallsfehler einen unbekannten Geheimvektor zu rekonstruieren.

Im Detail: Angenommen, wir haben eine Matrix A und einen Vektor b→, der durch Multiplikation von A mit einem unbekannten Vektor s→ und der Addition eines Fehlervektors e→ entstanden ist. Die Aufgabe besteht nun darin, den Vektor s→ aus A und b→ zu rekonstruieren. Es ergibt sich also folgende Gleichung:

b→=A⋅s→+e→

Alle Operationen werden im Körper ℤp mit Primzahl p durchgeführt, also im Restklassenring modulo p. Demnach gilt also s→∈ℤpn und b→,e→∈ℤpm sowie A∈ℤpm×n mit n,m∈ℕ.

Die Matrix-Vektor-Gleichung kann auch als ein lineares Gleichungssystem betrachtet werden. n sei hierzu die Dimension des Geheimvektors s→ und m die Anzahl der Gleichungen bzw. die Dimension der Vektoren b→ und e→. Die m×n-Matrix A bestehe aus den Zeilenvektoren a→1,a→2…,a→m:

b1=a→1⋅s→+e1modpb2=a→2⋅s→+e2modp⋮bm=a→m⋅s→+emmodp

Wäre bekannt, dass e→ der Nullvektor 0→ ist, könnte das Gleichungssystem aus m vielen Gleichungen in Polynomialzeit poly⁡(n) mit einem Verfahren wie dem Gauß-Verfahren effizient gelöst werden, um s→ zu erhalten. Durch die Addition des Fehlervektors e→ wird das Problem aber deutlich schwerer; bekannte Algorithmen zur Lösung laufen in Exponentialzeit 2O(n).

Für ein konkretes Learning-with-errors-Problem LWEp,χ mit einer Primzahl p und einer Wahrscheinlichkeitsverteilung χ werden die Vektoren a→1,…,a→m zufällig unabhängig gleichverteilt aus ℤpn ausgewählt und die Fehlerterme e1,…,em werden zufällig unabhängig nach der Wahrscheinlichkeitsverteilung χ, typischerweise einer diskreten Gaußverteilung, ausgewählt.

Anwendung

Das LWE-Problem wird in der Kryptographie in verschiedenen Verfahren eingesetzt, insbesondere für die Konstruktion von Verschlüsselungs- und Signaturverfahren. Der Grund dafür liegt in der Annahme, dass das LWE-Problem schwer genug ist, um als Basis für kryptographische Verfahren genutzt zu werden, aber gleichzeitig effizient genug, um in der Praxis eingesetzt zu werden.

Ein bekanntes Anwendungsgebiet von LWE ist die Entwicklung von Public-Key-Kryptographie-Systemen, wie z. B. den „Learning with Errors Key Exchange“ (LWE-KEX) oder „Learning with Errors Encryption“ (LWE-E). Diese Verfahren sind besonders interessant, da sie im Gegensatz zu traditionellen Public-Key-Kryptographie-Systemen wie RSA oder Diffie-Hellman nicht auf der Faktorisierung großer Zahlen oder dem diskreten Logarithmusproblem basieren. Für LWE-basierte Verfahren sind bislang keine effizienten Quantenalgorithmen bekannt, im Gegensatz zu RSA oder Diffie-Hellman, die durch den Shor-Algorithmus gebrochen werden können.

LWE ist ein vielversprechendes Konzept und ein aktiver Forschungsbereich in der Kryptographie. In der Praxis wird LWE bereits in verschiedenen Anwendungen eingesetzt, etwa innerhalb des Bereichs der Post-Quanten-Kryptographie und als Basis für sichere Datenübertragung.

Im Rahmen der Post-Quanten-Kryptographie-Standardisierung des NIST wurden 2024 das Schlüsselkapselungsverfahren CRYSTALS-Kyber und das digitale Signaturverfahren CRYSTALS-Dilithium standardisiert. Beide Verfahren basieren auf dem mit LWE verwandten Problem Module Learning with errors (M-LWE).

Beispiel: Public-Key-Kryptosystem

Regev beschreibt 2009 bereits ein Learning-with-errors-basiertes Public-Key-Kryptosystem, bei dem ein privater und ein öffentlicher Schlüssel generiert werden, um dann zu ver- und entschlüsseln. Dabei dient n als Sicherheitsparameter, der die Dimension des Geheimvektors und damit das Sicherheitsniveau des Systems bestimmt. Davon abhängig wird

  • die Primzahl p zwischen n2 und 2n2,
  • m=(1+ε)(n+1)log⁡p mit einem beliebigen ε>0 sowie
  • die Wahrscheinlichkeitsverteilung χ als eine diskrete Gaußverteilung mit Erwartungswert 0 festgelegt.
Privater Schlüssel
Privater Schlüssel s→ der Länge n
Um einen privaten Schlüssel zu generieren, wird ein zufälliger Vektor s→ aus ℤpn gewählt. Dieser Vektor s→ ist der private Schlüssel.
Öffentlicher Schlüssel
Generierung des öffentlichen Schlüssels (A,b→)
Um den öffentlichen Schlüssel zu generieren, werden die Vektoren a→1,…,a→m unabhängig gleichverteilt aus ℤpn gewählt und die Werte e1,…,em unabhängig entsprechend der Wahrscheinlichkeitsverteilung χ aus ℤp. Der öffentliche Schlüssel besteht dann aus der Matrix A, deren Zeilen die Vektoren a→i sind, sowie dem Vektor b→.
Verschlüsseln
Verschlüsseln von M (für Bit 0: M=0 oder für Bit 1: M=p/2) mit öffentlichem Schlüssel (A,b→). Zufällige Auswahl durch Auswahlvektor r→, der auf der Untermenge S⊂{1,2,…,m} basiert.
Für jedes Bit einer zu verschlüsselnden Nachricht wird eine zufällige Untermenge S⊂{1,2,…,m} ausgewählt.
  • Wenn das zu verschlüsselnde Bit 0 ist, dann wird es als das Paar (∑i∈Sa→i, ∑i∈Sbi) verschlüsselt.
  • Wenn das zu verschlüsselnde Bit 1 ist, dann wird es als das Paar (∑i∈Sa→i, ⌊p2⌋+∑i∈Sbi) verschlüsselt.
Entschlüsseln
Das entschlüsselte Bit aus dem Paar (a→,b) ist 0, wenn b−a→⋅s→ modulo p näher bei 0 als bei ⌊p2⌋ liegt. Ansonsten ist das entschlüsselte Bit 1.

Verwandte Probleme

Learning Parity with Noise (LPN)

LPN kann als Spezialfall von LWE mit p=2 und einer Bernoulli-verteilten Fehlerkomponente aufgefasst werden, wobei ein Fehlerterm ei mit Wahrscheinlichkeit ε gleich 1 ist.

Ring-Learning with errors (R-LWE)

Ring-LWE ist eine Variante von LWE, die statt mit Vektoren über ℤp mit Polynomen über einem geeigneten Polynomring arbeitet.

Module Learning with Errors (M-LWE)

Module-LWE ist eine Variante von LWE und eine Verallgemeinerung von Ring-LWE. Statt einzelner Polynomringe werden Modulstrukturen verwendet. Ein Modul ist wiederum eine algebraische Struktur, die Ringe und Vektorräume generalisiert.

Closest Vector Problem (CVP)

Basisvektoren (blau), Zielpunkt (grün), nächster Gitterpunkt (rot)

Gegeben sei ein Gitter und ein Zielpunkt. Es soll der Gitterpunkt gefunden werden, der am nächsten am Zielpunkt liegt. (Siehe Abbildung)

Man kann die Gleichung des LWE-Problems

b→=A⋅s→+e→

in diesem Kontext wie folgt betrachten: Die Matrix A enthält die Basisvektoren eines Gitters als Zeilen. A⋅s→ beschreibt einen Gitterpunkt als die Linearkombination der Basisvektoren mit den Koeffizienten aus s→. b→ ist der Zielpunkt, der nahe an einem Gitterpunkt A⋅s→ liegt. Mit LWE soll der Vektor s→ gefunden werden, der durch Linearkombination der Basisvektoren den zu b→ nächsten Gitterpunkt ergibt.

Literatur

Einzelnachweise

  1. ↑ Oded Regev: On lattices, learning with errors, random linear codes, and cryptography. In: Proceedings of the Thirty-Seventh Annual ACM Symposium on Theory of Computing. STOC '05. Association for Computing Machinery, 2005, ISBN 1-58113-960-8, S. 84–93, doi:10.1145/1060590.1060603.
  2. 1 2 3 4 5 6 7 Oded Regev: On lattices, learning with errors, random linear codes, and cryptography. In: Journal of the ACM. Band 56, Nr. 6, 2009, 34, doi:10.1145/1568318.1568324.
  3. ↑ 2018 Gödel Prize. In: European Association for Theoretical Computer Science. European Association for Theoretical Computer Science, abgerufen am 12. Februar 2026.
  4. 1 2 Carl Richard Theodor Schneider: Backdoors in cryptography. Ruhr-Universität Bochum, Universitätsbibliothek, 2025, S. 21, doi:10.13154/294-12053, urn:nbn:de:hbz:294-120539.
  5. ↑ National Institute of Standards and Technology: Module-Lattice-Based Key-Encapsulation Mechanism Standard. National Institute of Standards and Technology, 2024, NIST FIPS 203, doi:10.6028/NIST.FIPS.203.
  6. ↑ National Institute of Standards and Technology: Module-Lattice-Based Digital Signature Standard. National Institute of Standards and Technology, 2024, NIST FIPS 204, doi:10.6028/NIST.FIPS.204.
  7. 1 2 Julius Hermelink: Side-Channel and Fault Attacks in Modern Lattice-Based Cryptography. Universitätsbibliothek der Universität der Bundeswehr München, 2024, S. 24, urn:nbn:de:bvb:706-9934.
  8. ↑ Adeline Langlois, Damien Stehlé: Worst-case to average-case reductions for module lattices. In: Designs, Codes and Cryptography. Band 75, Nr. 3. Springer Science and Business Media LLC, 2015, ISSN 1573-7586, S. 565–599, doi:10.1007/s10623-014-9938-4.
  9. ↑ Daniele Micciancio: Closest Vector Problem. In: Henk C. A. van Tilborg (Hrsg.): Encyclopedia of Cryptography and Security. Springer US, 2005, ISBN 0-387-23483-7, S. 79–80, doi:10.1007/0-387-23483-7_66 (ucsd.edu [PDF]).