SVP — Lernzusammenfassung

Alle Erklärungen und Visualisierungen aus der Tutoring-Session. Zum Wiederholen vor dem Vortrag.

1. Was ist ein Gitter?

Ein Gitter ist die Menge aller ganzzahligen Kombinationen von Basisvektoren. Stell dir schiefes Karopapier vor — die Ecken der Parallelogramme sind die Gitterpunkte, und die Seitenvektoren bilden die Basis.

Formal: L = { z₁b₁ + z₂b₂ + ... + zₙbₙ | zᵢ ∈ ℤ }

Der entscheidende Unterschied zur linearen Algebra: Bei Vektorräumen darfst du reelle Zahlen verwenden und erreichst jeden Punkt. Bei Gittern nur ganze Zahlen → du bekommst diskrete Punkte.

Merkregel
Mit einer Kombination aus den Basisvektoren (nur ganzzahlige Koeffizienten!) kann man das gesamte Gitter abbilden. Kein Punkt fehlt, keiner kommt dazu. Die Basis definiert das Gitter.

Basen sind nicht eindeutig: Dasselbe Gitter kann durch komplett unterschiedliche Basisvektoren beschrieben werden. Manche Basen sind „gut" (kurze, fast senkrechte Vektoren → SVP leicht lösbar), manche „schlecht" (lange, fast parallele Vektoren → SVP schwer). Man kann nicht einfach orthonormalisieren, weil das reelle Koeffizienten bräuchte — erlaubt sind nur ganzzahlige unimodulare Transformationen (det = ±1).

Grundidee der Gitter-Krypto: Öffentlicher Schlüssel = schlechte Basis, privater Schlüssel = gute Basis desselben Gitters.

2. SVP, γ-SVP und CVP

Exaktes SVP

Gegeben eine Basis B, finde den kürzesten Nicht-Null-Vektor. Die Länge dieses Vektors heißt λ₁(L). Minkowski hat 1889 bewiesen, dass so ein Vektor immer existiert — aber ihn finden ist das Problem.

γ-SVP (Approximation)

Statt den exakt kürzesten Vektor zu finden, reicht einer, der höchstens γ-mal so lang ist. Drei Varianten:

Suchversion (SVP_γ): Finde einen Vektor v mit ‖v‖ ≤ γ · λ₁.

Schätzversion (EstSVP_γ): Gib die Länge λ₁ bis auf Faktor γ genau an.

Entscheidungsversion (GapSVP_γ): Gegeben Basis B und Wert d, unterscheide: Ist λ₁ ≤ d (YES) oder λ₁ > γ·d (NO)? Alles dazwischen ist Grauzone (Promise-Problem) — dort darf die Antwort beliebig sein. In der Visualisierung: blauer Kreis = YES-Grenze (d), oranger Kreis = NO-Grenze (γ·d), gelbe Zone dazwischen = der „verbotene" Bereich, den das Problem ignoriert.

Die Komplexitätslandschaft von γ
γ = 1 → NP-hart (Ajtai 1998)
γ = Konstante → NP-hart (Micciancio 2001)
γ ≈ √n → NP ∩ coNP (Aharonov & Regev 2005)
γ = 2^O(n) → in P (LLL löst das)
Dazwischen: Terra incognita — niemand weiß wo es kippt.

CVP (Closest Vector Problem)

Gegeben ein Gitter und einen externen Punkt t (nicht im Gitter), finde den nächstgelegenen Gitterpunkt. In der Visualisierung: roter Punkt mit Kreuz = Zielpunkt t, grün umringter Punkt = nächster Gitterpunkt, gestrichelte Linie = minimale Distanz.

Verhältnis zu SVP: SVP ≤p CVP (Polynomialzeit-Reduktion: Man kann SVP auf CVP reduzieren, indem man Basis verdoppelt und t geschickt wählt). Die Umkehrung ist unbekannt — CVP gilt als das natürlich schwerere Problem. Typische Anwendung in der Kryptografie: t ist ein verrauschter Geheimtext, der nächste Gitterpunkt ist die eigentliche Nachricht.

3. Komplexitätstheoretische Einordnung

Schnell-Glossar

P = effizient lösbar. NP = Lösung schnell überprüfbar. NP-hart = mindestens so schwer wie alles in NP. coNP = Ablehnung schnell verifizierbar. NP ∩ coNP = beides verifizierbar → vermutlich nicht NP-hart.

NP-Härte (Ajtai 1998)

Ajtai hat SAT auf SVP reduziert: Aus jeder SAT-Formel baut er ein Gitter, bei dem der kürzeste Vektor verrät, ob die Formel erfüllbar ist. Aber: Die Reduktion braucht Zufall (randomisiert). Ob es deterministisch geht, ist seit 26 Jahren offen.

Micciancio (2001) verschärft: Selbst Approximation bis auf jeden konstanten Faktor γ bleibt NP-hart.

GapSVP in NP ∩ coNP (Aharonov & Regev 2005)

Ab γ ≈ √n liegt GapSVP in NP ∩ coNP. Die NP-Seite ist trivial (kurzen Vektor vorzeigen). Die coNP-Seite ist der Durchbruch:

Der coNP-Beweis in einem Satz
Du beweist Abwesenheit (kein kurzer Vektor im Gitter) durch Anwesenheit (kurze Vektoren im dualen Gitter). Wegen der Wippe (Transference-Theorem) schließt das eine das andere aus.

Fun Fact: Aharonov & Regev haben das zuerst quantenmechanisch bewiesen (QMA) und dann "dequantisiert" — den Quantenbeweis in einen klassischen umgewandelt.

4. Worst-Case-to-Average-Case-Reduktion

Das Problem mit RSA

RSA sagt: "Faktorisieren zufälliger Zahlen ist hoffentlich schwer." Aber es gibt keinen Beweis dafür. Vielleicht sind 99% der zufälligen Instanzen leicht — dann wäre RSA unsicher. Bogdanov & Trevisan haben gezeigt, dass so eine Worst-Case-to-Average-Case-Verbindung für allgemeine NP-Probleme vermutlich unmöglich ist.

Ajtais Durchbruch (1996)

Für Gitter ist es anders: Wenn du zufällige SIS-Instanzen lösen kannst, kannst du jede beliebige Worst-Case-SVP-Instanz lösen. Die Reduktion baut aus der schwierigsten SVP-Instanz zufällige SIS-Instanzen. Löst jemand die, kannst du die Lösung zurückübersetzen.

SIS (Short Integer Solution): Gegeben eine zufällige Matrix A, finde einen kurzen Vektor z mit Az = 0 mod q.

Warum das einzigartig ist
Bei Gittern gibt es keine "leichten zufälligen Instanzen". Entweder ALLE sind schwer, oder ALLE sind leicht. Es gibt kein Dazwischen. Das ist bei keinem anderen kryptografisch relevanten Problem der Fall.

5. Algorithmen

LLL (Lenstra-Lenstra-Lovász, 1982)

Nimmt eine "schlechte" Basis und macht sie "besser". Zwei Bedingungen:

Größenreduktion: Gram-Schmidt-Koeffizienten |μ| ≤ ½ — jeder Vektor zeigt so wenig wie möglich in Richtung der vorherigen.

Lovász-Bedingung: Die Gram-Schmidt-Vektoren dürfen nicht zu schnell kürzer werden.

Funktioniert wie Bubble Sort — vergleiche Nachbarn, tausche wenn nötig. Polynomielle Laufzeit, aber exponentieller Approximationsfaktor 2^{(n-1)/2}.

Exakte Algorithmen

Enumeration (Kannan 1983): Erst Basis reduzieren, dann systematisch alle Vektoren durchprobieren. Wie Baumsuche mit Pruning. Laufzeit n^{O(n)} (superexponentiell), aber nur poly(n) Speicher. Praxistauglich bis Dimension ~60-80.

Sieving (AKS 2001): Starte mit vielen zufälligen Gittervektoren, finde nahe Paare, ersetze durch ihre Differenz. Wie ein Sieb, das immer kürzere Vektoren erzeugt. Laufzeit 2^{n+o(n)} (besser), aber auch 2^{n+o(n)} Speicher (schlechter).

Übersichtstabelle

Algorithmus Faktor γ Laufzeit Speicher
LLL (1982)2^{(n-1)/2}poly(n)poly(n)
BKZ-k2^{O(n/k)}2^{O(k)}poly(n)
Enumeration (1983)1 (exakt)n^{O(n)}poly(n)
Sieving (2001)1 (exakt)2^{n+o(n)}2^{n+o(n)}
Voronoi (2010)1 (exakt)Õ(4^n)Õ(2^n)
Offene Frage (kann der Prof fragen)
Kann SVP in 2^{O(n)} Zeit mit 2^{o(n)} Speicher gelöst werden? Also das Beste aus Enumeration (wenig Speicher) und Sieving (wenig Zeit)?

6. Post-Quantum-Krypto (Kurzfassung für den Vortrag)

RSA und ECC werden durch Shors Algorithmus gebrochen. Die NIST-Standards seit August 2024 basieren auf Gitterproblemen:

ML-KEM (Kyber): Schlüsselaustausch, basiert auf Module-LWE.

ML-DSA (Dilithium): Digitale Signaturen, basiert auf Module-LWE + Module-SIS.

SLH-DSA (SPHINCS+): Hashbasiertes Backup, falls Gitter gebrochen werden.

Der Schlüsselsatz für deinen Vortrag
"Die Sicherheit von Kyber und Dilithium basiert nicht auf der Hoffnung, dass zufällige Instanzen schwer sind — sondern auf der beweisbaren Worst-Case-Härte von SVP. Das ist eine fundamental stärkere Aussage als alles, was RSA bieten kann."

7. Wahrscheinliche Prof-Fragen

1. Warum ist SVP für Post-Quantum-Krypto relevant?
Worst-Case-Härte überträgt sich auf Average-Case. Kein bekannter Quantenvorteil. NIST-Standards basieren darauf.
2. Was leistet LLL, und wo sind seine Grenzen?
Polynomielle Laufzeit, aber Approximationsfaktor 2^{(n-1)/2} — exponentiell in der Dimension. Reicht für kleine Dimensionen, nicht für kryptografische Parameter (n ≈ 1000).
3. Was ist der Unterschied zwischen SVP und CVP?
SVP: kürzester Nicht-Null-Vektor im Gitter (Länge = λ₁). CVP: nächster Gitterpunkt zu einem externen Punkt t ∉ L. SVP ≤p CVP — man kann SVP auf CVP reduzieren (Einbettungstrick: verdopple die Basis und wähle t so, dass der nächste Gitterpunkt dem kürzesten Vektor entspricht). Umkehrung unbekannt. GapCVP ist ebenfalls NP-hart und liegt für große γ in NP ∩ coNP.
4. Was bedeutet die Worst-Case-to-Average-Case-Reduktion?
Ajtai 1996: Zufällige SIS-Instanzen lösen = Worst-Case-SVP lösen. Einzigartig — bei RSA/SAT gibt es das nicht. Bogdanov & Trevisan zeigten Barrieren für allgemeine NP-Probleme.
5. Wie ordnet sich SVP in die Komplexitätslandschaft ein?
NP-hart für exakte Lösung (randomisierte Reduktion), für γ ≈ √n in NP ∩ coNP, für γ = 2^{O(n)} in P. Die genaue Grenze ist offen.
6. Was ist LWE?
Gleichungssystem b = As + e mit kleinem Fehler e. Ohne Fehler trivial (Gauß-Elimination), mit Fehler schwer. Regev 2005: LWE lösen → GapSVP im Worst-Case lösen (braucht Quantenreduktion). Peikert 2009: klassisch, aber nur für große Moduli.

Zuletzt aktualisiert: April 2026. Alle Visualisierungen sind interaktiv — klick dich durch die Tabs.