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.[1] Regev wurde 2018 für seine Arbeit zum LWE-Problem und zur gitterbasierten Kryptographie[2] mit dem Gödel-Preis ausgezeichnet.[3]
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 und einen Vektor , der durch Multiplikation von mit einem unbekannten Vektor und der Addition eines Fehlervektors entstanden ist. Die Aufgabe besteht nun darin, den Vektor aus und zu rekonstruieren. Es ergibt sich also folgende Gleichung:
Die Matrix-Vektor-Gleichung kann auch als ein lineares Gleichungssystem betrachtet werden. sei hierzu die Dimension des Geheimvektors und die Anzahl der Gleichungen bzw. die Dimension der Vektoren und . Die -Matrix bestehe aus den Zeilenvektoren :[2][4]
Wäre bekannt, dass der Nullvektor ist, könnte das Gleichungssystem aus vielen Gleichungen in Polynomialzeit mit einem Verfahren wie dem Gauß-Verfahren effizient gelöst werden, um zu erhalten. Durch die Addition des Fehlervektors wird das Problem aber deutlich schwerer; bekannte Algorithmen zur Lösung laufen in Exponentialzeit.[2]
Für ein konkretes Learning-with-errors-Problem mit einer Primzahl und einer Wahrscheinlichkeitsverteilung werden die Vektoren zufällig unabhängig gleichverteilt aus ausgewählt und die Fehlerterme werden zufällig unabhängig nach der Wahrscheinlichkeitsverteilung , typischerweise einer diskreten Gaußverteilung, ausgewählt.[2]
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.
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.[2]
Dabei dient als Sicherheitsparameter, der die Dimension des Geheimvektors und damit das Sicherheitsniveau des Systems bestimmt. Davon abhängig wird
die Primzahl zwischen und ,
mit einem beliebigen sowie
die Wahrscheinlichkeitsverteilung als eine diskrete Gaußverteilung mit Erwartungswert festgelegt.
Privater Schlüssel
Privater Schlüssel der Länge Um einen privaten Schlüssel zu generieren, wird ein zufälliger Vektor aus gewählt. Dieser Vektor ist der private Schlüssel.
Öffentlicher Schlüssel
Generierung des öffentlichen Schlüssels Um den öffentlichen Schlüssel zu generieren, werden die Vektoren unabhängig gleichverteilt aus gewählt und die Werte unabhängig entsprechend der Wahrscheinlichkeitsverteilung aus . Der öffentliche Schlüssel besteht dann aus der Matrix , deren Zeilen die Vektoren sind, sowie dem Vektor .
Verschlüsseln
Verschlüsseln von (für Bit : oder für Bit : ) mit öffentlichem Schlüssel . Zufällige Auswahl durch Auswahlvektor , der auf der Untermenge basiert. Für jedes Bit einer zu verschlüsselnden Nachricht wird eine zufällige Untermenge ausgewählt.
Wenn das zu verschlüsselnde Bit 0 ist, dann wird es als das Paar verschlüsselt.
Wenn das zu verschlüsselnde Bit 1 ist, dann wird es als das Paar verschlüsselt.
Entschlüsseln
Das entschlüsselte Bit aus dem Paar ist , wenn modulo näher bei als bei liegt. Ansonsten ist das entschlüsselte Bit .
Verwandte Probleme
Learning Parity with Noise (LPN)
LPN kann als Spezialfall von LWE mit und einer Bernoulli-verteilten Fehlerkomponente aufgefasst werden, wobei ein Fehlerterm mit Wahrscheinlichkeit gleich ist.[2]
Ring-Learning with errors (R-LWE)
Ring-LWE ist eine Variante von LWE, die statt mit Vektoren über mit Polynomen über einem geeigneten Polynomring arbeitet.[7]
Module Learning with Errors (M-LWE)
Module-LWE ist eine Variante von LWE und eine Verallgemeinerung von Ring-LWE.[7] Statt einzelner Polynomringe werden Modulstrukturen verwendet. Ein Modul ist wiederum eine algebraische Struktur, die Ringe und Vektorräume generalisiert.[8]
Gegeben sei ein Gitter und ein Zielpunkt. Es soll der Gitterpunkt gefunden werden, der am nächsten am Zielpunkt liegt.[9] (Siehe Abbildung)
Man kann die Gleichung des LWE-Problems
in diesem Kontext wie folgt betrachten: Die Matrix enthält die Basisvektoren eines Gitters als Zeilen. beschreibt einen Gitterpunkt als die Linearkombination der Basisvektoren mit den Koeffizienten aus . ist der Zielpunkt, der nahe an einem Gitterpunkt liegt. Mit LWE soll der Vektor gefunden werden, der durch Linearkombination der Basisvektoren den zu nächsten Gitterpunkt ergibt.
Literatur
Oded Regev:On lattices, learning with errors, random linear codes, and cryptography. In: Journal of the ACM. Band56, Nr.6, 2009, 34, doi:10.1145/1568318.1568324.
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.
Oded Regev:On lattices, learning with errors, random linear codes, and cryptography. In: Journal of the ACM. Band56, Nr.6, 2009, 34, doi:10.1145/1568318.1568324.
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.
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.
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.
Adeline Langlois, Damien Stehlé:Worst-case to average-case reductions for module lattices. In: Designs, Codes and Cryptography. Band75, Nr.3. Springer Science and Business Media LLC, 2015, ISSN1573-7586, S.565–599, doi:10.1007/s10623-014-9938-4.
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]).