Gitter und Kryptographie - Goethe-Universität
Gitter und Kryptographie - Goethe-Universität
Gitter und Kryptographie - Goethe-Universität
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Vorlesungen von Prof. Dr. C.P. Schnorr:<br />
<strong>Gitter</strong> <strong>und</strong> <strong>Kryptographie</strong><br />
an der Johann Wolfgang <strong>Goethe</strong>-<strong>Universität</strong> Frankfurt/Main<br />
im Sommersemester 2013<br />
β 5 -Version<br />
12. Juli 2013
Inhaltsverzeichnis<br />
1 <strong>Gitter</strong> in linearen Räumen 5<br />
1.1 Die Geometrie der <strong>Gitter</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
1.2 Dualität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />
1.3 Diskretheit, Primitive Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
1.4 Elementare Reduktionsverfahren zur l 2 -Norm || || . . . . . . . . . . . . . . . . . . . 12<br />
1.5 Hermite Normalform, Untergitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
2 Sukzessive Minima <strong>und</strong> Minkowski-Sätze 17<br />
2.1 Sukzessive Minima <strong>und</strong> erster Satz von Minkowski . . . . . . . . . . . . . . . . . . 17<br />
2.2 Packungsdichte, Hermite-Konstante, kritische <strong>Gitter</strong> . . . . . . . . . . . . . . . . . 19<br />
2.3 Zweiter Satz von Minkowski. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />
3 Gauß-Reduktion 25<br />
3.1 Reduzierte Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />
3.2 Reduktionsverfahren für die Euklidische Norm . . . . . . . . . . . . . . . . . . . . 26<br />
4 LLL-reduzierte <strong>Gitter</strong>basen 31<br />
4.1 Definition <strong>und</strong> Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
4.2 Das LLL-Reduktionsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />
4.3 LLL-Reduktion ganzzahliger Erzeugendensysteme . . . . . . . . . . . . . . . . . . . 37<br />
4.4 LLL-Reduktion mit Gleitkomma-Arithmetik . . . . . . . . . . . . . . . . . . . . . . 38<br />
4.5 LLL-Reduktion mit ganzzahliger Gram-Matrix . . . . . . . . . . . . . . . . . . . . 40<br />
4.6 LLL-Basen mit großem Approximationsfaktor . . . . . . . . . . . . . . . . . . . . . 40<br />
5 Lösen von Subsetsum-Problemen durch kurze <strong>Gitter</strong>vektoren 43<br />
5.1 Das Subsetsum-Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />
5.2 Die Lagarias-Odlyzko-<strong>Gitter</strong>basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />
5.3 Das CJLOSS-<strong>Gitter</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />
5.4 <strong>Gitter</strong> mit großer Packungsdichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />
6 HKZ- <strong>und</strong> Block-Reduktion von <strong>Gitter</strong>basen 49<br />
6.1 HKZ-Basen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />
3
4 INHALTSVERZEICHNIS<br />
6.2 Semi Block 2k-Reduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />
6.3 Primal-Duale Reduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />
6.4 Block-Korkine Zolotareff Reduktion, BKZ . . . . . . . . . . . . . . . . . . . . . . . 57<br />
6.5 BKZ-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />
6.6 Kritische k-reduzierte Basen für k = 2, 3 . . . . . . . . . . . . . . . . . . . . . . . . 61<br />
7 N P-vollständige <strong>Gitter</strong>probleme 63<br />
7.1 N P-Vollständigkeit von Rucksack. . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />
7.2 N P-Vollständigkeit von SVP l∞ , CVP l∞ , CVP l2 . . . . . . . . . . . . . . . . . . . . 64<br />
8 Konstruktion eines kürzesten <strong>Gitter</strong>vektors 67<br />
8.1 Algorithmus mit vollständiger Aufzählung . . . . . . . . . . . . . . . . . . . . . . . 67<br />
8.2 Algorithmus mit geschnittener Aufzählung . . . . . . . . . . . . . . . . . . . . . . . 68<br />
9 <strong>Gitter</strong>reduktion in beliebiger Norm 71<br />
9.1 Gr<strong>und</strong>begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />
9.2 Reduzierte Basen zur Norm ‖·‖ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />
9.3 Konstruktion einer HKZ-reduzierten <strong>Gitter</strong>basis . . . . . . . . . . . . . . . . . . . 80<br />
9.4 Alternative zur Reduktion in ‖·‖ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />
9.5 Konstruktion eines ‖·‖-kürzesten <strong>Gitter</strong>vektors . . . . . . . . . . . . . . . . . . . . 81<br />
10 Anwendungen der <strong>Gitter</strong>reduktion 85<br />
10.1 <strong>Gitter</strong>basis zu 3-SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />
10.2 Angriff auf Dåmgards Hashfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . 87<br />
10.3 Faktorisieren ganzer Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />
11 Komplexität, N P-Vollständigkeit 95<br />
11.1 N P-Vollständigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />
11.2 Schwierige, algorithmische <strong>Gitter</strong>probleme . . . . . . . . . . . . . . . . . . . . . . . 96<br />
12 Gr<strong>und</strong>lagen 101<br />
12.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101<br />
Algorithmenverzeichnis 103<br />
Index 103
Kapitel 1<br />
<strong>Gitter</strong> in linearen Räumen<br />
<strong>Gitter</strong> als Punktmengen des Vektorraums R m sind Gegenstand der Geometrie der Zahlen, die<br />
Minkowski um 1900 entwickelt hat. Der ganzzahlige Lösungsraum eines linearen, reellen Gleichungssystems<br />
ist ein <strong>Gitter</strong>, der größere reelle Lösungsraum ist ein linearer Raum. <strong>Gitter</strong> sind<br />
also ein diskretes Analogon zu linearen Räumen. Probleme der Linearen Algebra werden durch<br />
<strong>Gitter</strong> diskretisiert. Dabei geht es insbesondere um die Konstruktion kleiner Lösungen, also kurzer<br />
<strong>Gitter</strong>vektoren. Die älteren Arbeiten von Hermite, Gauß <strong>und</strong> Korkine - Zolotareff behandeln<br />
<strong>Gitter</strong> in der Sprache der quadratischen Formen.<br />
Ein <strong>Gitter</strong> ist eine diskrete, additive Untergruppen eines reellen Vektorraums R m . Wir behandeln<br />
Gittterbasen sowie ihre Teilbasen, primitive Systeme, die <strong>Gitter</strong>determinante, das einer Basis<br />
zugehörige Orthogonalsystem, isometrische Transformationen <strong>und</strong> die QR-Zerlegung von Basen.<br />
Wir definierenen ferner duale <strong>Gitter</strong> <strong>und</strong> duale Basen, Hermite-Normalformen, sowie elementare<br />
Algorithmen zur Reduktion von <strong>Gitter</strong>basen. Der Leser sollte mit Linearer Algebra vertraut sein.<br />
<strong>Gitter</strong>-Notation. Es bezeichne R die Menge der reellen Zahlen <strong>und</strong> Z die der ganzen Zahlen,<br />
fener sei R m der reelle Vektorraum der Dimension m. Es seien b 1 , . . . , b n ∈ R m beliebige Vektoren<br />
<strong>und</strong> B = [b 1 , ..., b n ] ∈ R m×n die Matrix mit Spaltenvektoren b 1 , . . . , b n . Dann bezeichnet<br />
L(B) = L(b 1 , . . . , b n ) = def {Bz|z ∈ Z n } = ∑ n<br />
i=1 b iZ<br />
die von den Vektoren b 1 , ..., b n erzeugte additive Untergruppe des R n . Sind die Vektoren b 1 , ..., b n<br />
linear unabhängig, so nennen wir L(B) ein <strong>Gitter</strong> mit Basis b 1 , ..., b n bzw. B <strong>und</strong> Dimension<br />
oder Rang dim(L) = def rang(B). Der vom <strong>Gitter</strong> L = L(B) aufgespannte lineare Raum ist<br />
span(L) = def {Bz|z ∈ R n } = ∑ n<br />
i=1 b iR. Alle Basen B von L erzeugen denselben linearen Raum<br />
span(L) <strong>und</strong> haben damit denselben Rang.<br />
1.1 Die Geometrie der <strong>Gitter</strong><br />
Es sei 〈·, ·〉 : R m ×R m → R das Standard-Skalarprodukt, 〈x, y〉 = x t y. Es bezeichne ‖x‖ = √ 〈x, x〉<br />
die Länge des Vektors x. Die multiplikative Gruppe GL n (Z) der ganzzahligen n × n-Matrizen mit<br />
Determinante ±1 nennt man die allgemeine lineare Gruppe über Z. Die Matrizen U ∈ GL n (Z)<br />
heißen unimodular. Die Basen ¯B eines <strong>Gitter</strong>s sind die transformierten einer beliebigen Basis<br />
B ∈ R m×n , transformiert durch unimodulare Matrizen.<br />
Satz 1.1.1<br />
Die Basen des <strong>Gitter</strong>s L(B) mit B ∈ R m×n sind genau die Matrizen B U mit U ∈ GL n (Z).<br />
5
6 KAPITEL 1. GITTER IN LINEAREN RÄUMEN<br />
Beweis. Sei ¯B eine weitere Basis zu L(B). Dann gibt es ein U ∈ Z n×n mit ¯B = B U, denn<br />
jeder Spaltenvektor von ¯B ist ganzzahlige Linearkombination von Spaltenvektoren von B. Wegen<br />
rang( ¯B) = rang(B) gilt det U ≠ 0, <strong>und</strong> somit ¯B U −1 = B. Wegen L( ¯B) = L(B) ist U −1 ganzzahlig,<br />
<strong>und</strong> somit | det U| = 1 <strong>und</strong> U ∈ GL n (Z).<br />
Umgekehrt gilt für U ∈ GL n (Z) offenbar dass L(B U) = L(B), somit ist B U Basis zu L(B).<br />
□<br />
✲<br />
✕<br />
✲<br />
✕<br />
✲<br />
✕<br />
✲<br />
0 ✕<br />
✲<br />
✕<br />
b<br />
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣<br />
a<br />
♣♣✲♣<br />
♣♣♣♣<br />
✕<br />
✲<br />
♣✕<br />
♣ ♣<br />
♣<br />
♣<br />
♣<br />
♣<br />
♣<br />
♣<br />
✲<br />
✕<br />
✲<br />
✕<br />
✲<br />
Abbildung 1.1.1: Gr<strong>und</strong>masche des <strong>Gitter</strong>s mit Basis a, b ∈ R 2<br />
Gr<strong>und</strong>masche, Gram-Matrix, Determinante. Die Gr<strong>und</strong>masche zur Basis B = [b 1 , . . . , b n ]<br />
ist das Parallelepiped<br />
P = P(B) = { ∑ n<br />
i=1 t ib i | 0 ≤ t 1 , . . . , t n < 1} ⊂ span(L) .<br />
Jeder Punkt x ∈ span(L) hat eine eindeutige Zerlegung x = b + m mit m ∈ P <strong>und</strong> b ∈ L.<br />
Damit ist der Raum span(L) zerlegt in die verschobenen Maschen b + P(B) mit b ∈ L <strong>und</strong> es<br />
gilt span(L) = ⋃ b∈L<br />
b + P(B) = P + L. Die Gram-Matrix zur Basis B ist die n × n-Matrix<br />
B t B = [〈b i , b j 〉] 1≤i,j≤n bestehend aus den Skalarprodukten der Basisvektoren.<br />
Die Determinante det L des <strong>Gitter</strong>s L = L(B) ⊂ R m ist das Volumen von P(B) ⊂ span(L),<br />
det L = def vol P(B) = ( det B t B ) 1 2 .<br />
Die Gleichheit vol P(B) = ( det B t B ) 1 2 gilt offenbar für Basen B ∈ R n×n . Sie gilt allgemein weil<br />
sie bei Isometrie erhalten bleibt, siehe Lemma 1.1.3.<br />
Die Determinante det(B t B) ist unabhängig von der Wahl der Basis B von L. Denn seien B, ¯B<br />
Basen des <strong>Gitter</strong>s mit ¯B = B U, U ∈ GL n (Z). Wegen | det U| = 1 <strong>und</strong> der Multiplikativität der<br />
Determinante gilt det(B t B) 1 2 = det(U t B t BU) 1 2 = det( ¯B t ¯B ) 1 2 .<br />
Theorem 1.1.2<br />
Sei L ⊂ R m <strong>Gitter</strong> <strong>und</strong> B n (0, r) ⊂ span(L) die Kugel mit Mittelpunkt 0 <strong>und</strong> Radius r. Dann gilt<br />
lim r→∞ | L ∩ B n (0, r) |/vol B n (0, r) = 1/det L(B),<br />
d.h. det L(B) ist der Kehrwert der Dichte der <strong>Gitter</strong>punkte.<br />
Beweis. Sei L = L(B) <strong>Gitter</strong> mit Gr<strong>und</strong>masche P(B), dim(L) = n. Dann ist span(L) die disjunkte<br />
Vereinigung der um <strong>Gitter</strong>punkte b verschobenen Gr<strong>und</strong>masche, span(L) = ⋃ b∈L b + P(B).<br />
Da b + P(B) nur den <strong>Gitter</strong>punkt b enthält, gibt es pro det L Volumeneinheiten genau einen<br />
<strong>Gitter</strong>punkt. Diejenigen <strong>Gitter</strong>punkte b, deren Maschen b + P(B) die Kugel B n (0, r) echt schneiden,<br />
können entweder in L ∩ B n (0, r) oder im Komplement liegen. Dies führt in der Gleichung<br />
| L ∩ B n (0, r) |/vol B n (0, r) = 1/det L(B) + O( n r ) zu einem Fehler O( n r<br />
), der proportional zum<br />
Verhältnis Oberfläche zu Volumen von B n (0, r) ist.<br />
□
1.1. DIE GEOMETRIE DER GITTER 7<br />
Beispiel-<strong>Gitter</strong>. Wir behandeln <strong>Gitter</strong> zu dichtesten Kugelpackungen. Das erste sukzessive Minimum<br />
λ 1 ist die Länge des kürzesten <strong>Gitter</strong>vektors ungleich 0. Die (Packungs-) Dichte des <strong>Gitter</strong>s<br />
L mit dim L = n ist △(L) = (λ 1 /2) n V n / det L, dabei ist V n = vol B n (0, 1) das Volumen der n-dim.<br />
Einheitskugel: V n = π n/2 /(n/2)! ≈ ( )<br />
2 e π n/2/ √ πn <strong>und</strong> (n/2)! = Γ(1 + n/2) für die Gammafunktion<br />
Γ. Das <strong>Gitter</strong><br />
hat die Basis<br />
n<br />
A n := { (x 0 , x 1 , . . . , x n ) ∈ Z n+1 ∣ ∣ ∑ n<br />
i=0 x i = 0 }<br />
⎡<br />
⎤<br />
−1 0 0 · · · · · · 0<br />
1 −1 0 0<br />
. 0 .. . .. . .. .<br />
B =<br />
. . .. . .. . .. . .. .<br />
∈ Z (n+1)×n .<br />
.<br />
⎢ . .. . .. −1 0<br />
⎥<br />
⎣ 0 0 1 −1⎦<br />
0 · · · · · · · · · 0 1<br />
Offenbar gilt λ 1 = √ 2, det A n = √ n + 1. Die Dichte ist △(A n ) = V n 2 −n/2 (n + 1) −1/2 .<br />
Das Schachbrettgitter<br />
D n := {(x 1 , . . . , x n ) ∈ Z n | ∑ n<br />
i=1 x i = 0 mod 2}<br />
hat die Basis<br />
⎡<br />
⎤<br />
2 1 0 · · · · · · 0<br />
. 0 1 1 .. .<br />
.<br />
B =<br />
. .. . .. . .. . .. .<br />
∈ Z n×n .<br />
. ⎢.<br />
.. 1 1 0<br />
⎥<br />
⎣0 0 1 1⎦<br />
0 · · · · · · 0 0 1<br />
Offenbar gilt λ 1 = √ 2 <strong>und</strong> det(D n ) = 2. Die Dichte ist △(D n ) = V n 2 −n/2−1 .<br />
Das folgende <strong>Gitter</strong> E n ist für n = 0 mod 4 Untergitter von D n :<br />
{<br />
∣ ∑ ∣∣∣ n<br />
E n := (x 1 , . . . , x n ) ∈ Z n i=1 x i = 0 mod 4 <strong>und</strong><br />
x j = x j+1 mod 2 für 1 ≤ j < n.<br />
}<br />
Es hat die Basen<br />
⎡<br />
⎤<br />
4 2 0 · · · 0 1<br />
. 0 2 2 .. . .<br />
.<br />
B =<br />
. .. . .. . .. 0 .<br />
,<br />
. ⎢.<br />
.. 2 2 1<br />
⎥<br />
⎣0 0 2 1⎦<br />
0 · · · · · · 0 0 1<br />
⎡<br />
⎤<br />
4 2 2 · · · 2 1<br />
0 2 0 · · · 0 1<br />
. . .. . .. . .. . .<br />
. ∈ Z n×n .<br />
⎢.<br />
.. 2 0 1<br />
⎥<br />
⎣0 0 2 1⎦<br />
0 · · · · · · 0 0 1<br />
Offenbar gilt für n ≥ 8 dass λ 1 = √ 8 <strong>und</strong> det E n = 2 n , △(E n ) = V n 2 −n/2 .<br />
Die <strong>Gitter</strong> E 6 , E 7 sind Untergitter von E 8 ,<br />
E 6 := {x ∈ E 8 | x 6 = x 7 = x 8 }, E 7 := {x ∈ E 8 | x 7 = x 8 }.<br />
Isometrie, orthogonale Matrix, Äquivalenz. Eine lineare Abbildung T : V → W mit linearen<br />
Räumen V, W heißt isometrisch, bzw. eine Isometrie (von V ), wenn T das Skalarprodukt erhält,
8 KAPITEL 1. GITTER IN LINEAREN RÄUMEN<br />
d.h. wenn 〈b, b ′ 〉 = 〈T (b), T (b ′ )〉 für alle b, b ′ ∈ V . Eine Matrix Q ∈ R m×n , m ≥ n, heißt<br />
isometrisch, bzw.Isometrie, wenn die Abbildung x ↦→ Qx isometrisch ist. Damit ist Q ∈ R m×n<br />
genau dann isometrisch, wenn Q t Q = I n die Einheitsmatrix I n ∈ R n×n ist. Das Produkt von<br />
isometrischen Matrizen ist isometrisch. Eine isometrische Quadratmatrix Q ∈ R n×n bezeichnet<br />
man als orthogonale Matrix. Q ist orthogonal genau dann, wenn Q −1 = Q t . Mit Q ist auch Q t<br />
orthogonal. Damit ist Q ∈ R m×n genau dann isometrisch, wenn Q durch Hinzunahme von Spalten<br />
zu einer orthogonalen Matrix ergänzbar ist.<br />
Zwei <strong>Gitter</strong> L, ¯L heißen isometrisch, wenn es eine Isometrie T von span(L) gibt mit T (L) = ¯L.<br />
Zwei Basen B, ¯B heißen isometrisch, wenn es eine Isometrie Q gibt mit ¯B = QB. Offenbar sind<br />
¯B, B genau dann isometrisch, wenn B t B = ¯B t ¯B. Offenbar erzeugen isometrische Basen B, ¯B<br />
isometrische <strong>Gitter</strong> L(B), L( ¯B). Umgekehrt haben isometrische <strong>Gitter</strong> stets isometrische Basen.<br />
Zwei <strong>Gitter</strong> L, ¯L heißen äquivalent oder ähnlich, wenn es ein c > 0 gibt so dass L <strong>und</strong> c ¯L<br />
isometrisch sind, Bez.: L ∼ = ¯L. Die <strong>Gitter</strong> L, cL heißen proportional oder bis auf Skalierung gleich.<br />
Z.B. gilt D 3<br />
∼ = A3 . Z.B. sind folgende Basen isometrisch:<br />
⎡ ⎤<br />
[√ √ ]<br />
1 0<br />
[ ]<br />
2 1/ 2<br />
B := √ , ¯B := ⎣1 1⎦ , B t B =<br />
0<br />
¯B t 2 1 ¯B = .<br />
3/2 1 2<br />
0 1<br />
Geometrische Größen sind Größen, die bei isometrischen Abbildungen erhalten bleiben, also Invarianten<br />
von Isometrien. Volumeninhalte, Determinanten, Skalarprodukte <strong>und</strong> Längen von Vektoren<br />
sind geometrische Größen. Ein <strong>Gitter</strong> L ⊂ R m heißt vollständig, wenn dim L = m. Vollständige<br />
<strong>Gitter</strong> reichen für geometrische Betrachtungen aus, weil jedes <strong>Gitter</strong> nach Lemma 1.1.3(2) isometrisch<br />
zu einem vollständigen <strong>Gitter</strong> ist. Für kombinatorische <strong>und</strong> algorithmische Untersuchungen<br />
reichen vollständige <strong>Gitter</strong> dagegen nicht. Isometrische Abbildungen erhalten nicht die Ganzzahligkeit<br />
von Vektoren.<br />
Orthogonalsystem, orthogonale Projektion. Zur Basis b 1 , ..., b n ∈ R m bezeichne<br />
π i : R m → span(b 1 , . . . , b i−1 ) ⊥ die orthogonale Projektion, derart dass für alle b ∈ R m<br />
π i (b) ∈ span(b 1 , . . . , b i−1 ) ⊥ , b − π i (b) ∈ span(b 1 , . . . , b i−1 ) .<br />
Offenbar sind die Vektoren ̂b i := π i (b i ) für i = 1, ..., n paarweise orthogonal. Man berechnet<br />
̂b 1 , . . . , ̂b n durch das Gram-Schmidt-Verfahren<br />
̂b 1 := b 1 ,<br />
̂bi := π i (b i ) = b i − ∑ i−1<br />
〈b i,̂b j〉<br />
j=1 〈̂b j,̂b j〉<br />
̂b j für i = 2, 3, . . . , n.<br />
Für die Gram-Schmidt-Koeffizienten µ i,j := 〈bi,̂b j〉<br />
gilt insbesondere µ i,i = 1 <strong>und</strong> µ i,j = 0 für<br />
〈̂b j,̂b j〉<br />
j > i, sowie b i = ̂b i + ∑ i−1<br />
j=1 µ ̂b i,j j für i = 1, ..., n. In Matrizenschreibweise bedeutet dies<br />
[b 1 , . . . , b n ] = [ ̂b 1 , . . . , ̂b n ] [µ i,j ] t 1≤i,j≤n.<br />
QR-Zerlegung <strong>und</strong> geometrische Normalform (GNF). Die QR-Zerlegung B = QR der Basis<br />
B = [b 1 , ..., b n ] ∈ R m×n ist die eindeutige Zerlegung B = QR, so dass Q ∈ R m×n isometrisch ist<br />
<strong>und</strong> R ∈ R n×n obere Dreiecksmatrix mit positiven Diagonalelementen. Wir nennen R die geometrische<br />
Normalform (GNF) der Basis, Bez.: R = GNF (B). Es gilt Q := [̂b 1 /‖̂b 1 ‖, ..., ̂b n /‖̂b n ‖] ∈<br />
R m×n <strong>und</strong> für R = [r i,j ] 1≤i,j≤n gilt r i,i = ‖̂b i ‖, µ j,i = r i,j /r i,i ,<br />
⎡<br />
⎤ ⎡<br />
⎤<br />
‖̂b 1 ‖ 0 · · · · · · 0 1 µ 2,1 µ 3,1 · · · µ n,1<br />
0 ‖̂b 2 ‖ 0 · · · 0<br />
0 1 µ 3,2 µ n,2<br />
.<br />
R :=<br />
. .. . .. . .. .<br />
. . .. . .. . .. .<br />
.<br />
⎢<br />
.<br />
⎣ .<br />
.. ⎥ ⎢<br />
‖̂bn−1 ‖ 0 ⎦ ⎣<br />
. ⎥<br />
. .. 1 µn,n−1 ⎦<br />
0 · · · · · · 0 ‖̂b n ‖ 0 · · · · · · 0 1
1.2. DUALITÄT 9<br />
Lemma 1.1.3<br />
1. Zwei Basen B, ¯B sind genau dann isometrisch, wenn GNF (B) = GNF ( ¯B), dh. wenn<br />
B t B = ¯B t ¯B. Insbesondere ist R = GNF (B) eindeutig bestimmt.<br />
2. L(B) ist isometrisch zum vollständigen <strong>Gitter</strong> L(R) mit R = GNF (B).<br />
Beweis. 1. Aus B t B = ¯B t ¯B mit QR-Zerlegungen B = QR <strong>und</strong> ¯B = ¯Q ¯R folgt R t R = ¯R t ¯R.<br />
Weil R, ¯R obere Dreiecksmatrizen mit positiven Diagonalelementen sind, folgt R = ¯R nach einem<br />
elementaren Beweis. Umgekehrt folgt aus GNF (B) = R = GNF ( ¯B), dass B t B = R t R = ¯B t ¯B,<br />
<strong>und</strong> damit sind B, ¯B isometrisch.<br />
2. Für jede QR-Zerlegung B = QR sind L(B), L(R) isometrisch mit der Isometrie Q. □<br />
Für beliebige Basen B = QR gilt det(B t B) = det(R t R) = ∏ n<br />
i=1 ‖̂b i ‖ 2 . Insbesondere bleibt<br />
det L(B) = (det B t B) 1 2 , bei Isometrie erhalten.<br />
Das orthogonale <strong>Gitter</strong>. Das zum Vektor a = (a 1 , . . . , a n ) t ∈ Z n \ {0} orthogonale <strong>Gitter</strong> ist<br />
Wir zeigen det L a = ‖a‖ / ggT(a 1 , . . . , a n ).<br />
L a := span(a) ⊥ ∩ Z n = {z ∈ Z n | 〈a, z〉 = 0} .<br />
Offenbar gilt dim L a = n − 1. Sei b 2 , b 3 , . . . , b n eine Basis von L a . Wegen span(L a ) ∩ Z n =<br />
L a ist diese Basis nach Satz 1.3.2 zu einer Basis von Z n ergänzbar. Es gibt ein b 1 ∈ Z n mit<br />
L(b 1 , . . . , b n ) = Z n . Die Einträge des Vektors b 1 sind teilerfremd, da b 1 ein primitiver Vektor von<br />
Z n ist. Der Anteil von b 1 , der senkrecht auf L a steht, ist<br />
〈b1,a〉 a <strong>und</strong> hat die Länge<br />
‖a‖ 2 |〈b1,a〉|<br />
‖a‖<br />
. Die<br />
Gr<strong>und</strong>masche P(B) von Z n hat die Gr<strong>und</strong>fläche det L a <strong>und</strong> Höhe |〈b1,a〉|<br />
‖a‖<br />
. Die Determinante von<br />
Z n ist vol(Gr<strong>und</strong>masche) = Fläche × Höhe, 1 = det Z n = (det L a ) |〈b1,a〉|<br />
‖a‖<br />
. Also gilt det L a =<br />
‖a‖/| 〈b 1 , a〉 |.<br />
Nach Konstruktion von b 1 ist |〈b 1 , a〉| die kleinste, positive, ganze Zahl in ∑ n<br />
i=1 Z a i =<br />
Z ggT(a 1 , . . . , a n ). Somit gilt | 〈b 1 , a〉 | = | ggT(a 1 , . . . , a n ) | <strong>und</strong> die Behauptung.<br />
1.2 Dualität<br />
Duales <strong>Gitter</strong>. Das duale ( bzw. polare, reziproke) <strong>Gitter</strong> L ∗ zum <strong>Gitter</strong> L ist<br />
L ∗ = def {x ∈ span(L) | 〈x, b〉 ∈ Z für alle b ∈ L}.<br />
Aufgr<strong>und</strong> der Identität (A −1 ) t = (A t ) −1 für A ∈ R n×n , kürzen wir ab<br />
(AB) −1 = B −1 A −1 , (AB) t = B t A t <strong>und</strong> somit (AB) −t = A −t B −t .<br />
A −t := (A −1 ) t . Es gilt<br />
Satz 1.2.1<br />
1. Für jede Basismatrix mit QR-Zerlegung B = QR ∈ R m×n gilt L(B) ∗ = L(QR −t ),<br />
2. dim L ∗ = dim L, 3. det L ∗ = 1/ det L, 4. (L ∗ ) ∗ = L,<br />
5. Ist B t B Gram-Matrix zu L dann ist (B t B) −1 = B −1 B −t Gram-Matrix zu L ∗ .<br />
Die Basis B ist genau dann invertierbar, wenn L(B) vollständig ist. Für invertierbare B gilt<br />
offenbar L(B) ∗ = L(B −t ).<br />
Beweis. 1. Offenbar gilt für ¯B := Q R −t wegen Q t Q = I n dass<br />
B t ¯B = (QR) t Q R −t = R t Q t Q R −t = I n .<br />
Wegen B t ¯B = In liefern die Vektoren ¯b ∈ L( ¯B) alle ganzzahligen Vektoren (〈b 1 , ¯b〉, ..., 〈b n , ¯b〉)<br />
∈ Z n zu den Basisvektoren b 1 , ..., b n . Damit gilt L ∗ = L( ¯B).
10 KAPITEL 1. GITTER IN LINEAREN RÄUMEN<br />
2. - 5. Aus dim L = rang(R) = rang(R −1 ) folgt dim L ∗ = dim L. Weiter folgt det L ∗ = 1/ det L<br />
aus det L = det R = 1/ det R −t . Mit (R −t ) −t = R gilt somit (L ∗ ) ∗ = L. Schließlich gilt 5. wegen<br />
¯B t ¯B = R −1 R −t = (R t R) −1 = (B t B) −1 .<br />
□<br />
Duale Basis. Zur Basis b 1 , . . . , b n ∈ R m von L ist die duale Basis b ∗ 1, . . . , b ∗ n von L ∗ definiert<br />
durch 〈b i , b ∗ n−j+1 〉 = δ i,j. Die QR-Zerlegung B = QR liefert die duale Basis B ∗ = Q R −t U n . Die<br />
⎡ ⎤<br />
1<br />
Multiplikation mit U n = def<br />
⎣ · ⎦ ∈ R n×n , der Matrix mit Einsen in der Gegendiagonalen,<br />
1<br />
invertiert die Spaltenreihenfolge der Basis Q R −t , so dass R −t U n obere Dreiecksmatrix ist.<br />
Die QR-Zerlegung der dualen Basis B ∗ zu B = QR ist B ∗ = (QU n ) (U n R −t U n ).<br />
Denn zur QR-Zerlegung B = QR ist R −t untere Dreiecksmatrix <strong>und</strong> U n R −t U n obere Dreiecksmatrix.<br />
Der Übergang von R −t nach U n R −t U n invertiert die Spalten- <strong>und</strong> die Zeilenreihenfolge in<br />
R −t . Wegen Un t = U n = Un<br />
−1 ist QU n isometrisch.<br />
Korollar 1.2.2<br />
Zur Basis b 1 , . . . , b n mit Orthogonalsystem ̂b 1 , . . . , ̂b n ist ̂bn /‖̂b n ‖ 2 , . . . , ̂b 1 /‖̂b 1 ‖ 2 das Orthogonalsystem<br />
der dualen Basis b ∗ 1, . . . , b ∗ n.<br />
Beweis. Es gilt 〈̂b i , ̂b j 〉 ‖̂b j ‖ 2 = δ i,j für 1 ≤ i, j ≤ n.<br />
□<br />
Satz 1.2.3<br />
Für jedes <strong>Gitter</strong> L <strong>und</strong> jede Isometrie T von span(L) gilt T (L ∗ ) = T (L) ∗ .<br />
Beweis. Sei L = L(B) mit QR-Zerlegung B = QR ∈ R m×n <strong>und</strong> sei T : x ↦→ ¯Qx eine Isometrie.<br />
Weil QR −t Basis von L ∗ ist, gilt nach Satz 1.2.1<br />
L ∗ = L(Q R −t ), T (L ∗ ) = L( ¯QQ R −t ).<br />
Andererseits ist ¯QQ isometrisch <strong>und</strong> damit ist ( ¯QQ) R die QR-Zerlegung der Basis ¯QQR von<br />
T (L). Es folgt T (L) ∗ = L( ¯QQR) ∗ = L( ¯QQ R −t ) = T (L ∗ ). □<br />
Selbstduale <strong>und</strong> ganze <strong>Gitter</strong>. Ein <strong>Gitter</strong> L heißt selbstdual oder unimodular, wenn L = L ∗ .<br />
Offenbar gilt L = L ∗ gdw die Gram-Matrix B t B unimodular ist, d.h., B t B ist ganzzahlig <strong>und</strong><br />
det B t B = 1. Die <strong>Gitter</strong> Z n <strong>und</strong> die geschichteten <strong>Gitter</strong> Λ 8<br />
∼ = E8 , √ 2Λ 24 sind selbstdual.<br />
Ein <strong>Gitter</strong> L heißt ganz (integral), wenn B t B ganzzahlig ist. Ein <strong>Gitter</strong> L ist also genau dann<br />
ganz, wenn L ⊂ L ∗ .<br />
1.3 Diskretheit, Primitive Systeme<br />
Diskretheit. Eine Menge S ⊂ R m heißt diskret, wenn S keinen Häufungspunkt in R m hat.<br />
Für jede additive Untergruppe G ⊂ R m sind offenbar folgende Aussagen äquivalent:<br />
1. G ist diskret,<br />
2. 0 ist kein Häufungdpunkt von G,<br />
3. Es gibt einen kürzesten Vektor in G \ {0}.<br />
Jedes <strong>Gitter</strong> ist diskret. Zum Nachweis der Diskretheit sei ϕ : R n → span(L(B)) ⊂ R m die<br />
lineare Abbildung ϕ : z ↦→ Bz. ϕ ist ein Isomorphismus der Vektorräume R n <strong>und</strong> span(L) mit<br />
ϕ(Z n ) = L. Weil Z n diskret <strong>und</strong> ϕ −1 stetig auf span(L), ist auch L diskret.
1.3. DISKRETHEIT, PRIMITIVE SYSTEME 11<br />
Umgekehrt, ist jede diskrete additive Untergruppe von R m ein <strong>Gitter</strong>. Die Diskretheit charakterisiert<br />
also die <strong>Gitter</strong> unter den additiven Untergruppen des R m .<br />
Satz 1.3.1<br />
Jede diskrete, additive Untergruppe des R m ist ein <strong>Gitter</strong> erzeugt von einer Basis.<br />
Beweis. Sei L ⊂ R m eine diskrete, additive Untergruppe <strong>und</strong> n die Maximalzahl linear unabhängiger<br />
Vektoren in L. Offenbar gilt n ≤ m. Durch Induktion über n zeigen wir die Existenz einer<br />
Basis.<br />
n = 1: Sei b ∈ L ein kürzester Vektor mit b ≠ 0 (ein solcher Vektor existiert, da 0 kein<br />
Häufungspunkt von L ist). Dann gilt L(b) = L.<br />
n > 1: Wähle b 1 ∈ L \ {0} derart dass 1 k b 1 ∉ L für alle k ≥ 2. Offenbar gilt L(b 1 ) =<br />
L∩span(b 1 ). Betrachte die orthogonale Projektion π : R m → span(b 1 ) ⊥ mit π(b) = b− 〈b1,b〉<br />
〈b b 1,b 1〉 1.<br />
Die Induktionsbehauptung ergibt sich aus den beiden Aussagen<br />
1. π(L) ist diskret <strong>und</strong> ein <strong>Gitter</strong> vom Rang n − 1,<br />
2. Für jede Basis π(b 2 ), . . . , π(b n ) von π(L) mit b 2 , . . . , b n ∈ L gilt L = L(b 1 , . . . , b n ).<br />
Beweis von 1. Wir zeigen, dass 0 kein Häufungspunkt von π(L) ist. Angenommen, die paarweise<br />
verschiedenen Vektoren π(y (i) ) mit y (i) ∈ L konvergieren gegen 0. Wir konstruieren unendlich viele<br />
kurze Vektoren in L, im Widerspruch zur Diskretheit von L.<br />
Zu den Vektoren π(y (i) ) erhalten wir kurze π-Urbilder ȳ (i) ∈ L nach der Vorschrift ȳ (i) :=<br />
y (i) − ⌈〈 〉<br />
y (i) , b 1 /〈b1 , b 1 〉 ⌋ b 1 . Dabei bezeichnet ⌈r⌋ := ⌈r − 1 2⌋ die nächste ganze Zahl zur reellen<br />
Zahl r. Offenbar gilt ‖ȳ (i) − π(y (i) )‖ ≤ 1 2 ‖b 1‖. Wegen lim ‖π(ȳ (i) )‖ = 0 gibt es unendlich viele<br />
i→∞<br />
Vektoren ȳ (i) ∈ L mit ‖π(ȳ (i) )‖ ≤ ‖b 1 ‖, im Widerspruch zur Diskretheit von L.<br />
Beweis zu 2. Die Maximalzahl der linear unabhängigen Vektoren in π(L) ist n − 1. Nach<br />
Induktionsvoraussetzung ist π(L) ein <strong>Gitter</strong> vom Rang n − 1. Sei π(b 2 ), . . . , π(b n ) eine Basis<br />
von π(L) mit b 2 , . . . , b n ∈ L. Die Vektoren b 1 , ..., b n sind linear unabhängig. Wir zeigen, dass<br />
L ⊂ L(b 1 , . . . , b n ). Zu beliebigem b ∈ L gilt π(b) ∈ π(L) = L (π(b 2 ), . . . , π(b n )), somit gibt<br />
es ein ¯b ∈ L(b 2 , . . . , b n ) mit π(b) = π( ¯b ). Es gilt b − ¯b ∈ span(b 1 ). Nach Wahl von b 1 gilt<br />
L(b 1 ) = L ∩ span(b 1 ) <strong>und</strong> somit b − ¯b ∈ L(b 1 ). Es folgt b ∈ L(b 1 , . . . , b n ).<br />
□<br />
Primitive Systeme. Wir charakterisieren Teilbasen b 1 , ..., b k mit k ≤ n von <strong>Gitter</strong>basen b 1 , ..., b n .<br />
Offenbar gilt für Teilbasen b 1 , ..., b k dass<br />
1. b 1 , . . . , b k sind linear unabhängig, 2. span(b 1 , . . . , b k ) ∩ L = L(b 1 , . . . , b k ).<br />
Eine Menge von <strong>Gitter</strong>vektoren b 1 , ..., b k nennt man ein primitives System zum <strong>Gitter</strong> L, wenn<br />
1. <strong>und</strong> 2. gilt. Ein einzelner Vektor b ∈ L ist primitiv, wenn 1 k<br />
b ∉ L für alle k ∈ Z \ {0}.<br />
Satz 1.3.2<br />
Genau dann können die <strong>Gitter</strong>vektoren b 1 , . . . , b k zu einer Basis von L ergänzt werden, wenn sie<br />
ein primitives System zu L bilden.<br />
Beweis. Teilbasen bilden offenbar primitive Systeme. Sei nun umgekehrt b 1 , . . . , b k ein primitives<br />
System <strong>und</strong> π : span(L) → span(b 1 , . . . , b k ) ⊥ die orthogonale Projektion. Aus dem Beweis zu<br />
Satz 1.3.1 folgt, dass π(L) ein <strong>Gitter</strong> der Dimension n − k ist. Das <strong>Gitter</strong> π(L) habe die Basis<br />
π(b k+1 ), . . . , π(b n ) mit b k+1 , . . . , b n ∈ L.<br />
Wir zeigen, dass b 1 , ..., b n Basis von L ist. Nach Konstruktion sind b 1 , ..., b k linear unabhängig.<br />
Sei b ∈ L. Wegen π(b) ∈ L(π(b k+1 ), . . . , π(b n )) gibt es ein ¯b ∈ L(b k+1 , . . . , b n ) mit π( ¯b ) =
12 KAPITEL 1. GITTER IN LINEAREN RÄUMEN<br />
π(b), also ist b− ¯b ∈ span(b 1 , . . . , b k ). Weil b 1 , . . . , b k nach Voraussetzung ein primitives System<br />
bildet, gilt b − ¯b ∈ L(b 1 , . . . , b k ). Somit gilt b ∈ L(b 1 , . . . , b n ) <strong>und</strong> b 1 , ..., b n ist Basis von L. □<br />
1.4 Elementare Reduktionsverfahren zur l 2 -Norm || ||<br />
Ziel der Reduktionsverfahren sind <strong>Gitter</strong>basen bestehend aus kurzen <strong>Gitter</strong>vektoren.<br />
Definition 1.4.1<br />
Die Basis b 1 , . . . , b n ist längenreduziert, wenn |µ i,j | ≤ 1 2<br />
für 1 ≤ j < i ≤ n.<br />
Für jede längenreduzierte Basis b 1 , . . . , b n gilt wegen b i = ̂b i + ∑ i−1<br />
j=1 µ ̂b i,j j <strong>und</strong> |µ i,j | ≤ 1 2<br />
‖b i ‖ 2 ≤ ‖̂b i ‖ 2 + 1 ∑ i−1<br />
4 j=1 ‖̂b j ‖ 2 für i = 1, . . . , n.<br />
Algorithmus 1.4.1 zur Längenreduktion<br />
EINGABE : Basis b 1 , . . . , b n ∈ R m<br />
FOR i = 2, . . . , n DO<br />
FOR j = i − 1, . . . , 1 DO b i := b i − ⌈µ i,j ⌋ · b j<br />
AUSGABE :<br />
längenreduzierte Basis b 1 , . . . , b n<br />
Korrektheit.<br />
1. Der Schritt b i := b i − ⌈µ i,j ⌋b j bewirkt, dass µ neu<br />
i,j := µ alt<br />
i,j − ⌈µalt i,j ⌋ µ j,j = µ alt<br />
i,j − ⌈µalt i,j ⌋.<br />
2. Insbesondere gilt ∣ ∣µ neu ∣<br />
i,j ≤ 1 2 , <strong>und</strong> die µ i,ν bleiben für ν > j unverändert.<br />
Die Orthogonalvektoren bleiben erhalten. Die Längenreduktion ist nur eine schwache Reduktion.<br />
Definition 1.4.2<br />
Die Vektoren b 1 , . . . , b¯n ∈ R n \ {0} nennen wir paarweise reduziert, wenn<br />
1.<br />
| 〈b i,b j〉 |<br />
‖b j‖ 2 ≤ 1 2<br />
für 1 ≤ j < i ≤ ¯n, 2. ‖b 1 ‖ ≤ ‖b 2 ‖ ≤ · · · ≤ ‖b¯n ‖ .<br />
Die Eigenschaft 1. bezieht sich nicht auf den Gram-Schmidt-Koeffizienten µ i,j = 〈bi,̂b j〉<br />
. Sie ist<br />
‖̂b j‖ 2<br />
äquivalent zu ‖b i ‖ ≤ ‖b i ± b j ‖ für 1 ≤ j < i ≤ n, denn wegen<br />
‖b i ± b j ‖ 2 = 〈b i ± b j , b i ± b j 〉 = ‖b i ‖ 2 ± 2 〈b i , b j 〉 + ‖b j ‖ 2 gilt<br />
‖b i ‖ 2 ≤ ‖b i ± b j ‖ 2 ⇐⇒ ± 〈b i , b j 〉 ≤ 1 2 ‖b j‖ 2 ⇐⇒ |〈b i , b j 〉| ≤ 1 2 ‖b j‖ 2 .<br />
Korrektheit. Algorithmus 1.4.2 terminiert <strong>und</strong> bei Abbruch des Verfahrens sind die Vektoren<br />
paarweise reduziert. Bei jedem Reduktionsschritt wird nämlich der Vektor b i echt kleiner, <strong>und</strong> die<br />
übrigen Vektoren bleiben unverändert. Somit hat jedes <strong>Gitter</strong> eine paarweise reduzierte Basis.<br />
Die Laufzeit der paarweisen Reduktion ist nicht polynomial. Aber es gibt höchstens polynomial<br />
viele Schritte b i := b i − ⌈r⌋b j , welche ‖b i ‖ um mindestens ε‖b i ‖ für festes ε > 0 erniedrigen.<br />
Satz 1.4.3<br />
Algorithmus 1.4.2 sichert nach höchstens log 1/(1−ε) ( ∏¯n<br />
i=1 ‖b i‖) Schritten b i := b i − ⌈r⌋b j mit<br />
‖b i ‖ neu ≤ ‖b i ‖(1 − ε) dass ‖b i ‖(1 − ε) ≤ ‖b i ± b j ‖ für 1 ≤ j < i ≤ ¯n.
1.5. HERMITE NORMALFORM, UNTERGITTER 13<br />
Algorithmus 1.4.2 zur paarweise Reduktion<br />
EINGABE :<br />
Vektoren b 1 , . . . , b¯n ∈ Z m (möglicherweise linear abhängig)<br />
1. Ordne b 1 , . . . , b¯n so, dass 1 ≤ ‖b 1 ‖ ≤ · · · ≤ ‖b¯n ‖<br />
2. FOR i = 1, . . . , ¯n DO<br />
FOR j = 1, . . . , i − 1 DO<br />
r := 〈b i , b j 〉 ‖b j ‖ −2<br />
IF |r| > 1 2<br />
THEN [ b i := b i − ⌈r⌋b j<br />
falls b i = 0 entferne b i <strong>und</strong> erniedrige ¯n, GO TO 1.<br />
AUSGABE : paarweise reduzierte Vektoren b 1 , . . . , b¯n ( ∑¯n<br />
i=1 b iZ bleibt erhalten)<br />
1.5 Hermite Normalform, Untergitter<br />
Ganzzahlige <strong>und</strong> rationale Matrizen haben eine eindeutig bestimmte Hermite-Normalform (HNF).<br />
Für reelle Matrizen <strong>und</strong> relle <strong>Gitter</strong>basen gilt dies nicht. Aus der HNF einer Transformationsmatrix<br />
T ∈ Z n×n kann man det L(B)/ det L(BT ) = | det T | ablesen.<br />
Definition 1.5.1<br />
Eine Matrix A = [a ij ] ∈ R m×n mit n ≤ m ist in Hermite-Normalform (kurz HNF), wenn<br />
1. a ij = 0 für j > i, d.h. A ist eine untere Dreiecksmatrix.<br />
2. a ii > 0 für i = 1, 2, . . . , m.<br />
3. 0 ≤ a ij < a ii für j < i.<br />
Die Hermite-Normalform ist eine reduzierte Basis, in dem Sinne dass der i-te Basisvektor die<br />
i-te Koordinate minimiert unter der Bedingung, dass seine ersten i−1 Koordinaten Null sind. Für<br />
eine HNF A = [a ij ] = [a 1 , ..., a n ] mit Spaltenvektoren a 1 , ..., a n ist a ii also die absolut kleinste<br />
i-te Koordinate ≠ 0 der Vektoren in L(a i , ..., a n ). Dabei ist L(a i , ..., a n ) das Teilgitter, dessen<br />
Vektoren in den ersten i − 1 Koordinaten Null sind.<br />
In der Definition der HNF kann man statt einer ’unteren’ Dreiecksmatrix ebenso gut eine<br />
’obere’ Dreiecksmatrix verlangen. Der zulässige Bereich der Zahlen a ij in 3. ist ein Intervall der<br />
Länge |a ii |, die Lage dieses Intervals ist willkürlich. In [DKT87] fordern die Autoren<br />
a ij ≤ 0 <strong>und</strong> |a ij | < a ii für j < i.<br />
A. Paz <strong>und</strong> C.P. Schnorr [PS87] fordern, dass die Elemente links der Diagonalen betragsmäßig<br />
minimal sind:<br />
|a ij | < 1 2 |a ii| für j < i.<br />
Die verschiedenen Varianten von Hermite-Normalformen sind einfach ineinander überführbar. Ist<br />
z.B. A ∈ R m×n untere Dreiecksmatrix, dann ist U m A U n obere Dreiecksmatrix für die Matrizen<br />
U m , U n mit Einsen auf der Gegendiagonalen.<br />
Nach C. Hermite [He1850] gilt folgender Satz.<br />
Satz 1.5.2 (Hermite 1850)<br />
Zu jeder Matrix A ∈ Q m×n mit Rang(A) = n gibt es genau eine HNF A U mit U ∈ GL n (Z).
14 KAPITEL 1. GITTER IN LINEAREN RÄUMEN<br />
Beweis. Konstruktion der HNF. Sei L(A) ⊂ R m das <strong>Gitter</strong> zur Basis A. Konstruiere die Vektoren<br />
a ′ 1, ...., a ′ n ∈ L(A), [a ′ 1, ...., a ′ n] = [a ′ ij ] ∈ Rm×n so dass<br />
a ′ ii = min{ |a i | | (a 1 , ..., a n ) t ∈ L(A), a 1 = · · · = a i−1 = 0, a i ≠ 0}.<br />
Weil A rational ist, existiert das Minimum der Absolutwerte |a i |. Wegen der Dreiecksform von<br />
[a ′ 1, ...., a ′ j ] ist a′ 1, ..., a ′ j ein primitives System, <strong>und</strong> a′ 1, ..., a ′ n ist Basis zu L(A). a ′ := [a ′ 1, ..., a ′ n]<br />
hat die HNF-Eigenschaften 1. <strong>und</strong> 2. Um die HNF-Eigenschaft 3. zu sichern, transformiert man<br />
a ′ 2, ..., a ′ n gemäß<br />
a ′ i := a ′ i − ⌈a ′ ij/a ′ jj⌉ a ′ j für j = 1, ..., i − 1.<br />
Eindeutigkeit der HNF. Die Diagonalelemente a ′ ii der HNF sind offenbar durch obige Formel<br />
eindeutig bestimmt. Angenommen 0 < a ′ ij < a′′ ij < a′ ii sind verschiedene Elemente zweier HNF’s<br />
mit j < i <strong>und</strong> i ist minimal gewählt. Dann gilt für j ′ < j dass a ′ ij = ′ a′′ ij <strong>und</strong> es folgt ′ |a′ ij −a′′ ij | ≥ a′ ii ,<br />
im Widerspruch zu |a ′ ij − a′′ ij | < a′ ii .<br />
□<br />
Reelle Matrizen haben im allgemeinen keine HNF, weil die Koordinaten der <strong>Gitter</strong>vektoren<br />
kein absolutes Minimum annehmen müssen. Die Basis<br />
[ √ ]<br />
1 2<br />
A := ∈ R 2×2 .<br />
3 4<br />
erzeugt ein <strong>Gitter</strong> L(A) mit absolut beliebig kleinen ersten Koordinaten der <strong>Gitter</strong>vektoren.<br />
Teilgitter, Untergitter. Sind L ′ , L <strong>Gitter</strong> mit L ′ ⊂ L, so heißt L ′ Teilgitter von L. Haben L ′<br />
<strong>und</strong> L gleichen Rang, dann heißt L ′ Untergitter von L.<br />
[ ] 2 0<br />
Die Basis A = erzeugt das Untergitter 2 Z<br />
0 2<br />
2 von Z 2 . Die Faktorgruppe Z 2 /L(A) besteht<br />
aus den vier Äquivalenzklassen, [Z n : L(A)] = 4.<br />
<br />
(0,6)<br />
<br />
(2,6)<br />
<br />
(4,6)<br />
<br />
(6,6)<br />
<br />
(0,4)<br />
<br />
(2,4)<br />
<br />
(4,4)<br />
<br />
(6,4)<br />
<br />
(0,2)<br />
<br />
(2,2)<br />
<br />
(4,2)<br />
<br />
(6,2)<br />
<br />
(0,0) (2,0) (4,0) (6,0)<br />
Abbildung 1.5.1: Untergitter L(A) von Z 2<br />
Lemma 1.5.3<br />
Sei L = L(B) <strong>Gitter</strong> <strong>und</strong> L ′ = L(BT ) Untergitter von L mit T ∈ Z n×n . Dann gilt<br />
det L ′ = det L · |det T |.<br />
Index des Untergitters. Die ganze Zahl |det T | =<br />
det L<br />
aus Lemma 1.5.3 ist die Elementzahl<br />
<strong>und</strong> ’Ordnung’ der Faktorgruppe L/L ′ , genannt der Index des Untergitters L ′ in L, Bez.: [L : L ′ ].<br />
det L′
1.5. HERMITE NORMALFORM, UNTERGITTER 15<br />
Sei L ′ = L(BT ) Untergitter von L = L(B) <strong>und</strong> T = [t ij ] ∈ Z n×n eine obere (bzw. untere)<br />
Dreiecksmatrix. Dann gilt<br />
[L : L ′ ] =<br />
det L′<br />
det L = det T = ∏ n<br />
i=1 |t ii| .<br />
Insbesondere gilt L ′ = L genau dann wenn |det T | = 1.<br />
Korollar 1.5.4<br />
Zu a = (a 1 , . . . , a n ) ∈ Z n \ {0}, b ∈ N hat das <strong>Gitter</strong> L a,b = {x ∈ Z n | x t a = 0 (mod b)}<br />
Determinante det L a,b = b/ ggT(a 1 , . . . , a n , b) .<br />
die<br />
Beweis. L a,b ⊂ Z n ist offenbar <strong>Gitter</strong> der Dimension n. Sei O.B.d.A. ggT(a 1 , ..., a n , b) = 1, denn<br />
durch Herausdividieren des ggT aus a 1 , ..., a n , b ändert sich L a,b nicht. Die Faktorgruppe Z n / L a,b<br />
besteht den Restklassen<br />
R i := { x ∈ Z n ∣ ∣ x t a = i (mod b) } für i = 0, ..., b − 1.<br />
Offenbar sind diese Restklassen nicht leer. Es folgt [Z n : L a,b ] = b <strong>und</strong> damit det L a,b = b.<br />
□<br />
Satz 1.5.5<br />
Sei L ′ ein Untergitter von L = L(B). Dann gibt es eine untere (bzw. obere) Dreiecksmatrix T ∈<br />
Z n×n mit L ′ = L(BT ). Umgekehrt gibt es zu jeder Basis B ′ von L ′ eine Basis ¯B von L <strong>und</strong> eine<br />
untere (bzw. obere) Dreiecksmatrix T ∈ Z n×n mit B ′ = ¯B T .<br />
Beweis. Wir weisen die unteren Dreiecksmatrizen nach, Die oberen Dreiecksmatrizen erhält man<br />
durch Transformation mit Umkehrmatrizen U n , U m . Sei ¯B ′ eine beliebige Basis zu L ′ <strong>und</strong> ¯B ′ = B T<br />
mit T ∈ Z n×n . Dann gibt es ein S ∈ GL n (Z) so dass T S eine HNF von T ist. Es folgt ¯B ′ S = B(T S)<br />
<strong>und</strong> T S ist untere Dreiecksmatrix. Also ist die Basis B ′ := ¯B ′ S von L ′ von der gewünschten Form.<br />
Ist umgekehrt B ′ gegeben <strong>und</strong> B von der Form B ′ = B T , dann wählt man S ∈ GL n (Z) so dass<br />
S T eine untere Dreiecksmatrix ist. Zur Basis B von L ist dann B S −1 eine Basis der gewünschten<br />
Form.<br />
□
16 KAPITEL 1. GITTER IN LINEAREN RÄUMEN
Kapitel 2<br />
Minkowski-Sätze,<br />
Hermite-Konstante<br />
Die sukzessiven Minima λ 1 ≤ ... ≤ λ n eines <strong>Gitter</strong>s der Dimension n sind wichtige geometrische<br />
Invarianten. Eine <strong>Gitter</strong>basis b 1 , ..., b n gilt als “stark reduziert“, wenn ‖b i || nicht viel grösser ist<br />
als λ i<br />
√<br />
i. Für <strong>Gitter</strong> L der Dimension n gilt λ<br />
2<br />
1 ≤ γ n det(L) 2/n , dabei ist γ n die Hermite-Konstante.<br />
2.1 Sukzessive Minima <strong>und</strong> erster Satz von Minkowski<br />
Sukzessive Minima. Eine allgemeine Norm ‖·‖ : R m → R ≥0 ist durch ihren Eichkörper<br />
K = {x ∈ R m | ‖x‖ ≤ 1} definiert. K ⊂ R m ist eine beliebige kompakte, konvexe, nullsymmetrische<br />
Menge. Es gilt ‖x‖ = min{r ∈ R ≥0 | x ∈ rK}. Der Eichkörper der l 2 -Norm ist die Einheitskugel<br />
B m (0, 1), der Eichkörper der sup-Norm l ∞ ist der Würfel mit Seitenlängen 2.<br />
Die sukzessiven Minima λ 1 , . . . , λ n des <strong>Gitter</strong>s L ⊂ R m der dim L = n zur Norm ‖·‖ sind<br />
{<br />
}<br />
λ i = λ i (L) := inf r > 0<br />
∃ linear unabhängige a 1 , . . . , a i ∈ L<br />
∣<br />
.<br />
mit ‖a 1 ‖, ..., ‖a i ‖ ≤ r.<br />
Offenbar gilt λ 1 ≤ λ 2 ≤ · · · ≤ λ n . Die Definition der sukzessiven Minima geht auf H. Minkowski<br />
zurück. Wenn nicht anders vermerkt bezieht sich λ i stets auf die Euklidische Norm, λ i,∞ (L) bezieht<br />
sich auf die sup-Norm ‖ ‖ ∞ . Die sukzessiven Minima zur Euklidischen Norm sind geometrische<br />
Invarianten, sie bleiben bei isometrischen Transformationen erhalten. Die Größe λ 1,∞ (L) ist keine<br />
geometrische Invariante. Für <strong>Gitter</strong> L ⊂ R m <strong>und</strong> x ∈ R m gilt ‖x‖ ∞<br />
≤ ‖x‖ ≤ √ m ‖x‖ ∞<br />
.<br />
Die sukzessiven Minima sind Maßstab für die Reduziertheit einer <strong>Gitter</strong>basis. Eine Basis gilt<br />
als ”<br />
reduziert“, wenn die Größen ‖b i ‖ /λ i für i = 1, . . . , n ”<br />
klein“ sind. Für reduzierte Basen sind<br />
deren Vektoren nahezu orthogonal. Im allgemeinen gibt es keine Basis b 1 , . . . , b n mit ‖b i ‖ = λ i<br />
für i = 1, . . . , n. Für das <strong>Gitter</strong> L := Z n + Z ( 1 2 , . . . , 1 2 )t gilt offenbar λ 1 = λ 2 = · · · = λ n = 1 für<br />
n ≥ 4. Für n ≥ 5 gibt es aber keine Basis bestehend aus Vektoren der Länge 1.<br />
Lemma 2.1.1 (Blichfeldt 1914)<br />
Sei L <strong>Gitter</strong> <strong>und</strong> S ⊂ span(L) kompakt mit vol(S) ≥ det L. Dann gibt es ein b ∈ L \ {0} mit<br />
S ∩ (S + b) ≠ ∅, d.h. es existieren x, y ∈ S mit x − y ∈ L \ {0}.<br />
Beweis. Zu i ∈ N sind die Mengen ( 1 + 1 i<br />
)<br />
S + b mit b ∈ L nicht paarweise disjunkt, weil das<br />
Volumen von ( 1 + 1 i<br />
)<br />
S das der Gr<strong>und</strong>masche übersteigt. Zu jedem i gibt es ein bi ∈ L \ {0}, so<br />
dass der folgende Durchschnitt nicht leer ist <strong>und</strong> somit ein y i enthält:<br />
17
18 KAPITEL 2. SUKZESSIVE MINIMA UND MINKOWSKI-SÄTZE<br />
y i ∈ ( ) [( ) ]<br />
1 + 1 i S ∩ 1 +<br />
1<br />
i S + bi<br />
Da S kompakt ist, hat die Folge (y i ) i∈N<br />
einen Häufungspunkt y ∈ S. Für jede Teilfolge ( )<br />
y α(i) i∈N<br />
die gegen y konvergiert ist die Folge ( b α(i) ⊂ L beschränkt <strong>und</strong> hat einen Häufungspunkt<br />
)i∈N<br />
b ∈ L \ {0}. Es folgt: y ∈ S ∩ (S + b).<br />
□<br />
Satz 2.1.2 (Minkowski’s Convex Body Theorem)<br />
Sei L ⊂ R n <strong>Gitter</strong> der dim L = n <strong>und</strong> S ⊂ span(L) konvex, kompakt <strong>und</strong> nullsymmetrisch.<br />
Wenn vol(S) ≥ 2 n det(L) dann gilt |S ∩ L| ≥ 3.<br />
Beweis. Für S ′ := 1 2 S gilt vol(S′ ) = 2 −n vol(S) ≥ det L. Nach Lemma 2.1.1 gibt es x, y ∈ S ′ , x ≠<br />
y so dass x−y ∈ L. Somit gilt 2x, 2y ∈ S <strong>und</strong> −2x ∈ S weil S nullsymmetrisch ist. Weil S konvex<br />
ist folgt ±(2x − 2y)/2 = ±(x − y) ∈ S.<br />
□<br />
Satz 2.1.3<br />
Sei L ⊂ R n <strong>Gitter</strong> der dim L = n <strong>und</strong> K ⊂ R n Eichkörper einer beliebigen Norm ‖ ‖. Dann gilt<br />
λ 1,‖ ‖ (L) ≤ 2 vol(K) −1/n det L 1/n .<br />
Beweis. S := (det L/ vol(K)) 1/n K ist konvex <strong>und</strong> nullsymmetrisch mit vol(S) = det L. Nach<br />
Lemma 2.1.1 gibt es ein b ∈ L \{0} mit S ∩(S +b) ≠ ∅. Sei y im Durchschnitt, also y, b−y ∈ S.<br />
Die Dreiecksungleichung liefert ‖b‖ ≤ ‖b − y‖ + ‖y‖ ≤ 2 (det L/ vol(K)) 1/n .<br />
□<br />
Es bezeichne B n (b, r) = {x ∈ R n : ‖x − b‖ ≤ r} die n-dimensionale Kugel mit Radius r <strong>und</strong><br />
Mittelpunkt b in span(L). Ihr Volumen ist mit e = ∑ ∞<br />
n=0 1/n! :<br />
(2.1)<br />
V n r n<br />
:= r n π n 2 / Γ(1 +<br />
n<br />
2 ) = rn ( 2 eπ<br />
n ) n 2 ( 1<br />
πn )1/2 (1 − Θ( 1 n )).<br />
Dabei gilt Γ ( 1<br />
√<br />
2)<br />
= π, Γ(n + 1) = n!, Γ(x + 1) = x Γ(x) für n ∈ N, x ∈ R. Für x ∈ R>0 gilt<br />
nach Stirling Γ(x + 1) = √ 2πx ( x e )x (1 + 1<br />
12x + Θ( 1 x<br />
)) [Knuth 71, Sektion 1.2.5, 1.2.11.2].<br />
2<br />
Nach Satz 2.1.3 gilt damit für <strong>Gitter</strong> der Dimension n dass λ 2 1(L) ≤ 2n+o(n)<br />
eπ<br />
(det L) 2/n .<br />
Im Falle der Norm l ∞ mit Eichkörper K ∞ gilt in Satz 2.1.3 dass vol(K ∞ ) = 2 n . Damit liefert<br />
Satz 2.1.3 die scharfe Schranke λ 1,∞ (L) ≤ (det L) 1 n . Es gilt λ 1,∞ (Z n ) = 1 = (det Z n ) 1 n .<br />
Satz 2.1.4 (Dirichlet 1842)<br />
Zu beliebigen reellen Zahlen α 1 , . . . , α n <strong>und</strong> ɛ ∈ ] 0, 1 2[<br />
gibt es ganze Zahlen p1 , . . . , p n <strong>und</strong> q mit<br />
0 < q ≤ ɛ −n , so dass | α i − p i /q | ≤ ɛ/q für i = 1, . . . , n.<br />
Beweis. Eine Lösung (p 1 , ..., p n , q) findet man durch Konstruktion eines kürzesten Vektors in der<br />
sup-Norm l ∞ zum <strong>Gitter</strong> L(B) mit folgender <strong>Gitter</strong>basis<br />
⎡<br />
⎤<br />
1 0 · · · 0 α 1<br />
. 0 1 .. . α2<br />
B =<br />
.<br />
⎢.<br />
.. . .. 0 .<br />
∈ R (n+1)2 .<br />
⎥<br />
⎣0 0 1 α n<br />
⎦<br />
0 · · · · · · 0 ɛ n+1<br />
Wegen det B = ɛ n+1 gilt nach Satz 2.1.3 λ 1,∞ (L(B)) ≤ (det B) 1<br />
n+1 = ɛ. Für jeden ‖ ‖∞ -kürzesten<br />
<strong>Gitter</strong>vektor B(p 1 , ..., p n , q) t gilt also |p i − α i q | ≤ ɛ <strong>und</strong> |qɛ n+1 | ≤ ɛ <strong>und</strong> somit |q| ≤ ɛ −n . □
2.2. PACKUNGSDICHTE, HERMITE-KONSTANTE, KRITISCHE GITTER 19<br />
Dirichlet bewies Satz 2.1.4 inkonstruktiv mit dem Schubfachprinzip.<br />
Satz 2.1.5<br />
Sei L <strong>Gitter</strong> der Dimension n <strong>und</strong> ¯b 1 , ..., ¯b n ∈ L linear unabhängig mit ||¯b i || = λ i für i = 1, ..., n.<br />
Dann gibt es eine Basis b 1 , ..., b n von L so dass für i = 1, ..., n<br />
1. L(b 1 , ..., b i ) = span(¯b 1 , ..., ¯b i ) ∩ L,<br />
(<br />
2. bi = ¯b i oder ||π i (b i )|| ≤ 1 2 λ )<br />
i <strong>und</strong> ||bi || 2 ≤ max(1, i 4 )λ2 i .<br />
Damit hat jedes <strong>Gitter</strong> L eine Basis b 1 , ..., b n so dass ||b i || ≤ λ i<br />
√<br />
i/4 für i = 4, .., n. Insbesondere<br />
gilt ||b i || = λ i für i = 1, .., 4 <strong>und</strong> die Schranke ||b i || ≤ λ i<br />
√<br />
i/4 ist scharf für i > 4.<br />
Beweis durch Induktion nach n. Die Induktionsannahme für n − 1 sei für b 1 , ..., b n−1 ∈ L erfüllt.<br />
Wir konstruieren b n . Im Fall<br />
L ∩ P(b 1 , ..., b n−1 , ¯b n ) = {0}<br />
gilt L(b 1 , ..., b n−1 , ¯b n ) = L <strong>und</strong> damit gilt die Induktionsbehauptung für b n := ¯b n . Andernfalls<br />
wählt man für b n eine Minimalstelle von<br />
||π n (b)|| ≠ 0 für b ∈ L ∩ P(b 1 , ..., b n−1 , ¯b n ).<br />
Diese Wahl von b n minimiert vol P(b 1 , ..., b n−1 , b n ) sowie det L(b 1 , ..., b n ). Somit sichert sie dass<br />
L(b 1 , ..., b n ) = L, denn für echte Untergitter ¯L ⊂ L gilt det ¯L > det L.<br />
Weil ||π n (b n )|| minimal ist mit ||π n (b n )|| ≠ 0 folgt<br />
||π n (b n )|| ≤ 1 2 ||¯b n || = 1 2 λ n.<br />
Schliesslich reduzieren wir b n mod ¯b i für i = n − 1, ...., 1 so dass ||¯π i (b n )|| ≤ 1 2 ||¯b i || für die<br />
orthogonale Projektion ¯π i : span(¯b 1 , ..., ¯b i ) → span(¯b 1 , ..., ¯b i−1 ) ⊥ . Im Fall b i = ¯b i sichert dies<br />
¯π i+1 (b n ) = π i (¯b n ). Es folgt<br />
||b n || 2 ≤ ∑ n<br />
i=1 ||¯π i(b n ) − ¯π i+1 (b n )|| 2 ≤ 1 4<br />
∑ n<br />
i=1 ||¯b i || 2 = 1 4<br />
∑ n<br />
i=1 λ2 i ≤ n 4 λ2 n.<br />
Dabei ist ¯π i (b n ) − ¯π i+1 (b n ) der Orthogonalanteil von b n in span(¯b 1 , ..., ¯b i ) ∩ span(¯b 1 , ..., ¯b i−1 ) ⊥ .<br />
Im Fall b i = ¯b i ist dieser Anteil 0. Diese Anteile sind für alle i paarweise orthogonal. □<br />
2.2 Packungsdichte, Hermite-Konstante, kritische <strong>Gitter</strong><br />
<strong>Gitter</strong>artige Kugelpackung. Die gitterartige Kugelpackung ⋃ b∈L B n(b, λ 1 /2) zum <strong>Gitter</strong> L<br />
besteht aus allen Kugeln B n (b, λ 1 /2) mit Radius λ 1 /2 <strong>und</strong> Mittelpunkten b ∈ L.<br />
Dichte des <strong>Gitter</strong>s. Die (Packungs-)Dichte △(L) des <strong>Gitter</strong>s L ist der Volumenanteil der<br />
Kugelpackung ⋃ b∈L B n(b, λ 1 /2) von span(L) <strong>und</strong> △ n das Supremum für alle L mit dim L = n:<br />
△(L) = def λ n 1 2 −n V n / det L,<br />
△ n = def sup{△(L) | dim L = n}.<br />
△(L) ist invariant gegen Äquivalenz, bleibt also bei Isometrie <strong>und</strong> Skalierung von L erhalten. Für<br />
konstante n <strong>und</strong> det(L) ist die Dichte genau dann maximal, wenn λ 1 maximal ist.<br />
Der analoge Kode zum <strong>Gitter</strong> L. Nachrichten werden in <strong>Gitter</strong>vektoren b ∈ L kodiert. Die<br />
Kodeworte b ∈ L werden mit reellen Fehlervektoren e ∈ span(L) übertragen. Ein gestörtes<br />
Kodewort b + e ist genau dann eindeutig dekodierbar, wenn ‖e‖ < λ 1 /2. Dann ist b nämlich<br />
nächster <strong>Gitter</strong>vektor zu b + e. Mit der Dichte △(L) von L wächst also das Korrekturpotential<br />
des analogen Kodes.
20 KAPITEL 2. SUKZESSIVE MINIMA UND MINKOWSKI-SÄTZE<br />
Hermite-Konstante. Die Hermite-Konstante γ n der Dimension n ist<br />
γ n = def sup{λ 1 (L) 2 /(det L) 2 n | dim L = n} = 4 (△ n /V n ) 2/n .<br />
Es genügt das Supremum über die vollständigen <strong>Gitter</strong> L mit λ 1 (L) = 1 (bzw. mit det L = 1) zu<br />
nehmen, denn γ(L) bleibt bei Äquivalenz erhalten. Weil beschränkte Basen dieser <strong>Gitter</strong> über einen<br />
kompakten Bereich des R n×n variieren, wird das Supremum angenommen, ist also ein Maximum.<br />
Global extreme, kritische <strong>Gitter</strong>.<br />
kritisch, wenn △(L) = △ n .<br />
Ein <strong>Gitter</strong> L mit dim(L) = n heißt global extrem oder<br />
Extreme <strong>Gitter</strong>. Ein <strong>Gitter</strong> L heißt extrem, wenn △(L) bei infinitesimal kleiner Veränderung<br />
der Basisvektoren nicht zunimmt. Diese Eigenschaft hängt nicht von der Wahl der Basis von L<br />
ab. Jedes kritische <strong>Gitter</strong> ist extrem, aber die Umkehrung gilt nicht.<br />
Satz 2.2.1<br />
γ n = 4 (△ n /V n ) 2/n < 4 π Γ ( 1 + n 2<br />
) 2<br />
n<br />
< 2n<br />
eπ + 1 4 ln n für n > n 0.<br />
Beweis. Sei L <strong>Gitter</strong> mit dim(L) = n <strong>und</strong> γ(L) = γ n , △(L) = △ n sowie det L = 1. Nach<br />
Abbildung 2.2.1 ergeben die 2 n Kugelteile in der Gr<strong>und</strong>masche des <strong>Gitter</strong>s zusammen gerade eine<br />
Kugel vom Radius λ 1 /2. Es folgt V n (λ 1 /2) n = △ n det L = △ n < 1, somit gilt λ 1 = 2 (△ n /V n ) 1/n<br />
<strong>und</strong> γ n = λ 2 1 = 4 (△ n /V n ) 2/n < 4 π Γ ( )<br />
1 + n 2<br />
n<br />
2<br />
≤ 4 n/2<br />
π e<br />
+ 2<br />
eπ ln n + O( ln2 n<br />
n<br />
) (nach Stirling). □<br />
λ 1 /2<br />
❪<br />
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣<br />
♣<br />
♣♣♣♣♣♣♣♣♣♣♣♣♣♣<br />
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣<br />
♣♣♣♣♣<br />
♣♣♣♣♣♣♣♣♣<br />
♣<br />
♣ ♣ ♣<br />
♣<br />
♣ ♣♣♣♣<br />
♣♣♣♣♣♣♣<br />
Abbildung 2.2.1: Veranschaulichung von V n (λ 1 /2) n < det L<br />
Der Beweis von Satz 2.2.1 benutzt nur △ n ≤ 1. Blichfeldt [Bli14] zeigt △ n ≤ ( √ 2 + o(1)) −n<br />
<strong>und</strong> damit die bessere Schranke<br />
(2.2)<br />
γ n ≤ 2 π Γ ( )<br />
2 + n 2<br />
n<br />
2<br />
≤ n eπ<br />
+ (3 + o(1)) ln n.<br />
Z.B. gilt γ 10 ≤ 2 π (6!)0,2 ≈ 2, 373. Kabatiansky, Levenshtein [KaLe78] zeigen dass<br />
γ n ≤ 1,744<br />
2eπ n für n ≥ n 0.<br />
Satz 2.2.2 (Minkowski, Hlawka)<br />
△ n ≥ ∑ ∞<br />
k=1 k−n 2 −n+1 > 2 −n+1 <strong>und</strong> γ n > n<br />
2eπ (4eπ)1/n ≈ n+ln(4eπ)<br />
2eπ<br />
.<br />
Minkowski bewies 1905 inkonstruktiv dass △ n > 2 −n+1 , siehe auch [Hlawka, 44].<br />
Explizite <strong>Gitter</strong> mit Dichte △(L) ≥ 2 −n+1 sind nur für einige Dimensionen n < 200 bekannt. Aus<br />
△ n > 2 −n+1 folgt mit der Stirling Approximation<br />
γ n = 4(△ n /V n ) 2/n ≥ (2/V n ) 2/n =<br />
n<br />
2eπ (4πn)1/n (1 + Θ(n −2 )).<br />
Umgekehrt zeigt die Gauß’sche Volumen-Heuristik dass γ n Vn −2/n ≈ n<br />
2eπ<br />
. Für <strong>Gitter</strong> L ⊂ Rn
2.2. PACKUNGSDICHTE, HERMITE-KONSTANTE, KRITISCHE GITTER 21<br />
mit dim L = n, det L = 1 <strong>und</strong> zufällige t ∈ R n gilt nämlich:<br />
E[|L ∩ B n (t, (2/V n ) 1/n )|] = V n (2/V n ) n/n = 2.<br />
Verhält sich t = 0 wie ein zufälliges t dann gilt λ 1 (L) ≤ (2/V n ) 1/n , also γ n (2/V n ) 2/n ≈<br />
n<br />
2eπ (4eπ)1/n .<br />
Vermutlich gilt also γ n ≈<br />
n<br />
2eπ (4eπ)1/n <strong>und</strong> somit △ n = 2 −n n O(1) . Vermutlich sind die Hermite-<br />
Konstanten γ n als Funktion in n monoton wachsend. Weder dies noch die Existenz des Grenzwertes<br />
lim n→∞ γ n /n ist bewiesen.<br />
n 2 3 4 5 6 7 8 24<br />
γ n n<br />
4<br />
3<br />
2 4 8 2 6 /3 2 6 2 8 2 48<br />
△ n 0, 907 0, 740 0, 617 0, 465 0, 373 0, 295 0, 254 V 24 ≈ (eπ)11.5<br />
12 12<br />
krit. <strong>Gitter</strong> A 2 A 3<br />
∼ = D3 D 4 D 5 E 6 E 7 E 8 Leech G. Λ 24<br />
Tabelle 2.2.2<br />
Die bekannten Hermite-Konstanten. Die Hermite-Konstanten γ 3 , γ 4 , γ 5 wurden von Gauß<br />
(γ 3 ) sowie Korkine <strong>und</strong> Zolotareff (γ 4 , γ 5 ) [KZ1872, KZ1873, KZ1877] bestimmt. Blichfeldt [Bli35]<br />
hat γ 6 , γ 7 , γ 8 ermittelt. Blichfeldts Beweis ist kompliziert <strong>und</strong> wurde von Watson [W66] <strong>und</strong> Vetchinkin<br />
[V82] bestätigt. Für Dimension n ≤ 8 sind die kritischen <strong>Gitter</strong> bis auf Äquivalenz (Isometrie<br />
<strong>und</strong> Skalierung) eindeutig bestimmt. Dies wurde von Barnes [Bar59] <strong>und</strong> Vetchinkin [V82]<br />
bewiesen. Cohn [Co05] hat Λ 24 bestimmt <strong>und</strong> gezeigt, dass das Leech-<strong>Gitter</strong> Λ 24 kritisch <strong>und</strong> bis<br />
aud Äquivalenz eindeutig ist. Die Tabelle 2.2.2 zeigt die bewiesenen γ n n, die ger<strong>und</strong>eten maximalen<br />
Dichten △ n , sowie kritische <strong>Gitter</strong>.<br />
Einfache GNF’s <strong>und</strong> Gram-Matrizen der kritischen <strong>Gitter</strong>. Die kritischen <strong>Gitter</strong> der<br />
Dimension n = 1, ..., 8, skaliert zu λ 1 = √ 2 haben Basen mit einfacher GNF R n = [r 1 , ..., r n ]:<br />
⎡<br />
1 1<br />
1<br />
2 2<br />
0 0 0 0 0<br />
√<br />
1<br />
0 2 3<br />
1<br />
2 √ 1√<br />
3 3<br />
0 0 0 0<br />
√<br />
√<br />
2<br />
0 0<br />
√1<br />
1 3<br />
3<br />
2·3 2 2<br />
0 0 0<br />
R 8 := √ 0 0 0 √2 1 1<br />
2<br />
2 √ 1√<br />
2 2<br />
0 0<br />
0 0 0 0 √2 1 1<br />
2 √ 1√<br />
2<br />
2<br />
0<br />
√<br />
1 3<br />
0 0 0 0 0 2 2<br />
⎢0 0 0 0 0 0 √3 1 1<br />
2<br />
⎣<br />
√<br />
√1<br />
2<br />
2·3 3<br />
0 0 0 0 0 0 0<br />
1<br />
2<br />
Es gilt R 1 ⊂ R 2 ⊂ · · · ⊂ R 8 , dabei bedeutet ⊂ ‘obere linke’Teilmatrix von’. Für die Gram-Matrizen<br />
R t nR n = [〈r i , r j 〉] 1≤i,j≤n gilt für n = 1, ..., n:<br />
(2.3)<br />
⎧<br />
⎪⎨ 2 für i = j<br />
〈r i , r j 〉 = 1 für 1 ≤ |i − j| ≤ 2 <strong>und</strong> 1 ≤ i, j ≤ n<br />
⎪⎩<br />
0 sonst<br />
1√<br />
3<br />
⎤<br />
.<br />
⎥<br />
⎦
22 KAPITEL 2. SUKZESSIVE MINIMA UND MINKOWSKI-SÄTZE<br />
⎡<br />
⎤<br />
2 1 1 0 · · · · · · · · · 0<br />
. 1 2 1 .. . .. .<br />
. 1 1 2 .. . .. .<br />
.<br />
R8R t 8 :=<br />
0 .. . .. . .. . .. .<br />
. . .. . .. . .. . ∈ Z 8×8 .<br />
.. 0<br />
. . .. . .. 2 1 1<br />
⎢<br />
⎣<br />
.<br />
.<br />
.. . ⎥<br />
.. 1 2 1 ⎦<br />
0 · · · · · · · · · 0 1 1 2<br />
Nach Lemma 2.2.3 gilt λ 1 (R n ) = √ 2. Man rechnet leicht nach, dass γ n n = λ 2n<br />
1 det(L(R n )) −2 für<br />
die γ n n, n ≤ 8 von Tabelle 2.2.2. Diese <strong>Gitter</strong> Λ n := L(R n ) realisieren die Hermite-Konstanten γ n .<br />
Sie sind kritisch <strong>und</strong> äquivalent zu Z, A 2 , A 3<br />
∼ = D3 , D 4 , D 5 , E 6 , E 7 , E 8 .<br />
Die Gram-Matrizen R t nR n kann man so nicht auf n = 9 fortsetzen, denn dann gilt det(R t 9R 9 ) =<br />
0. Das <strong>Gitter</strong> Λ 8 ist wegen det R 8 = 1 selbstdual, es gilt Λ 8 = Λ ∗ 8. Damit ist jeder Vektor<br />
b ∈ span(Λ 8 ) mit 〈r i , b〉 ∈ Z für i = 1, ..., 8 bereits in Λ 8 . Die nach Def. 2.2.5 geschichteten <strong>Gitter</strong><br />
Λ n haben, skaliert zu λ 1 = √ 2, GNF’s R n mit R 8 ⊂ R n <strong>und</strong> R t nR n ∈ 1 2 Zn×n , siehe [CoSl88,<br />
Figur 4.13]. Man erhält R 9 z.B. mit 〈r 9 , r i 〉 = 1 2 für i = 1, ..., 8 oder mit 〈r 9, r 4 〉 = 〈r 9 , r 6 〉 = 1 ,<br />
1<br />
2 = 〈r 9, r 5 〉 <strong>und</strong> 〈r 9 , r i 〉 = 0 sonst.<br />
Lemma 2.2.3<br />
Für jede ganze Gram-Matrix B t B ∈ Z n×n mit ‖b 1 ‖ 2 = · · · = ‖b n ‖ 2 = 2 gilt λ 1 (L(B)) = √ 2.<br />
Beweis. Wegen ‖b 1 ‖ = √ 2 gilt λ 1 (L) ≤ √ 2. Offenbar gilt ‖b‖ 2 ∈ 2 Z für alle b ∈ L<br />
‖ ∑ n<br />
i=1 t ib i ‖ 2 = ∑ 1≤i,j≤n t it j 〈b i , b j 〉= ∑ n<br />
i=1 t2 i 〈b i, b i 〉 + 2 ∑ j
2.3. ZWEITER SATZ VON MINKOWSKI. 23<br />
Die Erweiterungen R n−1 ⊂ R n <strong>und</strong> Λ n−1 ⊂ Λ n kann man so beschreiben, dass Λ n für n ≤<br />
8 geschichtetes <strong>Gitter</strong> zu Λ n−1 nach Def. 2.2.5 ist. Der Prozess der Schichtung ist in beliebige<br />
Dimension n fortsetzbar. Die <strong>Gitter</strong> Λ n für n = 1, ..., 8 sind äquivalent zu den geschichteten<br />
<strong>Gitter</strong>n Λ n in [CoSl88] <strong>und</strong> sind dort zu λ 1 = 2 skaliert. Zu ihrer Konstruktion, wählen wir<br />
b 1 = √ 2(1, 0, . . . , 0) t ∈ R n <strong>und</strong> b 2 , . . . , b n so dass jeweils b n − ̂b n tiefes Loch von L(b 1 , . . . , b n−1 )<br />
ist <strong>und</strong> ‖b n ‖ 2 = 2. Offenbar liefert diese Konstruktion geschichtete <strong>Gitter</strong> Λ n beliebiger Dimension.<br />
Für n = 11, 12, 13 <strong>und</strong> n > 24 gibt es jedoch mehrere Isometrieklassen geschichteter <strong>Gitter</strong>, siehe<br />
[CoSl88, Figur 6.1].<br />
2.3 Zweiter Satz von Minkowski.<br />
Satz 2.3.1<br />
Für jedes <strong>Gitter</strong> L ⊂ R m mit dim L = n gilt für die l 2 -Norm ∏ n<br />
i=1 λ i(L) ≤ γ n/2<br />
n det L.<br />
Satz 2.3.1 verschärft die Ungleichung λ 2 1 ≤ γ n (det L) 2/n . Für kritische <strong>Gitter</strong> L gilt λ n 1 = γn<br />
n/2 det L<br />
<strong>und</strong> wegen λ i ≥ λ 1 folgt somit λ 1 = λ 2 = · · · = λ n .<br />
Beweis. Seien a 1 , ..., a n ∈ L linear unabhängige Vektoren, so dass ‖a i ‖ = λ i für i = 1, . . . , n.<br />
L(a 1 , . . . , a n ) ist ein Untergitter von L. Wähle die Basis b 1 , ..., b n von L so dass mit einer oberen<br />
Dreiecksmatrix T ∈ Z n×n nach Satz 1.5.5 gilt [b 1 , . . . , b n ] T = [a 1 , . . . , a n ]. Es gilt dann<br />
(2.4)<br />
b ∈ L(b 1 , . . . , b n ) \ L(b 1 , . . . , b s−1 ) =⇒ ‖b‖ ≥ λ s für s = 2, ..., n,<br />
weil b /∈ span(b 1 , . . . , b s−1 ) = span(a 1 , . . . , a s−1 ).<br />
Wir setzen ¯b i := ∑ i<br />
j=1 µ ̂b<br />
(<br />
i,j j /λ j für 1 ≤ i ≤ n, ¯L := L ¯b1 , . . . , ¯b<br />
)<br />
n <strong>und</strong> zeigen λ1 ( ¯L ) ≥ 1.<br />
i=1 t i¯b i ∈ ¯L \ {0} ein beliebiger Vektor, t s ≠ 0 <strong>und</strong> b := ∑ s<br />
Sei ¯b := ∑ s<br />
∥<br />
∥¯b∥ ∥<br />
2<br />
∑ s =<br />
j=1 (∑ s<br />
i=j t iµ i,j ) 2 ‖̂b j ‖ 2 λ −2<br />
j<br />
≥ ∑ s<br />
j=1 (∑ s<br />
i=j t iµ i,j ) 2 ‖̂b j ‖ 2 λ −2<br />
s<br />
i=1 t ib i . Dann gilt<br />
= λ −2<br />
s ‖b‖ 2 ,<br />
so dass wegen (2.4) <strong>und</strong> t s ≠ 0 die Behauptung ‖¯b‖ 2 ≥ 1 <strong>und</strong> damit λ 1 ( ¯L ) ≥ 1 folgt.<br />
Aus det ¯L = det L/ ∏ n<br />
i=1 λ i sowie λ 1 ( ¯L ) ≥ 1 <strong>und</strong> nach Definition von γ n folgt<br />
1 ≤ λ 1 ( ¯L) 2 ≤ γ n (det ¯L) 2/n = γ n (det L) 2/n ( ∏ n<br />
i=1 λ i) −2/n .<br />
Diese Ungleichung potenxiert mit n/2 <strong>und</strong> multipliziert mit ∏ n<br />
i=1 λ i liefert die Behauptung. □<br />
Lemma 2.3.2<br />
Für jedes <strong>Gitter</strong> L mit dim L = n gilt für die l 2 -Norm ∏ n<br />
i=1 λ i ≥ det L.<br />
Beweis. Seien a 1 , . . . , a n linear unabhängige <strong>Gitter</strong>vektoren mit ‖a i ‖ = λ i für i = 1, . . . , n. Weil<br />
L(a 1 , . . . , a n ) ein Untergitter von L ist, gilt det L(a 1 , . . . , a n ) ≥ det L. Ferner liefert die Ungleichung<br />
von Hadamard ∏ n<br />
i=1 λ i = ∏ n<br />
i=1 ‖a i‖ ≥ det L(a 1 , . . . , a n ). Es folgt die Behauptung. □<br />
Satz 2.3.3 verallgemeinert Satz 2.3.1 auf eine allgemeine Norm mit Eichkörper K. Der Satz<br />
stammt von Minkowski 1907, siehe Paragraph 9.1, Kapitel 2, [GrLek87].<br />
Satz 2.3.3<br />
Seien λ 1 , . . . , λ n die sukzessiven Minima des <strong>Gitter</strong>s L ⊂ R m mit dim L = n bezüglich einer<br />
beliebigen Norm mit Eichkörper K, dann gilt det L/n! ≤ vol(K ∩ span(L)) 2 −n ∏ n<br />
i=1 λ i ≤ det L.<br />
Im Fall der sup-Norm l ∞ gilt vol(K ∩ L) ≥ 2 n <strong>und</strong> somit ∏ n<br />
i=1 λ i,∞ ≤ det L. Diese Schranke<br />
ist scharf, denn für L = Z n gilt λ i,∞ = 1 <strong>und</strong> det L = 1.
24 KAPITEL 2. SUKZESSIVE MINIMA UND MINKOWSKI-SÄTZE
Kapitel 3<br />
Gauß-Reduktion<br />
Ziel ist es, für <strong>Gitter</strong> der Dimension 2 eine Basis a, b zu finden, bestehend aus einem kürzesten<br />
Vektor a ≠ 0 <strong>und</strong> einem dazu kürzesten, linear unabhängigen Vektor b. Für beliebige Norm ‖ ‖<br />
sind dies genau die Basen mit ‖a‖ ≤ ‖b‖ ≤ ‖a ± b‖. Wir behandeln Reduktionsverfahren, erst für<br />
die Euklidische Norm dann für eine allgemeine Norm.<br />
3.1 Reduzierte Basis<br />
Reduzierte Basis. Sei ‖ ‖ : R n → R ≥0 eine beliebige Norm. Eine geordnete <strong>Gitter</strong>basis<br />
a, b ∈ R n ist reduziert bezüglich der Norm ‖·‖ wenn ‖a‖ ≤ ‖b‖ ≤ ‖a ± b‖ .<br />
Ist die Basis a, b reduziert, so sind auch ±a, ±b reduzierte Basen des <strong>Gitter</strong>s L(a, b). Abgesehen<br />
von Ausnahmegittern gibt es nur diese vier reduzierten Basen. Die Basen ±a, ±b sind in<br />
natürlicher Weise äquivalent. Wir nennen zwei Basen a, b <strong>und</strong> a ′ , b ′ äquivalent, wenn a = ±a ′ ,<br />
b = ±b ′ . Zwei der reduzierten Basen ±a, ±b erfüllen die Zusatzbedingung ‖a − b‖ ≤ ‖a + b‖.<br />
Der folgende Satz gilt für eine allgemeine Norm ‖ ‖.<br />
Satz 3.1.1<br />
Für jede reduzierte Basis a, b ∈ R n ist a ein kürzester <strong>Gitter</strong>vektor ≠ 0 <strong>und</strong> b ein dazu linear<br />
unabhängiger kürzester <strong>Gitter</strong>vektor.<br />
Beweis. Zu zeigen ist für allgemeine Norm<br />
‖a‖ ≤ ‖ra + sb‖ for all(r, s) ∈ Z 2 \ {(0, 0)} ,<br />
‖b‖ ≤ ‖ra + sb‖ for all(r, s) ∈ Z 2 \ {(0, 0), (1, 0)} , s ≠ 0.<br />
Abb. 4.1.1 illustriert die Lage einer reduzierten Basis a, b. Betrachte das Parallelepiped P<br />
mit den Eckpunkten ±a ± b. Die Reduktionsbedingungen bedeuten, dass auf jeder der vier dicken<br />
Kanten von P der mittlere <strong>Gitter</strong>punkt ±a, ±b minimale Norm gegenüber den beiden Eckpunkten<br />
hat:<br />
‖±a − b‖ ≥ ‖±a‖ ≤ ‖±a + b‖<br />
‖−a ± b‖ ≥ ‖±b‖ ≤ ‖a ± a‖ .<br />
Für eine allgemeine Norm <strong>und</strong> c > 0 ist der Bereich der Vektoren K c = {x | ‖x‖ ≤ c} konvex.<br />
Wegen dieser Konvexität hat die Norm auf jeder der vier Grenzgeraden von P, den Geraden<br />
±a + tb, ±b + ta für t ∈ R, ihr Minimum jeweils auf der Kante des Randes von P. Damit nimmt<br />
die Norm in jedem der vier gepunkteten Bereiche der Abb. 4.1.1 ihr Minimum im jeweiligen<br />
Eckpunkt ±a ± b an. Daher sind a, b offenbar zwei kleinste, linear unabhängige <strong>Gitter</strong>punkte. □<br />
25
26 KAPITEL 3. GAUSS-REDUKTION<br />
♣ ♣ ♣ ♣ ♣ ♣ ♣<br />
♣ ♣ ♣<br />
♣ ♣ ♣ ♣ ♣ ♣ ♣ <br />
<br />
♣ ♣ ♣<br />
♣ ♣ ♣ ♣ ♣ ♣ ♣<br />
♣ ♣ ♣ ♣<br />
♣ ♣ ♣ ♣ ♣ ♣<br />
♣ ♣ ♣ ♣<br />
♣<br />
<br />
♣ ♣ ♣ ♣<br />
<br />
♣<br />
a<br />
<br />
<br />
♣ ♣ ♣ ♣<br />
✶<br />
+a − b<br />
✕<br />
+a + b<br />
<br />
0 ✲ <br />
−b<br />
b<br />
−a − b<br />
<br />
♣ ♣ ♣<br />
♣ ♣<br />
♣ ♣ ♣<br />
♣♣ ♣ <br />
♣<br />
−a + b<br />
<br />
♣ ♣ ♣ ♣ ♣ ♣ ♣<br />
♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣<br />
♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣<br />
♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣<br />
♣ ♣ ♣ ♣ ♣ ♣ ♣<br />
♣<br />
Abbildung 3.1.1: Reduzierte Basis a, b<br />
3.2 Reduktionsverfahren für die Euklidische Norm<br />
Für die Euklidischen Norm ‖x‖ = √ x t x gilt offenbar mit µ 2,1 = a t b ‖a‖ −2 dass<br />
µ 2,1 ≤ 1 2<br />
⇐⇒ ‖b‖ ≤ ‖a − b‖ ,<br />
µ 2,1 ≥ 0 ⇐⇒ ‖a − b‖ ≤ ‖a + b‖ .<br />
Damit ist die Basis a, b genau dann reduziert, wenn ‖a‖ ≤ ‖b‖ , |µ 2,1 | ≤ 1 2<br />
. Wir betrachten nur<br />
reduzierte Basen mit der Zusatzbedingung µ 2,1 ≥ 0.<br />
µ 2,1 = 0<br />
❘<br />
♣♣♣♣♣♣♣♣♣✗♣<br />
♣♣♣♣♣♣♣♣♣<br />
❨<br />
µ2,1 = 1 2<br />
b<br />
✮<br />
‖a‖ = ‖b‖<br />
a<br />
✲<br />
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣<br />
-<br />
Abbildung 3.2.1: Bereich der reduzierten Basen a, b mit µ 2,1 ≥ 0<br />
Abbildung 3.2.1 zeigt zu festem a den gepunkteten Bereich der Vektoren b der reduzierten<br />
Basen a, b mit µ 2,1 ≥ 0. Sei φ = ∠(a, b) der Winkel zwischen den <strong>Gitter</strong>vektoren a, b, cos φ =<br />
a t b<br />
‖a‖·‖b‖ . Für reduzierte Basen a, b gilt 60◦ ≤ φ ≤ 90 ◦ .<br />
Im Fall µ 2,1 = 1 2<br />
ist mit a, b auch a, a − b reduziert. Im Fall ‖a‖ = ‖b‖ ist mit a, b auch b, a<br />
reduziert. In den übrigen Fällen gibt es nur die reduzierten Basen ±a, ±b.
3.2. REDUKTIONSVERFAHREN FÜR DIE EUKLIDISCHE NORM 27<br />
Algorithmus 3.2.1 Gauß-Reduktionsverfahren für die Euklidische Norm<br />
EINGABE :<br />
<strong>Gitter</strong>basis b 1 , b 2 ∈ R n mit ‖b 1 ‖ ≤ ‖b 2 ‖<br />
WHILE |µ 2,1 | > 1 2 DO /∗ µ2,1 = b⊤ 1 b 2‖b 1‖ −2 ∗/<br />
1. b 2 := b 2 · sign(µ 2,1 ) /∗ wir erreichen µ 2,1 ≥ 0 ∗/<br />
2. b 2 := b 2 − ⌈µ 2,1 ⌋b 1<br />
3. IF ‖b 1 ‖ > ‖b 2 ‖ THEN vertausche b 1 <strong>und</strong> b 2<br />
AUSGABE : Reduzierte Basis b 1 , b 2<br />
Eine R<strong>und</strong>e der Schritte 1. 2. 3. sichert in Schritt 1. durch Vorzeichenwahl von b 2 dass<br />
µ 2,1 ≥ 0, reduziert in Schritt 2. gemäß b 2 := b 2 − ⌈µ 2,1 ⌋b 1 <strong>und</strong> vertauscht in Schritt 3. sofern<br />
nicht schon ‖b 1 ‖ ≤ ‖b 2 ‖ gilt. Nach Schritt 1. gilt stets ‖b 1 ‖ ≤ ‖b 2 ‖ <strong>und</strong> µ 2,1 ≥ 0. Die Schritte 2.<br />
3. lauten bei Vertauschung in Matrizenschreibweise<br />
[ ]<br />
−⌈µ2,1 ⌋ 1<br />
[b 1 , b 2 ] := [b 1 , b 2 ]<br />
.<br />
1 0<br />
In Schritt 3. wird bis auf die letzte R<strong>und</strong>e notwendigerweise vertauscht.<br />
Zu gegebener reduzierten Ausgabebasis b 1 , b 2 <strong>und</strong> R<strong>und</strong>enzahl k der Gauß-Reduktion identifizieren<br />
wir eine minimale Eingabebasis, welche in k R<strong>und</strong>en auf b 1 , b 2 reduziert wird. Die Minimalität<br />
der Basis bedeutet, dass ihre Vektoren minimale Länge haben. Eine solche Eingabebasis<br />
heißt eine minimale k-te Vorgängerbasis zu b 1 , b 2 .<br />
Satz 3.2.1<br />
1. Zur reduzierten Basis b 1 , b 2 <strong>und</strong> R<strong>und</strong>enzahl k ist [b 1 , b 2 ] A k minimale k-te Vorgängerbasis<br />
[ ] [ ] k−2 [ ]<br />
0 1 0 1 0 1<br />
mit A k = def .<br />
1 1 1 2 1 1<br />
2. Algorithmus 3.2.1 macht zur Eingabe b 1 , b 2 höchstens log √<br />
1+ 2<br />
(‖b 1 ‖ /λ 2 ) + 2.54 R<strong>und</strong>en.<br />
Wohlgeordnete Basis. Eine Basis b 1 , b 2 heißt wohlgeordnet wenn ‖b 1 ‖ ≤ ‖b 1 − b 2 ‖ < ‖b 2 ‖.<br />
Dies ist für die Euklidischen Norm äquivalent zu 0 < µ 2,1 ≤ 1 2 , ‖b 1‖ < ‖b 2 ‖. In Schritt 1. wird<br />
also eine wohlgeordnete Basis erzeugt, es sei denn die Basis ist schon reduziert. Offenbar gelten<br />
folgende Aussagen.<br />
Lemma 3.2.2<br />
Für jede nicht reduzierte Basis mit ‖b 1 ‖ ≤ ‖b 2 ‖ ist genau eine der Basen b 1 , ±b 2 wohlgeordnet.<br />
Lemma 3.2.3<br />
Wendet man die Schritte 2. 3. an auf zwei aquivalente Basen b 1 , b 2 <strong>und</strong> b ′ 1, b ′ 2, so bleibt die<br />
Äquivalenz erhalten.<br />
Wegen Lemma 3.2.3 gibt es zu gegebener reduzierten Basis eine minimale k-te Vorgängerbasis,<br />
bei deren Reduktion das Vorzeichen von b 2 in Schritt 1. nie verändert wird. Dies folgt aus dem<br />
Lemma, weil äquivalente Basen in der Länge der Vektoren gleich sind.<br />
Die Gauß-Reduktion mit k R<strong>und</strong>en erzeugt in Schritt 1. eine Folge wohlgeordneter Basen<br />
(b k+1 , b k+2 ), (b k , b k+1 ), . . . , (b 2 , b 3 ) <strong>und</strong> schließlich die reduzierte Basis (b 1 , b 2 ). Bleibt das Vor-
28 KAPITEL 3. GAUSS-REDUKTION<br />
zeichen von b 2 in Schritt 1. stets unverändert, <strong>und</strong> wird in der letzten R<strong>und</strong>e in Schritt 3. getauscht,<br />
dann ist die k-te Vorgängerbasis (b k+1 , b k+2 ) zur reduzierten Basis (b 1 , b 2 ) von der Form<br />
[b k , b k+1 ] = [b 1 , b 2 ]<br />
∏<br />
i=1,...,k<br />
[ ] 0 1<br />
1 µ (i) .<br />
Dabei ist µ (i) = ⌈µ 2,1 ⌋ der ganzzahlige<br />
[<br />
Reduktionskoeffizient<br />
]<br />
der i-ten<br />
[<br />
R<strong>und</strong>e.<br />
]<br />
Die behauptete<br />
0 1<br />
−µ<br />
(i)<br />
1<br />
Form von (b k+1 , b k+2 ) folgt, weil<br />
1 µ (i) die Inverse zur Matrix<br />
ist, welche die<br />
1 0<br />
Schritte 2. 3. beschreibt. Wegen µ 2,1 > 1 2 gilt µ(i) ≥ 1.<br />
Lemma 3.2.4<br />
Sei b 1 , b 2 ∈ R n wohlgeordnete Basis, welche durch die Schritte 2. 3. in die wohlgeordnete Basis<br />
b ′ 1 = b 2 − ⌈µ 2,1 ⌋b 1 , b ′ 2 = b 1 transformiert wird. Im Fall ∠(b 1 , b ′ 1) < 30 o gilt µ ′ 2,1 > 3 2 .<br />
Im Fall ∠(b 1 , b ′ 1) ≥ 30 o gibt es eine reduzierte Basis bestehend aus den Vektoren b ′ 1, b ′ 2, b ′ 2 −b ′ 1.<br />
Das Lemma zeigt, dass der ganzzahlige Reduktionskoeffizient µ (i) = ⌈µ 2,1 ⌋ stets mindestens 2<br />
ist, ausgenommen die erste <strong>und</strong> letzte R<strong>und</strong>e.<br />
Beweis.<br />
ist.<br />
Wir betrachten nur den Fall dass 〈b 1 , b ′ 1〉‖b 1 ‖ −2 = 1 2 , weil dann ‖b′ 1‖/‖b 1 ‖ maximal<br />
Abbildung 3.1: Der Fall ∠(b 1 , b ′ 1) = 30, 〈b 1 , b ′ 1〉‖b 1 ‖ −2 = 1 2<br />
Im Fall ∠(b 1 , b ′ 1) = 30 o gilt 3 4 ‖b′ 1‖ 2 = 1 4 ‖b 1‖ 2 . Daher gilt im Falle ∠(b 1 , b ′ 1) < 30 o offenbar<br />
‖b 1 ‖ 2 < 3 ‖b ′ 1‖ 2 . Es folgt die Behauptung<br />
µ ′ 2,1 = 〈b 1 , b ′ 1〉‖b ′ 1‖ −2 ≥ 3 〈b 1 , b ′ 1〉‖b 1 ‖ −2 > 3 2 .<br />
Im Falle ∠(b 1 , b ′ 1) > 30 o gilt 1 2 < µ′ 2,1 < 3 2 . Sofern die Basis b′ 1, b ′ 2 nicht schon reduziert ist,<br />
wird in der nächsten R<strong>und</strong>e b ′ 2 − b ′ 1 gebildet <strong>und</strong> die Reduktion bricht ab.<br />
□<br />
Beweis von Satz 3.2.1. Betrachte nun den Fall dass (b 2 , b 3 ) = (b ′ 1, b ′ 2) direkte Vorgängerbasis<br />
ist zur reduzierten Basis b 1 , b 2 gemäß Lemma 4.2.4. Es sei also b 1 , b 2 eine Auswahl von b ′ 1, b ′ 2, b ′ 2−<br />
b ′ 1. Dann ist<br />
[b k+1 , b k+2 ] = [b 1 , b 2 ]<br />
[ 0 1<br />
1 1<br />
] [ 0 1<br />
1 2<br />
] k−2 [ 0 1<br />
1 1<br />
eine minimale k-te Vorgängerbasis (b k+1 , b k+2 ) zur reduzierten Basis (b 1 , b 2 ). Wegen Lemma<br />
4.2.4 gilt nämlich µ (i) ≥ 2 für die ganzzahligen Reduktionskoeffizienten mit 1 < i < k <strong>und</strong><br />
µ (1) = µ (k) = 1. Offenbar wird b k+1 , b k+2 minimal, wenn in der letzten R<strong>und</strong>e in Schritt 3.<br />
getauscht wird.<br />
[ ] k [ ]<br />
0 1 ak−2 a<br />
Die Koeffizienten a k der Matrix<br />
=<br />
k−1<br />
genügen der Rekursion<br />
1 2 a k−1 a k<br />
a 0 = 0, a 1 = 1, a 2 = 2 <strong>und</strong> a k = 5 a k−2 + 2 a k−3 für k ≥ 3. Es gilt 2a k−3 + a k−2 ≥ 1.5 (1 + √ 2) k−3 .<br />
Somit gilt<br />
[b k+1 , b k+2 ] [b k+1 , b k+2 ] t = A k [b 1 , b 2 ] t [b 1 , b 2 ]A t k<br />
]<br />
.
3.2. REDUKTIONSVERFAHREN FÜR DIE EUKLIDISCHE NORM 29<br />
[<br />
für die Matrix A k =<br />
]<br />
a k−2 a k−2 + a k−3<br />
a k−4 + a k−3 a k−4 + 2a k−3 + a k−2<br />
. Wegen 〈b 1 , b 2 〉 ≥ 0 folgt<br />
‖b k+1 ‖ ≥ (a k−4 + 2a k−3 + a k−2 )‖b 2 ‖ ≥ 1.5 (1 + √ 2) k−3 λ 2 .<br />
Somit gilt k ≤ 2.54 + log 1+<br />
√<br />
2<br />
(‖b k+1 ‖/λ 2 ), weil 2.54 > 3 − log 1.5/ log(1 + √ 2).<br />
□<br />
Algorithmus 3.2.2 Gauß-Reduktionsverfahren für beliebige Norm<br />
EINGABE :<br />
Wohlgeordnete <strong>Gitter</strong>basis b 1 , b 2 ∈ R n mit ‖b 1 ‖ ≤ ‖b 2 ‖<br />
WHILE ‖b 2 ‖ > ‖b 1 − b 2 ‖ DO<br />
1. b 2 := b 2 − µb 1 mit µ ∈ Z derart, dass ‖b 2 − µb 1 ‖ minimal ist<br />
2. IF ‖b 1 + b 2 ‖ < ‖b 1 − b 2 ‖ THEN b 2 := −b 2<br />
3. vertausche b 1 <strong>und</strong> b 2<br />
AUSGABE : Reduzierte Basis b 1 , b 2<br />
Korrektheit. Nach Schritt 1. gilt ‖|b 2 ‖| ≤ ‖b 1 ± b 2 ‖, nach Schritt 2. gilt ‖b 2 ‖ ≤ ‖b 1 − b 2 ‖ ≤<br />
‖b 1 + b 2 ‖ <strong>und</strong> nach Schritt 3. gilt ‖b 1 ‖ ≤ ‖b 1 − b 2 ‖ ≤ ‖b 1 + b 2 ‖. Falls nach Schritt 3. ‖b 2 ‖ ≤<br />
‖b 1 − b 2 ‖ gilt, dann gilt auch ‖b 1 ‖, ‖b 2 ‖ ≤ ‖b 1 ± b 2 ‖.<br />
Die R<strong>und</strong>enzahl für dieses Verfahren ist beschränkt durch log 1+<br />
√<br />
2<br />
(‖b 1 ‖/λ 2,‖ ‖ ) + O(1). Dabei<br />
ist λ 2,‖ ‖ das zweite sukzessive Minimum zur Norm ‖ ‖. Eine ausführliche Analyse findet sich<br />
in [KS96] sowie in [Ka94]. Dort werden effiziente Algorithmen für den Schritt 1. in der l 1 - <strong>und</strong><br />
sup-Norm vorgestellt.
30 KAPITEL 3. GAUSS-REDUKTION
Kapitel 4<br />
LLL-reduzierte <strong>Gitter</strong>basen<br />
LLL-reduzierte <strong>Gitter</strong>basen b 1 , . . . , b n ∈ R m beliebigen Ranges n wurde 1982 von A.K. Lenstra,<br />
H.W. Lenstra <strong>und</strong> L. Lovász [LLL82] eingeführt. Der LLL-Algorithmus ist das erste Reduktionsverfahren<br />
für ganzzahlige <strong>Gitter</strong>basen mit einer polynomiellen Laufzeit <strong>und</strong> Approximationsfaktor<br />
‖b i ‖ 2 /λ 2 i ≤ 2n . Es iteriert die Gauß-Reduktion in Dimension n = 2.<br />
4.1 Definition <strong>und</strong> Eigenschaften<br />
Wir führen den Begriff der LLL-reduzierten Basis ein <strong>und</strong> zeigen, dass die Längen der Basisvektoren<br />
die sukzessiven Minima des <strong>Gitter</strong>s grob approximieren. Sei [b 1 , ..., b n ] = B = QR ∈ R m×n<br />
<strong>Gitter</strong>basis mit R = [r i,j ] ∈ R n×n .<br />
Definition 4.1.1 (LLL-reduzierte Basis)<br />
Eine <strong>Gitter</strong>basis B = QR ∈ R m×n heißt LLL-reduziert (oder LLL-Basis) mit δ, 1 4<br />
< δ ≤ 1, wenn<br />
1. |r j,i | ≤ 1 2 r j,j für 1 ≤ j < i ≤ n,<br />
2. δ r 2 k−1,k−1 ≤ r2 k−1,k + r2 k,k<br />
für k = 2, . . . , n.<br />
Basen mit 1. sind längenreduziert. Der Parameter δ kontrolliert die Güte der reduzierten Basis:<br />
je kleiner δ um so schwächer ist die Reduktion. A.K. Lenstra, H.W. Lenstra <strong>und</strong> L. Lovász<br />
[LLL82] studieren die LLL-Reduktion speziell für den Parameter δ = 3 4<br />
. Für δ < 1 hat das<br />
LLL-Reduktionsverfahren polynomielle Laufzeit. Die Eigenschaft ’LLL-Basis’ zu sein bleibt bei<br />
Isometrie erhalten : B = QR ist LLL-Basis gdw R LLL-Basis ist.<br />
Die LLL-Basen mit δ [ = 1 <strong>und</strong> n = 2 sind ] genau die Gauß-reduzierten Basen. B ist LLL-Basis<br />
rk−1,k−1 r<br />
mit δ gdw die Matrizen<br />
k−1,k<br />
∈ R<br />
0 r 2×2 für k = 2, ..., n LLL-Basen mit δ sind.<br />
k,,k<br />
Lemma 4.1.2<br />
Für jede LLL-Basis B = QR ∈ R m×n mit δ <strong>und</strong> α = (δ − 1 4 )−1 gilt<br />
r 2 i,i ≤ α j−i r 2 j,j für 1 ≤ i ≤ j ≤ n.<br />
31
32 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN<br />
Für δ = 3 4 , α = 2, i = 1 gilt ‖b 1‖ 2 = r1,1 2 ≤ 2 j−1 rj,j 2 , so dass die ‖̂b j ‖ 2 = rj,j 2 für große j nicht<br />
beliebig klein werden.<br />
Beweis. Die Eigenschaften einer LLL-Basis implizieren<br />
δ rk−1,k−1 2 ≤ rk−1,k 2 + rk,k 2 ≤ 1 4 r2 k−1,k−1 + rk,k<br />
2<br />
<strong>und</strong> somit<br />
(<br />
δ −<br />
1<br />
4)<br />
r<br />
2<br />
k−1,k−1<br />
≤ r 2 k,k . Durch Induktion über j − i folgt r2 i,i ≤ αj−i r 2 j,j . □<br />
Lemma 4.1.3<br />
Für jede Basis b 1 , . . . , b n des <strong>Gitter</strong>s L gilt λ j (L) ≥ min{r j,j , . . . , r n,n } für j = 1, ..., n.<br />
Beweis. Es seien a 1 , . . . , a n ∈ L linear unabhängig , so dass ‖a j ‖ = λ j (L) für j = 1, . . . , n. Sei<br />
a k = ∑ n<br />
i=1 t i,kb i = ∑ n<br />
i=1 t i,k̂b i für k = 1, . . . , n.<br />
Dabei sind die Koeffizienten t i,k ganzzahlig <strong>und</strong> die t i,k reell. Sei µ(k) := max {i : t i,k ≠ 0}.<br />
Wegen b i = ∑ i<br />
j=1 µ i,j ̂b j <strong>und</strong> µ i,i = 1, ist t µ(k),k = t µ(k),k ganzzahlig. Wegen der linearen<br />
Unabhängigkeit der Vektoren a 1 , . . . , a j gibt es zu jedem j ein k ≤ j mit µ(k) ≥ j. Denn aus der<br />
Annahme µ(k) < j für k = 1, . . . , j folgt a 1 , . . . , a j ∈ span(b 1 , . . . , b j−1 ), so dass a 1 , . . . , a j linear<br />
abhängig sind — Widerspruch. Aus k ≤ j, µ(k) ≥ j folgt<br />
λ 2 j ≥ λ 2 k = ‖a‖2 ≥ t 2 µ(k),k r 2 µ(k),µ(k) ≥ r2 µ(k),µ(k) ≥ min{r j,j, ..., r n,n } □<br />
Die untere Schranke zu λ j in Lemma 4.1.3 gilt für beliebige Basen. Für LLL-reduzierten Basen ist<br />
‖b j ‖ grobe Approximation zu λ j , es gilt nämlich<br />
Satz 4.1.4 (Lenstra, Lenstra, Lovász 1982)<br />
Jede LLL-Basis b 1 , ..., b n mit δ des <strong>Gitter</strong>s L erfüllt mit α = (δ − 1 4 )−1<br />
1. α 1−j ≤ r 2 j,j/λ j (L) 2 für j = 1, . . . , n,<br />
2. ‖b j ‖ 2 /λ j (L) 2 ≤ α n−1 für j = 1, . . . , n,<br />
3. ‖b k ‖ 2 ≤ α j−1 r 2 j,j für k ≤ j.<br />
Beweis. Wir zeigen 1. <strong>und</strong> 3. : Offenbar gibt es ein k ≤ j so dass λ j ≤ ‖b k ‖. Es folgt<br />
λ 2 j ≤ ‖b k ‖ 2 ≤ r 2 k,k + 1 4<br />
≤ r 2 j,j (αj−k + 1 4<br />
= r 2 j,j αj−1 (α 1−k + 1 4<br />
∑ k−1<br />
i=1 r2 i,i<br />
∑ k−1<br />
i=1 αj−i ) (nach Lemma 4.1.2)<br />
∑ k−1<br />
i=1 α1−i ).<br />
Damit gilt 3. für alle k ≤ j mit λ j ≤ ‖b k ‖ <strong>und</strong> somit auch für die k ′ ≤ j mit ‖b ′ k ‖ ≤ λ j wegen<br />
‖b k ′‖ 2 ≤ ‖b k ‖ 2 ≤ r 2 j,j αj−1 . Es bleibt noch zu zeigen, dass<br />
α 1−k + 1 4<br />
∑ k−1<br />
i=1 α1−i ≤ 1.<br />
Für k = 1 gilt die Ungleichung offenbar. Für k ≥ 2 gilt mit α −1 = δ − 1 4 ≤ 3 4 dass<br />
α 1−k + 1 4<br />
∑ k−1<br />
i=1 α1−i<br />
} {{ }<br />
geom. Reihe<br />
≤ ( 3<br />
4<br />
) k−1<br />
+<br />
1 1−( 3 4) k−1<br />
4<br />
= 1 1− 3 4<br />
4<br />
1<br />
1− 3 4<br />
= 1.
4.2. DAS LLL-REDUKTIONSVERFAHREN 33<br />
Damit sind 1. <strong>und</strong> 2. gezeigt. Nach Lemma 4.1.3 gibt es ein k ≥ j, so dass λ j ≥ r k,k . Es folgt<br />
λ 2 j ≥ r 2 k,k ≥ α −k+j r 2 j,j (wegen Lemma 4.1.2)<br />
≥ α −k+1 ‖b j ‖ 2 (wegen 3. Aussage des Satzes mit k = j)<br />
≥ α −n+1 ‖b j ‖ 2 (wegen k ≤ n <strong>und</strong> α ≥ 1 □<br />
Korollar 4.1.5<br />
Jede LLL-Basis b 1 , . . . , b n mit δ erfüllt<br />
1. ‖b 1 ‖ 2 ≤ α n−1<br />
2 (det L) 2 n , 2.<br />
∏ n<br />
i=1 ‖b i‖ 2 ≤ α (n 2) (det L) 2 .<br />
Beweis. Aus ∏ n<br />
i=1 r2 i,i = (det L)2 <strong>und</strong> ‖b 1 ‖ 2 ≤ ri,i 2 αi−1 ( Lemma 4.1.2 ) folgt<br />
<strong>und</strong> somit<br />
‖b 1 ‖ 2n ≤ α 1 α 2 · · · α n−1<br />
n ∏<br />
i=1<br />
‖b 1 ‖ 2 ≤ α n−1<br />
2 (det L) 2 n .<br />
r 2 i,i = α (n 2) (det L)<br />
2<br />
Die zweite Aussage folgt aus ∏ n<br />
i=1 r2 i,i = (det L)2 <strong>und</strong> ‖b i ‖ 2 ≤ ri,i 2 αi−1 , der dritten Aussage<br />
von Satz 4.1.4 für k = j = i.<br />
□<br />
4.2 Das LLL-Reduktionsverfahren<br />
Wir beschreiben ein Verfahren zur LLL-Reduktion von ganzzahligen <strong>Gitter</strong>basen mit polynomieller<br />
Laufzeit. Es handelt sich bis auf kleine Verbesserungen um das Verfahren von A.K. Lenstra,<br />
H.W. Lenstra <strong>und</strong> L. Lovász [LLL82]. Wir zählen die Anzahl der arithmetischen Schritte auf<br />
ganzen Zahlen <strong>und</strong> beschränken den Absolutwert der im Verfahren auftretenden ganzen Zahlen.<br />
4.2.1 LLL-Verfahren<br />
Algorithmus 4.2.1 transformiert eine ganzzahlige <strong>Gitter</strong>basis in eine LLL-Basis mit δ desselben <strong>Gitter</strong>s.<br />
Der Algorithmus reduziert sukzessive einen möglichst großen Anfangsabschnitt b 1 , ..., b k−1<br />
der Basis. Bei Eintritt in Stufe k ist die Teilbasis b 1 , . . . , b k−1 stets LLL-Basis mit δ. Am Ende<br />
ist k = n + 1 <strong>und</strong> die gesamte Basis b 1 , ..., b n ist LLL-Basis.<br />
Das Verfahren operiert auf Stufe k mit den rationalen Zahlen µ i,j , ri,i 2 für 1 ≤ i, j ≤ k <strong>und</strong> den<br />
ganzzahligen Vektoren b 1 , ..., b k , siehe Lemma 4.2.2. Die Längenreduktion von b k sichert, dass<br />
die im Verfahren auftretenden ganzen Zahlen polynomielle Bitlänge zur Länge der Eingabe haben.<br />
Dies gilt insbesondere für Zähler <strong>und</strong> Nenner der rationalen Zahlen µ k,j , rk,k 2 , siehe Satz 4.2.6. Es<br />
bezeichne<br />
M := max( ‖b 1 ‖ 2 , ..., ‖b n ‖ 2 ),<br />
D i := det L(b 1 , ..., b i ) 2 = det [〈b s , b t 〉] 1≤s,t≤i<br />
= ∏ i<br />
j=1 r2 j,j ∈ N,<br />
(4.1)<br />
D := ∏ n−1<br />
i=1 D i, M := max i=1,...,n ( ‖b i ‖ 2 , D i ).<br />
Die Gram-Determinante D i ist die Determinante der Gram-Matrix der Teilbasis b 1 , ..., b i . Die<br />
Größen M, M beziehen sich im Folgenden immer auf die Eingabebasis, während D i <strong>und</strong> D sich<br />
bei Basistransformationen ändern. D Start ist der Wert von D zur Eingabe.<br />
Korrektheit. Auf Stufe k ist die Teilbasis b 1 , ..., b k−1 stets LLL-Basist. Dies folgt durch Induktion<br />
über die Abfolge der Iterationen. Eine Iteration ist die Abfolge der Schritte der WHILE-Schleife<br />
bis zur Aktualisierung von k.
34 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN<br />
Algorithmus 4.2.1 zur LLL-Reduktion in Z-Arithmetik<br />
EINGABE : Basis B = [b 1 , . . . , b n ] ∈ Z m , δ mit 1 4 < δ < 1<br />
1. k := 2, r 2 1,1 := ‖b 1 ‖ 2 /∗ k ist die Stufe ∗/<br />
2. WHILE k ≤ n DO /∗ b 1, . . . , b k−1 ist stets LLL-reduziert ∗/<br />
berechne µ k,j = r j,k /r j,j für j = 1, . . . , k <strong>und</strong> rk,k 2 gemäß Lemma 4.2.2<br />
Längenreduziere b k , aktualisiere µ k,1 , . . . , µ k,k−1<br />
IF δ r 2 k−1,k−1 > r2 k−1,k + r2 k,k<br />
THEN vertausche b k−1 <strong>und</strong> b k /∗ kurz b k−1 ↔ b k ∗/<br />
IF k = 2 THEN aktualisiere r 2 1,1 = ‖b 1 ‖ 2<br />
k := max(k − 1, 2)<br />
ELSE k := k + 1<br />
end while<br />
AUSGABE : LLL-Basis B = [b 1 , ..., b n ].<br />
Lemma 4.2.1<br />
Die LLL-Reduktion führt zu gegebener ganzzahligen Basis b 1 , ..., b n ∈ Z m höchstens<br />
log 1/δ<br />
(<br />
D<br />
Start ) ≤ n log 1/δ M Austausche b k−1 ↔ b k durch.<br />
Beweis. Die Gram-Determinante D i ist ganzzahlig <strong>und</strong> positiv. Wir zeigen, dass jeder Austausch<br />
b k−1 ↔ b k D um den Faktor δ erniedrigt, D neu ≤ δ D alt . Wegen D Ende ∈ N folgt dann<br />
(4.2)<br />
D Start ≥ D Ende (1/δ) #Austausche ≥ (1/δ) #Austausche .<br />
Die <strong>Gitter</strong> L(b 1 , . . . , b i ) mit i ≠ k − 1 werden beim Austausch b k−1 ↔ b k nicht verändert. Die<br />
Determinanten D i mit i ≠ k − 1 bleiben erhalten. Im LLL-Verfahren wird nur ausgetauscht wenn<br />
δ r 2 k−1,k−1<br />
> r 2 k−1,k + r 2 k,k.<br />
Wegen D k−1 = ∏ k−1<br />
i=1 r2 i,i bewirkt der Austausch b k−1 ↔ b k , dass<br />
D neu<br />
k−1 ≤ δ D alt<br />
k−1<strong>und</strong> D neu ≤ δ D alt .<br />
(<br />
Nach (4.2) ist die Anzahl der Austausche höchstens log ) 1/δ D<br />
Start<br />
. Wegen Di<br />
Start ≤ D i ≤ M<br />
folgt D Start = ∏ n−1<br />
i=1 D i ≤ M n−1 <strong>und</strong> somit #Austausche ≤ (n − 1) log 1/δ M. □<br />
Wieviele arithmetische Schritte führt das LLL-Verfahren pro Austausch durch ? Wieviele<br />
Schritte kostet die Berechnung von µ k,1 , ..., µ k,k <strong>und</strong> rk,k 2 auf Stufe k ?<br />
Lemma 4.2.2<br />
Die Berechnung von µ k,1 , ..., µ k,k <strong>und</strong> r 2 k,k , sowie die Längenreduktion von b k auf Stufe k gehen<br />
in O(k m) arithmetischen Schritten.<br />
Beweis. Die µ k,j = r j,k /r j,j für j = 1, ..., k <strong>und</strong> rk,k 2 werden durch folgende O (k m) Schritte<br />
berechnet<br />
FOR j = 1, . . . , k − 1 DO µ k,j := (〈b k , b j 〉 − ∑ j−1<br />
i=1 µ k,i µ j,i r 2 i,i )/r2 j,j ,<br />
µ k,k := 1, r 2 k,k := 〈b k, b k 〉 − ∑ k−1<br />
j=1 µ2 k,j r2 j,j .
4.2. DAS LLL-REDUKTIONSVERFAHREN 35<br />
Die Längenreduktion von b k geht mit folgenden O(k m) Schritten<br />
FOR j = k − 1, ..., 1 DO b k := b k − ⌈µ k,j ⌋b j , µ k,i := µ k,i − ⌈µ k,j ⌋µ j,i für i = 1, ..., k. □<br />
Aufgr<strong>und</strong> von Lemma 4.2.1 <strong>und</strong> 4.2.2 führt das LLL-Verfahren höchstens O(n 2 m log 1/δ M)<br />
arithmetischen Schritte aus, siehe Satz 4.2.6. Wie groß werden aber die während des LLL-Verfahrens<br />
auftretenden ganzen Zahlen ? Wir schätzen in den nächsten drei Lemmata die Absolutwerte der<br />
Zähler <strong>und</strong> Nenner der rationalen Zahlen µ j,i , ri,i 2 während der LLL-Reduktion ab.<br />
Lemma 4.2.3<br />
Für jede ganzzahlige Eingabebasis b 1 , ..., b n ∈ Z m gilt 1. D i−1 ̂bi ∈ Z m , 2. D j µ i,j ∈ Z.<br />
Beweis.<br />
1. Aus [b 1 , ..., b n ] = [̂b 1 , . . . , ̂b n ] 1≤i,j≤n [µ i,j ] T 1≤i,j≤n folgt für [ν i,j] := [µ i,j ] −1 : dass<br />
[̂b 1 , . . . , ̂b n ] = [b 1 , ..., b n ] [ν i,j ] T 1≤k,j≤n.<br />
Dabei sind [ν i,j ] ⊤ , [µ i,j ] ⊤ ∈ Q n×n obere Dreiecksmatrizen mit Einsen auf der Diagonalen.<br />
Wegen 〈̂b i , b j 〉 = 0 für j = 1, 2, . . . , i − 1 folgt aus ̂b i = b i + ∑ i−1<br />
t=1 ν i,tb t <strong>und</strong> ν i,i = 1 dass<br />
∑i−1<br />
− 〈b i , b j 〉 = ν i,t 〈b t , b j 〉 für j = 1, 2, . . . , i − 1.<br />
t=1<br />
Diese i − 1 Gleichungen definieren ν i,1 , ν i,2 , . . . , ν i,i−1 . Die Determinante des Gleichungssystems<br />
ist D i−1 = det [〈b j , b k 〉] 1≤j,k≤i−1 ≠ 0. Nach der Cramer’schen Regel gilt<br />
D i−1 ν i,j ∈ Z für j = 1, . . . , i − 1.<br />
Aus ̂b i = b i + ∑ i−1<br />
j=1 ν i,jb j folgt D i−1 ̂bi ∈ Z m .<br />
2. Wegen D j = ∏ j<br />
i=1 r2 i,i gilt<br />
D j µ i,j = D j<br />
〈b i , ̂b j 〉<br />
r 2 j,j<br />
= D j−1 〈b i , ̂b j 〉 = 〈b i , D j−1 ̂bj 〉.<br />
Aus D j−1 ̂bj ∈ Z m folgt somit D j µ i,j ∈ Z.<br />
<br />
Lemma 4.2.4<br />
Auf Stufe k des LLL-Verfahrens gilt stets<br />
1. ‖b i ‖ 2 ≤ i+3<br />
4<br />
M für i = 1, . . . , k,<br />
2. |µ i,j | 2 ≤ i+3<br />
4 M αj−1 für 1 ≤ j < i < k.<br />
Beweis.<br />
1. Im LLL-Verfahren bleiben bis auf die Längenreduktion von b k auf Stufe k die Längen der<br />
Basisvektoren unverändert. Nach der Längenreduktion von b k gilt<br />
‖b k ‖ 2 = ∑ k<br />
j=1 µ2 k,j r2 j,j ≤ r 2 k,k + k−1<br />
4<br />
max( r 2 1,1, ..., r 2 k−1,k−1 ) ≤ k+3<br />
4<br />
M.<br />
Denn im LLL-Verfahren gilt stets max i ri,i 2 ≤ M := max( ‖b 1‖ 2 , ..., ‖b n ‖ 2 ). Für jeden<br />
Austausch b k−1 ↔ b k gilt nämlich (rk−1,k−1 neu )2 ≤ δ (rk−1,k−1 alt )2 , (rk,k neu)2<br />
≤ (rk−1,k−1 alt )2 .
36 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN<br />
2. Nach Definition der Gram-Schmidt-Koeffizienten <strong>und</strong> der Cauchy-Schwarz-Ungleichung gilt<br />
|µ i,j | 2 = |〈b i, ̂b j 〉 2 |<br />
r 4 j,j<br />
≤ ‖b i‖ 2 ‖̂b j ‖ 2<br />
r 4 j,j<br />
= ‖b i‖ 2<br />
rj,j<br />
2 .<br />
Weil b 1 , ..., b k−1 LLL-reduziert ist, gilt<br />
|µ i,j | 2 ≤ i+3<br />
4 M r−2 j,j (wegen ‖b i ‖ 2 ≤ i+3<br />
4 M)<br />
≤ i+3<br />
4 M αj−1 r1,1 −2<br />
(nach Lemma 4.1.2)<br />
≤ i+3<br />
4 M αj−1 (weil ‖b 1 ‖ 2 = r 2 1,1 ∈ Z). □<br />
Lemma 4.2.5<br />
Während der Längenreduktion von b k auf Stufe k gilt |µ k,j | 2 ≤ k+3<br />
4<br />
M ( )<br />
9α k−1<br />
4 für j < k.<br />
Beweis. Der Reduktionsschritt<br />
b k := b k − ⌈µ k,i ⌋ b i<br />
für i < k<br />
der Längenreduktion wird begleitet von<br />
(4.3)<br />
µ k,j := µ k,j − ⌈µ k,i ⌋ µ i,j<br />
}{{}<br />
|µ i,j|≤1/2<br />
für j = 1, 2, ..., k − 1.<br />
Jeder dieser k − 1 Schritte verändert M k := max j
4.3. LLL-REDUKTION GANZZAHLIGER ERZEUGENDENSYSTEME 37<br />
Jede Iteration erfordert O(km) = O(nm) arithmetische Schritte. Damit ist die Schrittzahl höchstens<br />
O(n 3 m log 1/δ M).<br />
Nach Lemma 4.2.3, 4.2.4 <strong>und</strong> 4.2.5 sind die auftretenden Zahlen wie folgt beschränkt<br />
|µ k,j | 2 ≤ k+3<br />
4<br />
M ( )<br />
9α k−1<br />
4 , ‖bk ‖ 2 ≤ k k+3<br />
4<br />
M ( )<br />
9α k−1,<br />
4<br />
<strong>und</strong> für i < k:<br />
|µ i,j | 2 ≤ i+3<br />
4 M αj−1 , ‖b i ‖ 2 ≤ i+3<br />
4 M.<br />
Der Nenner von µ i,j ist absolut beschränkt durch D j−1 ≤ M. Damit ist der Zähler von µ i,j<br />
absolut beschränkt durch<br />
√<br />
n+3<br />
4<br />
M 1 2<br />
( 9α<br />
4<br />
) n−1<br />
2<br />
M.<br />
Zähler <strong>und</strong> Nenner von rj,j 2 = Dj<br />
D j−1<br />
sind durch M beschränkt. Damit sind alle im Verfahren<br />
auftretenden, ganzen Zahlen absolut beschränkt durch<br />
n M 1 2<br />
( 9α<br />
4<br />
) n−1<br />
2<br />
M<br />
<strong>und</strong> haben somit eine Bitlänge O(n + log 2 M) mit einer O-Konstante nahe 1,5 für δ ≈ 1.<br />
□<br />
Nach dem Austausch b k−1 ↔ b k kann man die Gram-Schmidt-Koeffizienten µ k−1,1 , ..., µ k−1,k−2 ,<br />
sowie rk−1,k−1 2 schnell aktualisieren. Dies erfordert nur O(1) Rechenschritte <strong>und</strong> O(k) Datentransporte<br />
während die Neuberechnung nach Lemma 4.2.2 O(k m) Rechenschritte erfordert.<br />
Lemma 4.2.7<br />
Der Austausch b k−1 ↔ b k bewirkt mit µ := µ k,k−1 dass<br />
1. µ neu = µ r2 k−1,k−1<br />
(r neu<br />
k−1,k−1 )2<br />
mit (r neu<br />
k−1,k−1 )2 = µ 2 r 2 k−1,k−1 + r2 k,k ,<br />
2. [µ neu<br />
k,i , µneu k−1,i ] = [µ k−1,i , µ k,i ] für i = 1, . . . , k − 2.<br />
Beweis. 1. Es gilt µ neu = 〈bneu neu<br />
k ,̂b k−1 〉<br />
= 〈π k−1(b neu<br />
k−1 ),π k−1(b neu<br />
k )〉<br />
.<br />
‖̂b neu<br />
k−1 ‖2<br />
‖̂b neu<br />
k−1 ‖2<br />
Weil 〈π k−1 (b k−1 ), π k−1 (b k )〉 bei der Vertauschung b k−1 ↔ b k erhalten bleibt, folgt dass µ neu =<br />
µ rk−1,k−1 2 /(rneu k−1,k−1 )2 . 2. ist offensichtlich.<br />
□<br />
4.3 LLL-Reduktion ganzzahliger Erzeugendensysteme<br />
Wir erweitern die LLL-Reduktion auf ganzzahlige Erzeugendensysteme b 1 , ..., b n ∈ Z m \ 0. Es<br />
genügt, die im LLL-Verfahren entstehenden Nullvektoren zu eliminieren. Der Nullvektor kann nur<br />
durch Längenreduktion von b k auf Stufe k entstehen.<br />
Korrektheit. Algorithmus 4.3.1 operiert auf Stufe k mit den rationalen Zahlen µ i,j , ri,i 2 für i, j ≤ k<br />
<strong>und</strong> den ganzzahligen Basisvektoren. Das Verfahren ist korrekt, weil die Vektoren b 1 , . . . , b k−1 auf<br />
Stufe k stets linear unabhängig <strong>und</strong> somit LLL-reduziert sind. Sind nämlich nach der Längereduktion<br />
von b k die Vektoren b 1 , . . . , b k erstmals linear abhängig, so gilt b k ∈ L(b 1 , . . . , b k−1 ). Die<br />
Längenreduktion von b k erzeugt den Nullvektor. Dieser wird sofort entfernt.
38 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN<br />
Algorithmus 4.3.1 LLL-Reduktion von ganzzahligen Erzeugendensystemen<br />
EINGABE : Erzeugendensystem b 1 , ..., b n ∈ Z m \ {0}, δ mit 1 4 < δ < 1<br />
/∗ L := ∑ n<br />
i=1<br />
biZ ist ein <strong>Gitter</strong> ∗/<br />
1. k := 2, r 2 1,1 := ‖b 1 ‖ 2 /∗ k ist die Stufe ∗/<br />
2. WHILE k ≤ n DO<br />
/∗ b 1, . . . , b k−1 ist LLL-reduziert ∗/<br />
berechne µ k,j für j = 1, . . . , k <strong>und</strong> rk,k 2 gemäß Lemma 4.2.2<br />
Längenreduziere b k , aktualisiere µ k,1 , . . . , µ k,k−1<br />
IF b k = 0 THEN entferne b k aus dem Erzeugendensystem, n := n − 1 RETURN<br />
IF δ r 2 k−1,k−1 > r2 k−1,k + r2 k,k<br />
THEN vertausche b k−1 <strong>und</strong> b k /∗ kurz b k−1 ↔ b k ∗/<br />
IF k = 2 THEN aktualisiere r 2 1,1<br />
k := max(k − 1, 2)<br />
ELSE k := k + 1<br />
end while<br />
AUSGABE : LLL-Basis b 1 , ..., b n des <strong>Gitter</strong>s L.<br />
Laufzeitanalyse. Zu den Teilgittern L(b 1 , . . . , b i ) = ∑ i<br />
j=1 b jZ <strong>und</strong> den Gram-Determinanten<br />
D i = (det L(b 1 , . . . , b i )) 2 setzt man wieder<br />
Dann gilt<br />
M := max ‖b i ‖,<br />
i<br />
D := ∏ n−1<br />
i=1 D i ,<br />
M := max(‖b i ‖ 2 , D i ) .<br />
i<br />
#Austausche ≤ log 1/δ D Start ≤ (n − 1) log 1/δ M<br />
#Iterationen ≤ n − 1 + 2 #Austausche ≤ n + 2n log 1/δ M<br />
#arithm. Schritte = O(n 2 m log 1/δ M).<br />
Damit überträgt sich der Beweis von Satz 4.2.6. Insbesondere gelten die Zahlen-Schranken von<br />
Lemma 4.2.3 4.2.4 <strong>und</strong> 4.2.5 auch für die Werte im Verlauf von Algorithmus 4.3.1. Somit gilt der<br />
Satz 4.3.1<br />
Zu gegebenen ganzzahligen Vektoren b 1 , ..., b n ∈ Z m \ 0 liefert Algorithmus 4.3.1 eine LLLreduzierte<br />
Basis des von b 1 , ..., b n erzeugten <strong>Gitter</strong>s. Mit M := max i (‖b‖ 2 , D i ) macht das LLL-<br />
Verfahren höchstens O(n 2 m log 1/δ M) arithmetische Schritte auf den Koordinaten der b i <strong>und</strong> den<br />
rationalen Zahlen µ i,j , ri,i 2 . Die Bitlänge der auftretenden ganzen Zahlen, insbesondere der Zähler<br />
<strong>und</strong> Nenner von µ i,j , ri,i 2 ist höchstens O(n + log 2 M).<br />
4.4 LLL-Reduktion mit Gleitkomma-Arithmetik<br />
Für eine schnelle LLL-Reduktion muß man die Rechnung überwiegend in Gleitkomma-Arithmetik<br />
durchführen. Ein Schritt in Gleitkomma-Arithmetik geht in einem Maschinenzyklus, die Arithmetik<br />
auf langen ganzen Zahlen erfordert dagegen spezielle Software <strong>und</strong> ist recht langsam. Die<br />
Rechnung auf den Basisvektoren b 1 , . . . , b n wird in exakter Arithmetik durchgeführt. Für die<br />
Rechnung auf den rationalen Zahlen µ i,j , ri,i 2 für i, j ≤ k genügen dagegen gute Näherungen in<br />
Gleitkomma-Arithmetik.
4.4. LLL-REDUKTION MIT GLEITKOMMA-ARITHMETIK 39<br />
Definition 4.4.1 (Relativer Fehler)<br />
Eine Näherung f ′ zu f ∈ R hat relativen Fehler ε > 0, wenn |f − f ′ | ≤ ε min(|f|, |f ′ |). 1<br />
Wir betrachten die LLL-Reduktion nach Algorithmus 4.2.1 für den Fall, dass alle rationalen<br />
Zahlen µ i,j , rj,j 2 mit relativem Fehler ε berechnet werden. Dann führt die Längenreduktion des<br />
Vektors b k nur zu |µ k,j | ≤ 1 2 + ε anstelle von |µ k,j| ≤ 1 2<br />
für j = 1, . . . , k − 1. Wir vernachlässigen<br />
diese geringfügige Abschwächung der Längenreduktion.<br />
Satz 4.4.2<br />
Haben bei der LLL-Reduktion mit δ die rationalen Zahlen ‖π k−1 (b k−1 )‖ 2 , ‖π k−1 (b k )‖ 2 bei der<br />
Entscheidung über den Austausch b k−1 ↔ b k stets relativen Fehler ≤ ε, dann ist die Ausgabebasis<br />
LLL-reduziert mit δ − := δ(1 − ε)/(1 + ε). Die Anzahl der Austausche b k−1 ↔ b k ist höchstens<br />
n log 1/δ+ M mit δ + := δ(1 + ε)/(1 − ε), sofern δ + < 1.<br />
Beweis. Angenommen, bei der LLL-Reduktion mit δ − <strong>und</strong> exakter Rechnung erfolgt ein Austausch<br />
b k−1 ↔ b k . Dann gilt δ − ‖π k−1 (b k−1 )‖ 2 > ‖π k−1 (b k )‖ 2 . Für die Näherungen mit relativem<br />
Fehler ≤ ε folgt — es bezeichnet stets f ′ eine Näherung zu f:<br />
δ − (1 + ε)‖π k−1 b‖ ′2 > ‖π k−1 (b k )‖ ′2 (1 − ε).<br />
Somit erfolgt der Austausch b k−1 ↔ b k auch mit δ = δ − (1 + ε)/(1 − ε) <strong>und</strong> Näherungen. Weil<br />
alle Austausche b k−1 ↔ b k der LLL-Reduktion mit δ − <strong>und</strong> exakter Rechnung korrekt ausgeführt<br />
werden, ist die Ausgabebasis LLL-reduziert mit δ −<br />
Wir zeigen, dass die LLL-Reduktion mit Näherungen abbricht sofern δ + := δ(1+ε)/(1−ε) < 1.<br />
Es folgt nämlich ein Austausch b k−1 ↔ b k mit δ <strong>und</strong> Näherungen, dann gilt<br />
δ‖π k−1 (b k−1 )‖ ′2 > ‖π k−1 (b k )‖ ′2<br />
<strong>und</strong> somit δ(1+ε)‖π k−1 (b k−1 )‖ 2 > ‖π k−1 (b k )‖ 2 (1−ε). Dann wird D k−1 beim Austausch b k−1 ↔<br />
b k um den Faktor δ + = δ(1 + ε)/(1 − ε) erniedrigt, sofern δ + < 1. Damit ist die Anzahl der Austausche<br />
höchstens n log 1/δ+ (M).<br />
□<br />
Wegen Satz 4.4.2 gilt es bei der LLL-Reduktion mit Gleitkomma-Zahlen µ i,j , r j,j den relativen<br />
Fehler zu begrenzen. Wichtigste Punkte dabei sind<br />
1. War vor der Längenreduktion von b k auf Stufe k |µ k,j | ≈ 2 m , dann gehen bei der Reduktion<br />
auf |µ k,j | ≤ 1 2 die m + 1 führenden Bits der Gleitkomma-Zahl µ′ k,j<br />
verloren. Man kann den<br />
relativen Fehler von µ ′ k,j wieder klein machen durch Neuberechnung von µ k,j gemäß Lemma<br />
4.2.2.<br />
2. Bei der Neuberechnung von µ k,j gemäß Lemma 4.2.2 rechnet man 〈b ′ k , b′ j 〉 in Gleitkomma.<br />
Im Falle dass |b k , b j 〉| ≈ 2 −m ‖b k ‖‖b j ‖, gehen dabei m Präzisionsbits verloren. Ist m zu<br />
groß, rechnet man besser 〈b k , b j 〉 exakt.<br />
Mit diesen Maßnahmen haben Schnorr, Euchner [SE94] ein LLL-Verfahren implementiert. Dieser<br />
Algorithmus ist stabil, etwa bis zur Dimension 350.<br />
Auf Stufe k sind die µ i,j mit i, j > k im allgemeinen sehr groß. Statt der Schranke von<br />
Lemma 4.2.4 gilt nur |µ i,j | 2 ≤ i+3<br />
4 D j−1. Unsere Variante des LLL-Verfahrens vermeidet die Gram-<br />
Schmidt-Koeffizienten µ i,j mit i, j > k <strong>und</strong> rechnet auf Stufe k nur mit den Größen µ i,j , rj,j<br />
2 mit<br />
1 ≤ j ≤ i ≤ k nach den Formeln von Lemma 4.2.2. Diese sind geeignet für das Rechnen mit<br />
1 Wir definieren den relativen Fehler ε von f ′ zu f symmetrisch in f <strong>und</strong> f ′ , üblich ist es nur |f − f ′ | ≤ ε|f| zu<br />
fordern.
40 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN<br />
Gleitkommazahlen µ i,j , r 2 j,j . Weil die Basis b 1, . . . , b k−1 stets LLL-reduziert ist, gilt nach Lemma<br />
4.1.2<br />
r 2 j,j ≥ ‖b 1 ‖ 2 α 1−j für j = 1, . . . , k − 1.<br />
Die Divisoren r 2 j,j bei der Berechnung von µ k,j gemäß Lemma 4.2.2 sind daher nicht beliebig klein.<br />
Dies ist wichtig für die Begrenzung von Gleitkommafehlern.<br />
4.5 LLL-Reduktion mit ganzzahliger Gram-Matrix<br />
Für die LLL-Reduktion einer Basismatrix B ∈ R m×n in ganzzahliger Arithmetik ist es nicht<br />
erforderlich, daß B ganzzahlig ist. Es genügt, die Ganzzahligkeit der Gram-Matrix B ⊤ B. Ist<br />
B ⊤ B ∈ Z n×n gegeben, so kann man mit den Einträgen von B ⊤ B rechnen. Genauer gesagt,<br />
genügen die ( )<br />
n+1<br />
2 Einträge 〈bi , b j 〉 für 1 ≤ i ≤ j ≤ n. Gegebenenfalls führt man auch die Transformationsmatrix<br />
T ∈ Z n×n mit, welche die Startbasis B Start in die aktuelle Basis B überführt,<br />
B = B Start T .<br />
Aktualisierung von B ⊤ B. Beim Schritt b k := b k − µb j der Längenreduktion von b k auf Stufe<br />
k wird B ⊤ B wie folgt aktualisiert:<br />
〈b k , b i 〉 := 〈b k , b i 〉 − µ〈b j , b i 〉 für i = 1, . . . , n, i ≠ k<br />
〈b k , b k 〉 := 〈b k , b k 〉 − 2µ〈b k , b j 〉 + µ 2 〈b j , b j 〉<br />
Die Aktualisierung von B ⊤ B bei der Längenreduktion von b k geht in O(kn) arithmetischen Schritten.<br />
Aktualisierung von T. Die Aktualisierung von T = [t i,j ] 1≤i,j∈n beim Schritt b k := b k − µ b j<br />
geht in O(n) Schritten<br />
t j,i := t j,i + µ t k,i für i = 1, . . . , n.<br />
Dann geht die Aktualisierung von T bei der Längenreduktion von b k in O(kn) arithmetischen<br />
Schritten. Beim Austausch b k−1 ↔ b k werden B ⊤ B <strong>und</strong> T durch O(n) Datentransporte aktualisiert,<br />
indem O(n) Einträge in B ⊤ B <strong>und</strong> T getauscht werden. Damit kostet eine Iteration der<br />
LLL-Reduktion O(n 2 ) Schritte <strong>und</strong> es folgt der<br />
Satz 4.5.1<br />
Zu gegebener ganzzahliger Gram-Matrix B ⊤ B ∈ Z n×n geht die LLL-Reduktion gemäß Alg. 4.2.1<br />
in O(n 3 log 1/δ M) arithmetischen Schritten auf ganzen Zahlen der Bitlänge O(n + log 2 M).<br />
Dabei ist M wie für ganzzahlige Eingabebasen erklärt. Im Falle einer ganzzahligen Basis B ∈ Z m×n<br />
mit m >> n ist es wegen Satz 4.5.1 günstig, vorweg B ⊤ B in O(n 2 m) Schritten zu berechnen. Die<br />
LLL-Reduktion geht so in O(n 2 m + n 3 log 1/δ M) Schritten, gegenüber O(n 2 m log 1/δ M) Schritten<br />
von Algorithmus 4.2.1.<br />
4.6 LLL-Basen mit großem Approximationsfaktor<br />
Wir konstruieren LLL-Basen mit großem Approximationsfaktor ‖b 1 ‖ /λ 1 , vergleiche Satz 4.1.4.<br />
Satz 4.6.1<br />
Jede <strong>Gitter</strong>basis b 1 , . . . , b n mit |µ i,j | = |r j,i /r i,i | ≤ 1 2 <strong>und</strong> |µ i+1,i| 2 ≤ 1 12<br />
für 1 ≤ i < j ≤ n <strong>und</strong><br />
(4.5)<br />
r 2 i+1.i+1 = r 2 i,i · (1 − µ 2 i+1,i) für i = 1, . . . , n − 1
4.6. LLL-BASEN MIT GROSSEM APPROXIMATIONSFAKTOR 41<br />
ist eine LLL-Basis mit γ n ‖b 1 ‖ 2 (<br />
≥ λ 2 12<br />
) n−1<br />
2<br />
1 11<br />
.<br />
Beweis. Die Basis ist LLL-reduziert mit δ = 1, weil nach (4.5):<br />
r 2 i+1,i+1 = r 2 + i, i + µ 2 i+1,ir2 i,i = r 2 i,i<br />
Es folgt: λ 2 ∏<br />
1 ≤ γ n (det L) 2 n<br />
n = γ n i=1 r 2 n<br />
i,i = γ n ‖b 1 ‖ 2 ∏ n−1<br />
i=1 (1 − µ2 i+1,i ) n−i<br />
n<br />
<strong>und</strong> somit für |µ i+1,i | 2 ≥ 1/12<br />
‖b 1 ‖ 2 /λ 2 1 ≥ · ( )<br />
∑ 1 n−1<br />
12 n<br />
11<br />
i=1 i /γ n ≥ · ( 12<br />
11<br />
) 1<br />
n( n−1<br />
2 ) /γn ≥ · ( 12<br />
11<br />
) n−1<br />
2<br />
/γ n . <br />
Beachte, für zufällige µ i+1,i ∈ R [− 1 2 , + 1 2 ] ist der Erwartungswert von µ2 i+1,i gerade 1 12 . Damit<br />
ist der Approximationsfaktor ‖b 1 ‖ /λ 1 für zufällige LLL-Basen im Mittel Θ( 12 n−1<br />
2<br />
11<br />
/n).
42 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN
Kapitel 5<br />
Lösen von Subsetsum-Problemen<br />
durch kurze <strong>Gitter</strong>vektoren<br />
Wir lösen fast alle Subsetsum-Probleme kleiner Dichte d durch Vektoren der Länge λ 1 des Lagarias-<br />
Odlyzko-<strong>Gitter</strong>s <strong>und</strong> dann des CJLOSS-<strong>Gitter</strong>. Im CJLOSS-<strong>Gitter</strong> entsprechen Lösungen des<br />
Subsetsum-Problems besonders kurzen <strong>Gitter</strong>vektoren. Die Lösung gelingt für fast alle Subsetsum-<br />
Probleme der Dichte kleiner 0, 9408 <strong>und</strong> für Dimension n ≤ 80 in der Praxis sogar effektiv durch<br />
LLL-Reduktion. Fast alle CJLOSS-<strong>Gitter</strong> für Subsetsum-Probleme der Dichte d < 0, 9408 haben<br />
eine Packungsdichte △ mit<br />
1<br />
n log 2 △ ≥ −1.0158 für hinreichend grosse Dimension n.<br />
5.1 Das Subsetsum-Problem<br />
Definition 5.1.1 (Subsetsum-Problem, oder Knapsack- bzw. Rucksack-Problem.)<br />
• Gegeben: n ∈ N, Gewichte a 1 , . . . , a n ∈ N <strong>und</strong> s ∈ N<br />
n∑<br />
• Finde e ∈ {0, 1} n mit a i e i = s oder zeige, daß kein solcher Vektor existiert.<br />
i=1<br />
Nach Satz 11.2.5 auf Seite 97 ist das Subsetsum-Entscheidungsproblem N P-vollständig, sogar für<br />
beliebig kleine Dichte d.<br />
Annahmen. Der Gewichtsvektor (a 1 , . . . , a n ) variiere über [1, A] n ⊂ N n für ein beliebiges A ∈ N.<br />
Es wird die Existenz einer Lösung e = (e 1 , . . . , e n ) ∈ {0, 1} n vorausgesetzt.<br />
Die Wahrscheinlichkeiten <strong>und</strong> die ”<br />
fast alle“-Aussagen in diesem Kapitel beziehen sich auf<br />
zufällig gewählte (a 1 , . . . , a n ) ∈ R [1, A] n .<br />
Definition 5.1.2 (Inverses Subsetsum-Problem)<br />
Im inversen Problem wird s durch s := t − s mit t = ∑ n<br />
i=1 a i ersetzt.<br />
Jede Lösung e des Ausgangsproblems liefert eine Lösung e des inversen Problems <strong>und</strong> umgekehrt:<br />
e i := 1 − e i<br />
i = 1, . . . , n<br />
Eine der beiden Lösungen e, bzw e hat höchstens n/2 Einsen.<br />
Wir lösen das Subsetsum-Problem durch ein SVP-Orakel welches zur Basis des <strong>Gitter</strong>s L<br />
einen <strong>Gitter</strong>vektor der Länge λ 1 in Euklidischer Norm liefert. Wir zeigen, daß das SVP-Orakel<br />
für fast alle (a 1 , ..., a n ) ∈ [1, A] n entweder das gegebene Subsetsum-Problem oder sein inverses löst.<br />
Die Wahrscheinlichkeit eines Misserfolgs wird für zufällige (a 1 , ..., a n ) ∈ [1, A] n mit wachsendem n<br />
43
44KAPITEL 5. LÖSEN VON SUBSETSUM-PROBLEMEN DURCH KURZE GITTERVEKTOREN<br />
beliebig klein, wenn nur die Dichte d hinreichend klein ist.<br />
Dichte d des Subsetsum-Problems<br />
d :=<br />
n<br />
log 2 ( max<br />
i=1,...,n a i)<br />
<strong>und</strong> somit<br />
max<br />
i=1,...,n a i = 2 n/d .<br />
Für Dichte d ≫ 1 gibt es bei zufälliger Wahl der Gewichte a 1 , . . . , a n “in der Regel“ viele<br />
Lösungen. Am schwierigsten gelten zufällige Subsetsum-Probleme mit Dichte nahe bei 1.<br />
In kleiner Dimension n findet man einen kürzesten <strong>Gitter</strong>vektor durch <strong>Gitter</strong>basenreduktion<br />
siehe [SH95, SE94]. Dies führt zu Angriffen auf Krypto-Schemata, die auf Subsetsum-Problemen<br />
basieren. C.P. Schnorr <strong>und</strong> H.H. Hörner [SH95] haben das Chor-Rivest-System [CR88] mittels<br />
<strong>Gitter</strong>reduktion angegriffen.<br />
5.2 Die Lagarias-Odlyzko-<strong>Gitter</strong>basis<br />
J.C. Lagarias <strong>und</strong> A.M. Odlyzko [LaOd85] schlagen die folgende <strong>Gitter</strong>basis B vor um das Subsetsum-<br />
Problem durch ein SVP-Orakel zu L(B) zu lösen. Die letzte Zeile von B wird von uns zur Beweisvereinfachung<br />
hinzugefügt. Wir überarbeiten die Darstellung von [CJLOSS92].<br />
(5.1)<br />
⎡<br />
⎤<br />
1 0 · · · 0 0<br />
0 1 0 0<br />
.<br />
B = [b 1 , · · · , b n+1 ] :=<br />
.<br />
.. . .<br />
∈ Z (n+2)×(n+1)<br />
⎢ 0 0 1 0<br />
⎥<br />
⎣Na 1 Na 2 · · · Na n Ns⎦<br />
0 0 · · · 0 1<br />
<strong>und</strong> L(B) = L LO sei das zugehörige <strong>Gitter</strong>. Die Lösung e ∈ {0, 1} n von ∑ n<br />
i=1 x ie i = s liefert den<br />
Lösungsvektor<br />
(5.2)<br />
ê := ( ∑ n<br />
i=1 e ib i<br />
)<br />
− bn+1 = (e 1 , . . . , e n , 0, −1) t ∈ L LO .<br />
Entweder e oder e = 1 − e, die Lösung zum inversen Subsetsum-Problem, hat höchstens n/2<br />
Einsen <strong>und</strong> liefert damit einen Lösungsvektor in L LO der Länge ≤ √ n/2 + 1. Für jeden Vektor<br />
̂x = (x 1 , ..., x n+1 , −y) ∈ L LO mit ‖̂x‖ = λ 1 gilt somit für N ≥ √ n/2: ∑ i≠n+1 |x i| ≥ 2, x n+1 = 0.<br />
Satz 5.2.1<br />
Für n > n 0 <strong>und</strong> N ≥ √ n/2 werden fast alle lösbare Subsetsum-Probleme zu (a 1 , . . . , a n ) ∈ [1, A] n<br />
der Dichte d < 0, 6463 durch jeden Vektor der Länge λ 1 von L LO für s oder s = t − s gelöst.<br />
Beweis. Sei ‖e‖ 2 ≤ n/2. Das SVP-Orakel liefere den <strong>Gitter</strong>vektor ̂x := ∑ n<br />
i−1 x ib i − yb n+1 der<br />
Länge λ 1 mit y ≥ 0. Löst ̂x das Subsetsum-Problem nicht so gilt<br />
(5.3)<br />
‖̂x‖ = λ 1 ≤ √ n/2 + 1, ̂x ≠ ê.<br />
Wir analysieren die Wahrscheinlichkeit des Misserfolgs<br />
P (n) := Ws[ Es existiert ein ̂x ∈ L CJLOSS mit (5.3)]<br />
bezüglich zufälliger (a 1 , . . . , a n ) ∈ R [1, A] n . Für N ≥ √ n/2 wurde oben gezeigt dass x n+1 = 0<br />
<strong>und</strong> somit ∑ n<br />
i=1 a ix i = ys. Offenbar gilt 0 ≤ y < λ 1 ≤ √ n/2 + 1. Wir setzen x := (x 1 , ..., x n ).
5.3. DAS CJLOSS-GITTER 45<br />
Dann gilt<br />
[ ∃x ∈ Z n , x /∈ {0, ±e}, ‖x‖ ≤ ‖e‖<br />
P (n) ≤ Ws<br />
∃y ∈ Z : 0 ≤ y < √ ∑ n<br />
n/2 + 1,<br />
i=1 a i(x i − e i y) = 0<br />
]<br />
Faktor 1<br />
{ }} {<br />
∑n<br />
≤ Ws[<br />
i=1 a i(x i − e i y) = 0 für feste e, x, y mit ‖x‖ ≤ ‖e‖, x ≠ e, 0 ≤ y < √ ]<br />
n/2 + 1<br />
{<br />
· ∣ x ∈ Z n : ‖x‖ ≤ √ }∣ { ∣∣<br />
n/2 · ∣ y ∈ Z : 0 ≤ y < √ }∣ ∣∣<br />
n/2 + 1<br />
} {{ } } {{ }<br />
Faktor 2<br />
Faktor 3<br />
Wir schätzen die drei Faktoren nach oben ab:<br />
1. Für feste e 1 , ..., e n , x 1 , ..., x n , y ist die Gleichung ∑ n<br />
i=1 a i(x i − e i y) = 0 höchstens mit<br />
Wahrscheinlichkeit n/A erfüllt, denn falls x i ≠ e i y ist a i durch die a j mit j ≠ i bestimmt.<br />
2. J.C.Lagarias <strong>und</strong> A.M. Odlyzko [LaOd85] haben gezeigt, daß für hinreichend große n gilt:<br />
{<br />
∣ x ∈ Z n : ‖x‖ ≤ √ }∣ ∣∣<br />
n/2 ≤ 2<br />
c 0n<br />
mit c 0 = 1, 54725<br />
{<br />
3. Es gilt: ∣ y ∈ Z : 0 ≤ y < √ }∣ ∣∣ √<br />
n/2 + 1 ≤ n/2 + 1.<br />
Damit folgt P (n) ≤ 2c 0 n<br />
A n √ n/2 + 1. Wegen 1/d > 1, 547269 > c 0 <strong>und</strong> max i=1,...,n a i =<br />
2 n/d gilt A ≥ max a i ≥ 2 n/d <strong>und</strong> somit lim P (n) = 0 für d < 0, 6463.<br />
<br />
i=1,...,n n→∞<br />
5.3 Das CJLOSS-<strong>Gitter</strong><br />
M.J. Coster, A. Joux, B.A. LaMacchina, A.M. Odlyzko, C.P. Schnorr <strong>und</strong> J. Stern [CJLOSS92]<br />
ersetzen den Vektor b n+1 der Basis (5.1) durch b ′ n+1 := ( 1 2 , . . . , 1 2 , Ns, 1)t <strong>und</strong> erhöhen damit die<br />
Grenzdichte von 0, 6463 auf 0, 9408. Die CJLOSS-Basis ist<br />
⎡<br />
1 ⎤<br />
1 0 · · · 0<br />
2<br />
1<br />
0 1 0 2<br />
.<br />
B ′ = [b 1 , · · · , b ′ n+1] :=<br />
.<br />
.. . .<br />
(5.4)<br />
∈ 1 1<br />
0 0 1 2 Z(n+2)×(n+1)<br />
2<br />
⎢<br />
⎥<br />
⎣Na 1 Na 2 · · · Na n Ns⎦<br />
0 0 · · · 0 1<br />
<strong>und</strong> L CJLOSS = L(B ′ ) sei das zugehörige <strong>Gitter</strong>. Die letzte Zeile von B ′ dient der Beweisvereinfachung.<br />
Die Lösung e ∈ {0, 1} n des Subsetsum-Problems liefert den Lösungsvektor<br />
(5.5)<br />
ê ′ := ∑ n<br />
i=1 e ib i − b ′ n+1 = (e 1 − 1 2 , e 2 − 1 2 , . . . , e n − 1 2 , 0, −1)t ∈ L CJLOSS<br />
Offenbar gilt ‖ê ′ ‖ = √ n/4 + 1 <strong>und</strong> damit ist der Lösungsvektor ê ′ der CJLOSS-Basis bis zu einem<br />
Faktor √ 2 kleiner als der Lösungsvektor ê der Lagarias-Odlyzko-Basis.<br />
Satz 5.3.1<br />
Für n > n 0 <strong>und</strong> N ≥ √ n/4 werden fast alle lösbare Subsetsum-Probleme zu (a 1 , . . . , a n ) t ∈ [1, A] n<br />
der Dichte d < 0, 9408 durch jeden Vektor der Länge λ 1 von L CJLOSS gelöst.<br />
Beweis. Das SVP-Orakel liefere ̂x ′ = ∑ n<br />
i=1 y ib i −yb ′ n+1 = (x 1 , ..., x n+2 ) t ∈ L CJLOSS mit y ≥ 0.<br />
Bei Misserfolg gilt<br />
(5.6)<br />
‖̂x ′ ‖ = λ 1 ≤ ‖ê ′ ‖ = √ n/4 + 1, ̂x ′ ≠ ê ′ , 0 ≤ y < λ 1
46KAPITEL 5. LÖSEN VON SUBSETSUM-PROBLEMEN DURCH KURZE GITTERVEKTOREN<br />
Beh.: x n+1 = N( ∑ n<br />
i=1 a iy i − ys) = 0.<br />
Denn aus x n+1 ≠ 0 <strong>und</strong> N ≥ √ n/4 <strong>und</strong> weil offenbar x i ≠ 0 für zwei i ≠ n+1 folgt ‖̂x ′ ‖ 2 > n 4 +1,<br />
ein Widerspruch. Ferner gilt:<br />
(5.7) x i = y i − 1 2 y für i = 1, . . . , n<br />
∑ n<br />
(5.8)<br />
i=1 a i(y i − ye i ) = 0<br />
Es bezeichne P ′ (n) := Ws[ ∃̂x ′ ∈ L CJLOSS mit (5.6), (5.7), (5.8) ] die Wahrscheinlichkeit<br />
des Misserfolgs für zufällige (a 1 , . . . , a n ) t ∈ R [1, A] n , ferner 1/2 := ( 1 2 , ..., 1 2 )t , x :=<br />
(x 1 , ..., x n ) t ∈ Z n − 1/2 · {0, 1}. Offenbar gilt ̂x ′ ≠ ê ′ gdw ∃j : y j ≠ ye j . Zwar hängen x, y von den<br />
a i ab, werden aber in der Ws-Analyse fixiert. Es folgt<br />
P ′ (n) ≤ Ws<br />
Faktor 1<br />
{<br />
[<br />
}} {<br />
für feste e ∈ {0, 1} n , x ∈ Z n − 1/2 · {0, 1}, y ∈ Z, 0 ≤ y < √ ]<br />
n/4 + 1,<br />
∃j : y j ≠ ye j , ‖x‖ ≤ √ n/4, ∑ n<br />
i=1 a i(y i − ye i ) = 0<br />
{<br />
· ∣ x ∈ Z n − 1/2 · {0, 1} : ‖x‖ ≤ √ ∣ { ∣∣<br />
n/4}<br />
· ∣ y ∈ Z : 0 ≤ y < √ ∣∣<br />
n/4 + 1}∣<br />
} {{ } } {{ }<br />
Faktor 2<br />
Faktor 3<br />
Wir schätzen die drei Faktoren nach oben ab:<br />
1. Für festes j mit y j ≠ ye j ist die Gleichung ∑ n<br />
i=1 a i(y i − ye i ) = 0 mit Wahrscheinlichkeit<br />
≤ 1/A erfüllt, denn a j ist durch die a i mit i ≠ j bestimmt. Somit für alle j: Faktor 1 ≤ n/A.<br />
2 J.E. Mazo <strong>und</strong> A.M. Odlyzko [MaOd90] beweisen für hinreichend grosses n <strong>und</strong> alle u ≥ 0<br />
{<br />
∣ x ∈ Z n + 1/2 · {0, 1} : ‖x‖ ≤ √ }∣ ∣∣<br />
n/4 ≤ e δ(u)n + 2 n für δ(u) = u/4 + ln θ(e −u ),<br />
θ(z) := 1+2 ∑ ∞<br />
k=1 zk2 . Für u o = 1, 8132 gilt δ ≈ 0, 7367 <strong>und</strong> e δ(uo)n ≤ 2 c′ o n mit c ′ o = 1.0629 · · · .<br />
3. Offenbar gilt Faktor 3 ≤ 1 + √ n/4 + 1.<br />
Somit gilt P ′ (n) ≤ (1 + √ n/4 + 1) 2 c′ 0 n n/A <strong>und</strong> wegen 1/d > 1, 0628 · · · > c ′ 0 <strong>und</strong><br />
A ≥<br />
max a i ≥ 2 n/d folgt die Behauptung<br />
i=1,...,n<br />
lim P ′ (n) = 0.<br />
n→∞<br />
Towards NP-hardness of SVP. Die Menge der lösbaren Subsetsum-Probleme der Dichte<br />
d < 0.9408 ist NP-vollständig. Satz 5.3.1 liefert eine Polynomialzeit-Transformation von Subsetsumproblemen<br />
mit d < 0, 9408 auf SVP, mit Ausnahme der Misserfolge. Wir eliminieren die<br />
Misserfolge für lösbare Subsetsumprobleme mit höchstens c(a, s) = O(1) linear unabhängigen<br />
Vektoren b = ∑ n<br />
i=1 y ib i − yb ′ n+1 in L = L CJLOSS der Länge ‖b‖ 2 ≤ n 4 + 1 mit b ≠ ±ê′ .<br />
Für c = c(a, s) gibt es 1 ≤ i 1 < · · · < i c ≤ n so dass die Vektoren ∑ c<br />
k=1 y i k<br />
b ik für c solcher b<br />
linear unabhängig von ∑ c<br />
k=1 e i k<br />
b ik sind. Es werden i 1 , ...., i c <strong>und</strong> e i1 , ..., e ic ∈ {0, 1} erraten. Das<br />
<strong>Gitter</strong> L wird zu L red <strong>und</strong> das Subsetsumproblem mit [1, n] red := [1, n] − {i 1 , ..., i c } zu<br />
∑i∈[1,n] red<br />
a i e i = s red , s red := s − ∑ c<br />
k=1 a i k<br />
e ik<br />
einem Subsetsumproblem der Dimension n − c reduziert. In L red ist b ′ n+1 durch b ′red<br />
n+1 mit s red<br />
ersetzt. Das SVP-Orakel liefert zum <strong>Gitter</strong> L red den Vektor ê ′ red = ∑ i∈[1,n] red<br />
a i e i − b ′red<br />
n+1 der<br />
Länge √ (n − c)/4 + 1. Entscheidend ist, dass die störenden kurzen Vektoren b ≠ ±ê ′ von L durch<br />
die Reduktion stark vergrössert werden, sofern ∑ c<br />
k=1 a i k<br />
(y ik − e ik ) ≠ 0. Dies beweist Teil 1. von<br />
Satz 5.3.2<br />
1. Durch 2 c( n<br />
c)<br />
Aufrufe des SVP-Orakels auf die <strong>Gitter</strong> Lred zu L = L CJLOSS mit 1 ≤ i 1 < · · · <<br />
i c ≤ n <strong>und</strong> e i1 , ..., e ic ∈ {0, 1} werden alle Subsetsumprobleme mit c(a, s) ≤ c für alle d gelöst.<br />
2. Der Anteil der Subsetsumprobleme mit c(a, s) > c unter den (a, s) ∈ [1, A] n [1, n 2<br />
A], A ≥ 2·2n/d<br />
ist höchstens P ′ (n) c .
5.4. GITTER MIT GROSSER PACKUNGSDICHTE 47<br />
Beweis. 2. Wir schätzen den Anteil der (a, s) ∈ [1, A] n [1, n 2<br />
A] mit c(a, s) > c ab, analog<br />
zur oberen Schranke von P ′ (n) im Beweis von Satz 5.3.1. Es gibt c(a, s) linear unabhängige<br />
(y 1,j , ..., y n,j , y j ) t ∈ Z n+1 für j = 1, ..., c mit b j = ∑ n<br />
i=1 y i,jb i − y j b ′ n+1 ≠ ±ê ′ <strong>und</strong> ‖b j ‖ 2 ≤ n 4 + 1.<br />
Für diese c Vektoren b j ∈ L gilt ∑ n<br />
i=1 a iy i,j = y j s <strong>und</strong> somit<br />
∑ n<br />
(5.8)<br />
i=1 a i(y i,j − y j e i ) = 0 für j = 1, ..., c<br />
Diese Gleichungen bestimmen c der a 1 , ..., a n durch die übrigen n − c der a i . Der Anteil der<br />
(a 1 , ..., a n ) ∈ [1, A] n der Dichte d < 0, 9408, der diese c Gleichungen (5.8) erfüllt, ist dem Beweis<br />
von Satz 5.3.1 folgend kleiner gleich P ′ (n) c mit lim P ′ (n) = 0.<br />
<br />
n→∞<br />
Fakt Nach Satz 5.3.2 löst das SVP-Orakel alle Subsetsumprobleme mit konstantem c(a, s) durch<br />
polynomial viele Aufrufe. Damit ist der Anteil der Misserfolge bei der Reduktion von Subsetsum<br />
mit d < 0, 9408 auf SVP vernachlássigbar klein, d.h. kleiner als jeder polynomiale Bruchteil.<br />
Satz 5.3.3<br />
Lösbare Subsetsum-Probleme werden für n ≥ n o <strong>und</strong> N ≥ 1, 163 n−1√ n/4 + 1 für fast alle<br />
(a 1 , . . . , a n ) t ∈ [1, A] n der Dichte d < 4, 8/n durch den ersten Vektor jeder LLL-Basis zu δ = 0, 99<br />
von L CJLLOSS gelöst, <strong>und</strong> zwar in Polynomialzeit.<br />
Beweis. (Bezeichnungen wie im Beweis von Satz 5.3.1, B ′ = [b 1 .....b ′ n+1] ist die Basis (5.4) )<br />
Für den ersten Vektor b einer LLL-Basis von L CJLOSS gilt ‖b‖ 2 ≤ λ 2 1/(δ−1/4) n−1 nach Satz 4.1.4<br />
<strong>und</strong> somit für δ = 0, 99 dass ‖b‖ ≤ 1, 163 n−1 λ 1 ≤ 1, 163 n−1√ n/4 + 1. Sei b = ∑ n<br />
i=1 y ib i − yb ′ n+1<br />
mit y ≥ 0. Aus N ≥ 1, 163 n−1√ n/4 + 1 folgt ∑ n<br />
i=1 a iy i = ys <strong>und</strong> somit gilt (5.8). Das x von (5.7)<br />
erfüllt ‖x‖ < √ n/4 + 1 · 1, 163 n .<br />
J.C. Lagarias <strong>und</strong> A.M. Odlyzko [LaOd85] zeigen im Anschluss an Theorem 3.5 für das <strong>Gitter</strong><br />
L LO : der Anteil der (a 1 , . . . , a n ) t ∈ [1, A] n der Dichte d < 4, 8/n mit b ≠ ê für den Lösungsvektor<br />
ê ∈ L LO wird für n → ∞ beliebig klein. Damit gilt für fast alle (a 1 , ..., a n ) ∈ [1, A] n dass b = ê.<br />
Die Grenzdichte 4, 8/n erhöht sich weiter durch stärkere Reduktion als LLL.<br />
<br />
Für n ≤ 80 gilt Satz 5.3.2 in der Praxis schon für N = 16 <strong>und</strong> d < 0, 9408 für den Hauptfall<br />
dass ∑ n<br />
i=1 e i = n/2. Hierzu ersetzt man die LLL-Reduktion durch die stärkere BKZ-Reduktion<br />
mit Blockweite 32 <strong>und</strong> erweitert B ′ durch die (n + 3)-te Zeile (N, ..., N, N 1 2<br />
). Siehe [SS12].<br />
5.4 <strong>Gitter</strong> mit großer Packungsdichte<br />
Zu a = (a 1 , . . . , a n ) ∈ Z n bezeichne L a = L(B a ) ⊂ R n+1 das <strong>Gitter</strong> mit Basismatrix<br />
⎡<br />
⎤<br />
1<br />
. .. L a := L(B a ). B a = ⎢<br />
O<br />
⎥<br />
⎣ O 1 ⎦ ∈ ∑<br />
n<br />
R(n+1)n , det B t aB a = 1 + N 2 i=1<br />
Na 1 · · · Na n<br />
Korollar 5.4.1<br />
Für n ≥ n 0 <strong>und</strong> N ≥ √ n/4 gilt λ 1 (L a ) ≥ √ n/4 für fast alle a ∈ [1, A] n der Dichte d < 0, 9408.<br />
Beweis. B a = [b 1 , ..., b n ] ist die Basis (5.4) ohne die letzte Zeile <strong>und</strong> letzte Spalte. Ergänze B a zu<br />
einer CJLOSS-Basis (ohne letzte Zeile) mit lösbarem Subsetsum-Problem. Im Fall λ 1 (L a ) < √ n/4<br />
gibt es einen <strong>Gitter</strong>vektor in L CJLOSS der Länge λ 1 , der nicht die vorgegebene Subsetsum-Lösung<br />
e liefert. Dies ist nach Satz 5.3.1 für fast alle a mit Dichte d < 0, 9408 ausgeschlossen. Satz 5.3.1<br />
gilt auch ohne die letzte Zeile der Basismatrix (5.4). Der Beweis in [CJLOSS92] kommt ohne diese<br />
letzte Zeile aus. Dann gilt für den Lösungsvektor ê ′ ∈ L CJLOSS dass ‖ê ′ ‖ 2 = n/4.<br />
<br />
a 2 i
48KAPITEL 5. LÖSEN VON SUBSETSUM-PROBLEMEN DURCH KURZE GITTERVEKTOREN<br />
Satz 5.4.2<br />
Für n ≥ n 0 , N 2 = n 4 haben fast alle a ∈ [1, 2 · 2n/0,9408 ] n Dichte d < 0, 9408 <strong>und</strong> L a hat Packungsdichte<br />
△ mit<br />
1<br />
n log 2 △ ≥ −1, 01583.<br />
Beweis. Für fast alle a ∈ [1, 2 · 2 n/0,9408 ] n gilt d =<br />
n<br />
log 2 ( max<br />
i=1,...,n<br />
λ 2 1 ≥ n/4 für fast alle a ∈ [1, A] n . Wegen 4N 2 n = n 2 sowie n 1/n = 1 + o(1) <strong>und</strong><br />
(det L a ) 2 = 2 2n (1 + N 2∑ n<br />
i=1 a2 i ) ≤ 22n (1 + 4N 2 n2 2n/d )<br />
folgt für n ≥ n 0 dass λ 2 1/(det(L a ) 2/n ≥ n 2 −2−2/0,9408 (1 − o(1)) <strong>und</strong> somit<br />
ai)<br />
< 0, 9408. Nach Kor. 5.4.1 gilt<br />
△ (L a ) = 2 −n λ n 1 V n / det L a > (n 2 −2−2/0,9408 (1 − o(1)) eπ<br />
2n n)n/2 > 0.4945438 n > 2 −1.01583 n . <br />
Vergleich mit expliziten Konstruktionen dichter <strong>Gitter</strong>. Die unendlichen Klassenkörpertürme<br />
von Gold, Shafarevitch, Martinet, liefern eine unendliche Folge von <strong>Gitter</strong>n mit<br />
1<br />
n log 2 △ ≥ −2, 218,<br />
siehe [CoSl88, Kap. 8, Sektion 7.4]. Eine praktische Methode zum Auffinden solcher <strong>Gitter</strong> ist<br />
nicht bekannt. Explizite Konstruktionen von <strong>Gitter</strong>n gibt es [CoSl88], so dass<br />
1<br />
n log 2 △ ≥ −1, 2454 für n ≤ 98328,<br />
1<br />
n log 2 △ ≥ −2, 0006 für n ≤ 10 51 .<br />
Verglichen damit kann man nach Satz 5.4.2 die grössere Dichte<br />
1<br />
n log 2 △ ≥ −1, 0158<br />
für beliebige n <strong>und</strong> fast alle a = (a 1 , . . . , a n ) ∈ [0, A] n der Dichte d < 0, 9408 leicht erreichen. Man<br />
wählt a zufällig <strong>und</strong> verifiziert dass λ 1 (L a ) = n/4.<br />
Dichteste bekannte <strong>Gitter</strong>packung. J.A. Rush [R89] zeigt die Existenz von <strong>Gitter</strong>packungen<br />
der Dimension n = p 2 mit p prim <strong>und</strong> Packungsdichte<br />
1<br />
n log 2(△) ≥ −1 − 2(log 2 e)/e 2π2 ) −1, 000000007719...<br />
Dies gilt für die Konstruktion A von [CoSl88] angewandt auf fehlerkorrigierende [n, k, d, p, H]-<br />
Codes. Das Ergebnis ist nicht konstruktiv aber der Suchraum für geeignete Codes ist erheblich<br />
kleiner als beim Beweis der Minkowski-Schranke 1 n log 2 △ ≥ −1.<br />
Die obere Schranke für P ′ (n) ist scharf <strong>und</strong> die Grenzdichte d = 0, 9408... maximal.<br />
Angenommen der kürzeste <strong>Gitter</strong>vektor ̂x ′ = ∑ n<br />
i=1 y ib i − yb ′ n+1 = (x 1 , ..., x n+2 ) t von L CJLOSS<br />
löst das Subsetsum-Problem zu a = (a 1 , ..., a n ), s nicht. Dann gilt x n+1 = 0 <strong>und</strong> der Lösungsvektor<br />
ê ′ := ∑ n<br />
i=1 e ib i − b ′ n+1 ∈ L CJLOSS erfüllt (5.6).<br />
Satz 5.3.1 schätzt die Anzahl der Lösungen (x 1 , ..., x n , y) ∈ 1 2 Zn+1 mit ( √ n/4 + 1)2 c′ 0 n ab.<br />
Ferner ist für x i = y i − y 2 die Wahrscheinlichkeit für ∑ n<br />
∑ i=1 a i(y i − ye i ) = 0 höchstens n/A. Wegen<br />
n<br />
i=1 a i(y i − ye i ) = 0 schränken die Bedingungen<br />
a j = −<br />
n∑<br />
i=1,i≠j<br />
a i<br />
y i − ye i<br />
y j − ye j<br />
∈ [1, A] ∩ N für alle j mit y j ≠ ye j<br />
die Anzahl der (x 1 , ..., x n , y) weiter ein. Für die Varianz V (X) = E[(X − E(X) ) 2 ] von X =<br />
− ∑ n<br />
i=1,i≠j a i yi−yei<br />
y j−ye j<br />
gilt V (X) = O(A 2√ n) . Daraus folgt Ws[ X ∈ [1, A] ] ≥ Θ(1/ √ n). Damit ist<br />
Ws[ X ∈ [1, A] ∩ N ] so groß dass dies c ′ 0 nicht erniedrigt. Somit ist die Grenzdichte d = 0, 9408...<br />
maximal.
Kapitel 6<br />
HKZ- <strong>und</strong> Block-Reduktion von<br />
<strong>Gitter</strong>basen<br />
Die LLL-Reduktion in Kapitel 4 liefert in Polynomialzeit LLL-Basen b 1 , ..., b n mit exponentiellen<br />
Approximationsfaktoren ‖b 2 i ‖/λ2 i ≤ α n für i = 1, ..., n. Die HKZ-Reduktion nach Hermite<br />
<strong>und</strong> Korkine-Zolotareff liefert dagegen in Exponentialzeit HKZ-Basen b 1 , ..., b n mit polynomialen<br />
Approximationsfaktoren ‖b i ‖ 2 /λ 2 i ≤ i+3<br />
4<br />
für i = 1, ..., n. Schnorr [S87] entwickelt eine Hierarchie<br />
von Block-Reduktionsverfahren, welche LLL- <strong>und</strong> HKZ-Reduktion überbrückt, derart dass höhere<br />
Laufzeit die Approximationsfaktoren erniedrigt.<br />
6.1 HKZ-Basen<br />
Zur Basis b 1 , . . . , b n des <strong>Gitter</strong>s L sind die projizierten <strong>Gitter</strong> L i für i = 1, . . . , n erklärt durch<br />
L i = π i (L) ∈ span(b 1 , ..., b i−1 ) ⊥ .<br />
Insbesondere gilt für jede GNF B = R ∈ R n×n dass<br />
π i : (r 1 , ..., r n ) t ↦→ (0, ..., 0, r i , ..., r n ) t ∈ 0 i−1 R n−i+1 .<br />
C. Hermite [He1850] sowie unabhängig A. Korkine <strong>und</strong> G. Zolotareff [KZ1873, KZ1877] definierten<br />
HKZ-Basen in der Sprache quadratischer Formen.<br />
Definition 6.1.1 (HKZ-Basis)<br />
Eine LLL-Basis B = QR ∈ R m×n ist HKZ-Basis, wenn für R = [r i,j ] ∈ R n×n gilt:<br />
r i,i = λ 1 (L i (B)) für i = 1, . . . , n.<br />
Für jede HKZ-Basis [b 1 , . . . , b n ] = B = QR sind auch π j {b j , . . . , b n } <strong>und</strong> [r i,l ] j≤k,l≤n für<br />
1 ≤ j ≤ n HKZ-Basen. Es gilt λ 1 (L i (B)) = λ 1 (L i (R)). Jede -Basis approximiert λ 2 i mit Approximationsfaktor<br />
i+3<br />
4<br />
(fast so gut wie der Approximationsfaktor max(1, i/4) von Satz 2.1.5):<br />
Satz 6.1.2<br />
Für jede HKZ-Basis b 1 , . . . , b n von L gilt<br />
4<br />
i+3 ≤ ‖b i‖ 2 /λ i (L) 2 ≤ i+3<br />
4<br />
für i = 1, . . . , n.<br />
Dagegen gilt für LLL-Basen b 1 , . . . , b n nach Satz 4.1.4 mit α = 1<br />
δ−1/4<br />
α 1−i ≤ ‖̂b i ‖ 2 /λ i (L) 2 ≤ ‖b i ‖ 2 /λ i (L) 2 ≤ α n−1 .<br />
49
50 KAPITEL 6. HKZ- UND BLOCK-REDUKTION VON GITTERBASEN<br />
Beweis.<br />
(6.1)<br />
Obere Schranke ‖bi‖2<br />
λ i(L) 2 ≤ i+3<br />
4 : Für das <strong>Gitter</strong> L i = π i (L) gilt<br />
‖̂b i ‖ = r i,i = λ 1 (L i ) ≤ λ i (L),<br />
denn es gibt linear unabhängige <strong>Gitter</strong>vektoren a 1 , . . . , a i ∈ L mit ‖a 1 ‖ ≤ · · · ≤ ‖a i ‖ ≤ λ i (L).<br />
Daher gilt π i (a j ) ≠ 0 für ein j ≤ i, also π i (a j ) ∈ L i \ {0} <strong>und</strong> somit λ 1 (L i ) ≤ ‖π i (a j )‖ ≤ λ i (L).<br />
Für die HKZ-Basis R = [r 1 , . . . , r n ] gilt nach (6.1) dass<br />
i∑<br />
∑i−1<br />
‖b i ‖ 2 = ‖r i ‖ 2 = rj,i 2 ≤ ri,i 2 + 1 4<br />
rj,j 2 ≤ i+3<br />
4 λ i(L) 2 .<br />
j=1<br />
Untere Schranke 4<br />
i+1 ≤ ‖bi‖2<br />
λ i(L) 2 : Nach Definition der HKZ-Basis gilt für j ≤ i:<br />
j=1<br />
r 2 j,j = λ 1 (L j ) 2 ≤ ‖π j (b i )‖ 2 ≤ ‖b i ‖ 2 .<br />
Somit<br />
‖b j ‖ 2 = ∑ j<br />
l=1 r2 l,j ≤ r2 j,j + 1 ∑ j−1<br />
4 l=1 r2 l,l ≤ j+3<br />
4 ‖b i‖ 2 .<br />
Es folgt die Behauptung λ i (L) 2 ≤ max j=1,...,i ‖b j ‖ 2 ≤ i+3<br />
4 ‖b i‖ 2 . <br />
Zu HKZ-Basen siehe auch [LLS90] von J.C. Lagarias, H.W. Lenstra <strong>und</strong> C.P. Schnorr.<br />
6.2 Semi Block 2k-Reduktion<br />
Block-reduzierte <strong>Gitter</strong>basen bilden eine Brücke, die HKZ-Basen <strong>und</strong> LLL-Basen verbindet, siehe<br />
C.P. Schnorr [S87] [S94]. Während die Algorithmen zur HKZ-Reduktion in Dimension n expontielle<br />
Laufzeit in n haben, ist die Block-Reduktion für Blockweite 20 ähnlich effizient wie die schwächere<br />
LLL-Reduktion. Die Variante der Semi-Block-2k-Reduktion hat polynomielle Laufzeit [S87].<br />
Einer GNF R ∈ R n×n mit n = hk ordnen wir die Untermatrizen R l = [r i,j ] lk−k δ k B Dalt l<br />
für l = 1, ..., h − 1.<br />
Die Bedingung 2. impliziert dass δ k B (D l/D l+1 ) 1/k ≤ β k für l = 1, ..., h − 1 für das folgende β k .<br />
Definition 6.2.2<br />
α k := max r 2 1,1/r 2 k,k<br />
maximiert über alle HKZ-GNF R ∈ Rk×k<br />
β k := max ( D 1 /D 2<br />
) 1/k<br />
maximiert über alle HKZ-GNF R ∈ R 2k×2k .<br />
Für das α = 4 3 = 1/(δ L − 1/4) der LLL-Basen mit δ L = 1 gilt offenbar α 2 = β 1 = 4 3<br />
. Ferner gilt<br />
Damit gilt β 1/k<br />
k<br />
→ 0 für k → ∞.<br />
α k ≤ k 1+ln k<br />
[S87]<br />
k/12 ≤ β k ≤ (1 + k/2) 2 ln 2+1/k . [GHKN06]
6.2. SEMI BLOCK 2K-REDUKTION 51<br />
Satz 6.2.3<br />
Für jede Semi Block 2k-Basis B = QR ∈ R m×n , n = hk zu δ B > 0 von L gilt<br />
1. ‖b 1 ‖ 2 ≤ γ k (β k /δ k B ) h−1<br />
2 (det L) 2/n ,<br />
2. ‖b 1 ‖ 2 ≤ γ k α k (β k /δ k B )h−1 λ 2 1.<br />
Im Vergleich gilt für LLL-Basen<br />
‖b 1 ‖ 2 ≤ α n−1<br />
2 (det L) 2/n , ‖b 1 ‖ 2 ≤ α n−1 λ 2 1.<br />
Für Semi Block 2k-Basen wird das α von LLL-Basen ersetzt durch β 1/k<br />
k<br />
/δ B = o(1) für n → ∞.<br />
Beweis. 1. Sei D l := (det R l ) 2 . Für die HKZ-Basis R 1 ∈ R k×k gilt ‖b 1 ‖ 2 ≤ γ k D 1/k<br />
1 .<br />
Nach Definition von β k <strong>und</strong> Definition 6.2.1, Teil 2 gilt D l ≤ (β k /δ k B )k D l+1 .<br />
Es folgt durch Induktion über l für l = 1, ..., h = n/k<br />
(6.2)<br />
‖b 1 ‖ 2 ≤ γ k D 1/k<br />
1 ≤ γ k (β k /δ k B) l−1 D 1/k<br />
l<br />
.<br />
Wir ziehen aus dem Produkt dieser h Ungleichungen die h-te Wurzel. Dies liefert die Behauptung:<br />
‖b 1 ‖ 2 ≤ γ k (β k /δ k B) (h 2) 1 h (det L)<br />
1<br />
hk<br />
= γk (β k /δ k B) h−1<br />
2 (det L) 2/n .<br />
2. Sei b = ∑¯n<br />
i=1 u ib i ∈ L mit ‖b‖ = λ 1 , u¯n ≠ 0. O.B.d.A. sei ¯n > n − k. Es gilt<br />
‖b 1 ‖ 2 ≤ γ k (β k /δ k B) h−1 D 1/k<br />
h<br />
= γ k (β k /δ k B) h−1 (r 2 n−k+1,n−k+1 · · · r 2 n,n) 1/k ,<br />
Es folgt aus r 2¯n−i,¯n−i /r2¯n,¯n ≤ α i+1 ≤ α k für n − k < ¯n − i wegen α i+1 ≤ α i+2 dass<br />
‖b 1 ‖ 2 ≤ γ k (β k /δ k B ) h−1<br />
2 α k r 2 n,n ≤ γ k (β k /δ k B ) h−1<br />
2 α k λ 2 1 wegen |u¯n | ≥ 1, ¯n > n − k. <br />
Algorithmus 6.2.1, Semi Block 2k-Reduktion<br />
EINGABE LLL-Basis B ∈ Z m×n zu δ, α, n = hk <strong>und</strong> δ B mit 0 < δ B < 1.<br />
1. HKZ-reduziere B 1 = [b 1 , ..., b k ] <strong>und</strong> R 1 , l := 1<br />
2. HKZ-reduziere R l+1 zu R l+1 T k mit T k ∈ GL k (Z).<br />
B l+1 := B l+1 T k , erneuere R l,l+1 .<br />
3. HKZ-reduziere R l,l+1 zu R l,l+1 T 2k mit T 2k ∈ GL 2k (Z).<br />
IF D neu<br />
l<br />
≤ δ k2<br />
B D alt<br />
l<br />
THEN [B l<br />
, B l+1 ] := [B l , B l+1 ]T 2k , l := max(l − 1, 1)<br />
ELSE l := l + 1.<br />
IF l < h THEN GO TO 2 ELSE längenreduziere B.<br />
AUSGABE Semi Block 2k-Basis B.<br />
Korrektheit. Nach Schritt 3 ist b 1 , ..., b kl nach Längenreduktion eine Semi Block 2k-Basis.<br />
Satz 6.2.4<br />
1. Alg. 6.2.1 macht höchstens ( 2h2<br />
k<br />
+h) log 1/δ B<br />
M Iterationen für den Wert M := max(‖b 1 ‖ , ..., ‖b n ‖)<br />
der Eingabebasis. Eine Iteration geht in (2k) k/4 (2k) O(1) arithmetischen Schritten.<br />
2. Alg. 6.2.1 macht höchstens h3<br />
12 log 1/δ B<br />
α Iterationen bis D B ≤ 1 erreicht ist.
52 KAPITEL 6. HKZ- UND BLOCK-REDUKTION VON GITTERBASEN<br />
Beweis.<br />
1. Jeder Schritt 3 mit l := max(l − 1, 1) erniedrigt die Lovász Invariante zu k<br />
D := D h−1<br />
1 D h−2<br />
2 · · · D 1 h−1<br />
so dass D neu ≤ δ k2<br />
B D alt.<br />
Die Eingabebasis hat den D-Wert D Ein ≤ M n(h−1) <strong>und</strong> für die Ausgabebasis gilt D Aus ≥ 1.<br />
Damit ist die Anzahl #It − der Schritte 3 mit l := max(l − 1, 1) beschränkt durch<br />
#It − ≤ n(h−1)<br />
k 2 log 1/δB M = h k (h − 1) log 1/δ B<br />
M.<br />
Für die Gesamtzahl #It der Schritte 3 folgt die Behauptung<br />
#It = h − 1 + 2#It − ≤ ( 2h2<br />
k + h) log 1/δ B<br />
M.<br />
Die HKZ-Reduktion von R l,l+1 ∈ R 2k×2k geht in (2k) k/4+o(k) arithmetischen Schritten.<br />
2. Wir ersetzen die Lovász Invariante D durch die folgende Invariante<br />
D B := ∏ h−1<br />
l=1 (D l/D l+1 ) h2 /4−(h/2−l) 2 .<br />
Der Exponent h 2 /4 − (h/2 − l) 2 ist maximal bei l = h/2, er ist null für l = 0 <strong>und</strong> l = h <strong>und</strong> ist<br />
symmetrisch zu l = h/2. Für die LLL-Eingabebasis gilt D l ≤ α k2 D l+1 <strong>und</strong> somit gilt für ihren<br />
D B -Wert DB Ein dass DB Ein<br />
∑<br />
≤ α k2 s h−1<br />
für s = def l=1 h2 /4 − (h/2 − l) 2 .<br />
Die bekannte Summe ¯s := ∑ h−1<br />
l=1 l2 = h(h − 1)(h − 1/2)/3 liefert<br />
∑ h−1<br />
l=1 (h/2 − l)2 = −h 2 (h − 1)/4 + ¯s = h(h − 1)(h − 2)/12<br />
<strong>und</strong> somit s = (h + 1)h(h − 1)/6 = (h 3 − h)/6.<br />
Es folgt D Ein<br />
B<br />
≤ α k2 (h 3 −h)/6 .Ein aktiver Schritt 3 ändert von D B nur den Faktor<br />
∏<br />
(D t /D t+1 ) t(h−t) = D (l−1)(h−l+1)<br />
l−1<br />
(D l D l+1 ) h−2l−1 Dl 2 .<br />
t=l−1,l,l+1<br />
Ein aktiver Schritt 3 lässt D l−1 <strong>und</strong> D l D l+1 unverändert <strong>und</strong> bewirkt somit DB<br />
neu<br />
Für die Anzahl der Iterationen zum Erreichen von D B ≤ 1 folgt<br />
#It ≤ log 1/δ 2k 2<br />
B<br />
≤ δB<br />
2k2D<br />
B alt.<br />
DB Ein ≤ k2 h 3 1<br />
6 2k<br />
log 2 δB<br />
α = h3<br />
12 log δ B<br />
α. <br />
Die Schrittzahl (2k) k/4+O)1) für die HKZ-Reduktion von R l,l+1 ∈ R 2k×2k ist polynomial wenn<br />
(2k) k/4 = n O(1) , also wenn k = O(log n/ log log n).<br />
Alternativer Beweis zu 2. Beh.: #It ≤ h3 (1+o(1))<br />
2<br />
log 1/δB α — auch für DB<br />
Aus ≪ 1. Für die<br />
LLL-Eingabebasis gilt rj,j 2 ≤ αn−1 λ 2 j . Damit gilt für den Startwert D Ein der Lovász Invariante<br />
D der Eingabebasis<br />
D Ein = D1 h−1 D2 h−2 · · · Dh−1<br />
1<br />
≤ (λ 2(h−1<br />
1 · · · λ 2(h−1)<br />
k<br />
) (λ 2(h−2)<br />
k+1<br />
· · · λ 2(h−2)<br />
2k<br />
) · · · · · · (λ 2 kh−2k+1 · · · λ 2 kh−k) α<br />
Andererseits gilt für HKZ-Basen dass r 2 1,1/r 2 j,j ≤ α j < j 1+ln j<br />
[S87] <strong>und</strong> somit<br />
D ≥ (λ 2(h−1)<br />
1 · · · λ 2(h−1)<br />
k<br />
) (λ 2(h−2)<br />
k+1<br />
· · · λ 2(h−2)<br />
2k<br />
) · · · · · · (λ 2 kh−2k+1 · · · λ 2 kh−k) /n<br />
Der D-Wert der Ausgabebasis ist nicht kleiner als der einer HKZ-Basis, daher folgt<br />
#It ≤ log 1/δB k 2 (D Ein /D Aus )<br />
≤ 1 (n−1)n(h−1)<br />
k 2 2<br />
log 1/δB α + n(h−1)<br />
2k<br />
log 2 1/δB n 1+ln n<br />
h−1<br />
(n−1)n 2 .<br />
(1+ln n)n(h−1)/2
6.3. PRIMAL-DUALE REDUKTION 53<br />
≤ h3 (1+o(1))<br />
2<br />
log 1/δB α sofern log 1/δB n 1+ln n = o(n).<br />
Demgegenüber liefert der Beweis zu Satz 6.2.4, Teil 2 eine obere Schranke für #It, die um den<br />
Faktor 1 6 kleiner ist, aber die Voraussetzung min l D l /D l+1 ≥ 1 gilt mit wenigen Ausnahmen.<br />
Algorithmus 6.2.2, Beschleunigte Semi Block 2k-Reduktion<br />
EINGABE LLL-Basis B = QR ∈ Z m×n zu (δ L , α), n = hk; δ B mit 0 < δ B < 1.<br />
1. Wähle l, 1 ≤ l < n so dass D l /D l+1 maximal ist.<br />
HKZ-reduziere R l zu R l T k mit T k ∈ GL k (Z), B l := B l T k .<br />
2. HKZ-reduziere R l+1 zu R l+1 T k mit T k ∈ GL k (Z),<br />
B l+1 := B l+1 T k , erneuere R l,l+1 .<br />
3. HKZ-reduziere R l,l+1 zu R l,l+1 T 2k mit T 2k ∈ GL 2k (Z).<br />
IF Dl<br />
neu ≤ δB k2D<br />
l alt THEN [B l , B l+1 ] := [B l , B l+1 ]T 2k , GO TO 1<br />
HKZ-reduziere alle R l zu R l T k , B l := B l T k , <strong>und</strong> längenreduziere B.<br />
AUSGABE Semi Block 2k-Basis B.<br />
Satz 6.2.5 (zu Alg. 6.2.2)<br />
1. Bei der Wahl von l ist B Semi Block 2k-Basis für δ B mit δ k B (D l/D l+1 ) 1/k = β k .<br />
2. Sobald max l (D l /D l+1 ) ≤ α k2 /2 t β k k erreicht ist, erreicht Alg. 6.2.2 mit höchstens h3 /12<br />
Iterationen <strong>und</strong> δ B = α −1/2t dass D B ≤ 1 <strong>und</strong> damit dass im Mittel der l : D l /D l+1 ≤ β k k .<br />
Beweis. 2. Wir folgen dem Beweis zu Satz 6.2.4, Teil 2. Wie für die Schranke von DB<br />
Ein gilt<br />
beim Erreichen von max l D l /D l+1 ≤ α k2 /2 t βk k dass D B ≤ (α k2 /2 t βk k)s ≤ (α k2 /2 t βk k /6 . Danach<br />
)h3<br />
führt jeder Schritt 3 mit δ B = α −1/2t zu D neu<br />
B<br />
solchen Iterationen gilt D neu<br />
B<br />
≤ δB<br />
2k2D<br />
alt = α −k2 /2 t D alt . Nach h3<br />
12 log 1/δ B<br />
α<br />
≤ β ks<br />
k ≤ βk h3 /6<br />
k<br />
<strong>und</strong> somit im Mittel D l /D l+1 ≤ β k k . <br />
Folgerungen. Wenn für die Ausgabebasis von Alg. 6.2.2 mit δ B := α −1/2t gilt dass D l /D l+1 βk<br />
k<br />
für alle l dann folgt #It h3<br />
neu<br />
12<br />
. Offen bleibt, wie sich die Dl<br />
/Dl<br />
alt -Werte der Schritte 3 verteilen,<br />
welche D l /D l+1 weiter zu D l /D l+1 ≪ βk k neu<br />
erniedrigen. Wenn auch hier kleine Werte Dl<br />
/Dl<br />
alt<br />
ähnlich häufig sind, dann macht Alg. 6.2.2 mit wachsendem δ B = α −1/2j für j = 1, ..., t δ B =<br />
α −1/2t → 1 für t → ∞ nur O(h 3 t) Iterationen, während Alg. 6.2.1 nach Satz 6.2.4 bis zu O(h 3 2 t )<br />
Iterationen ausführt. Dies ermöglicht einen exponentiellen Speed-up durch Alg. 6.2.2.<br />
6.3 Primal-Duale Reduktion<br />
Koy’s primal-duale Reduktion [Ko05] erniedrigt D l = (det R l ) 2 wie folgt durch HKZ-Reduktion in<br />
Dimension k: Maximiere r kl,kl über alle GNF von R l T mit T ∈ GL k (Z) zu max r kl,kl durch HKZ-<br />
Reduktion der dualen Basis R ∗ l . Minimiere r kl+1,kl+1 durch HKZ-Reduktion von R l+1 . Danach<br />
LLL-reduziert man R l,l+1 , wenn dies r kl,kl <strong>und</strong> damit D l erniedrigt.<br />
Für <strong>Gitter</strong> der Dimension n = hk wird mit polynomial vielen HKZ-Reduktionen der Dimension<br />
k die Approximation ‖b 1 ‖ 2 /λ 2 1 ≤ γ k (αγk 2)h−1 erreicht. Damit wird β k /δk k in Satz 6.2.3 ersetzt<br />
durch αγk 2 . Die primal-duale Reduktion iteriert HKZ-Reduktion in Dimension k, während Semi<br />
Block 2k-Reduktion auf der HKZ-Reduktion in Dimension 2k aufbaut. Primal-duale Reduktion<br />
mit Blockbreite 2k ersetzt β k /δk k in Satz 6.2.3 durch die kleinere Konstante √ αγ k = Θ(k).<br />
T
54 KAPITEL 6. HKZ- UND BLOCK-REDUKTION VON GITTERBASEN<br />
Definition 6.3.1<br />
Eine Basis B = QR ∈ R m×hk ist primal-duale Basis mit Blockweite k wenn<br />
1. R 1 , ..., R h ⊂ R HKZ-Basen sind <strong>und</strong> B längenreduziert ist,<br />
2. max<br />
T r2 kl,kl ≤ α r 2 kl+1,kl+1 für l = 1, ..., h − 1,<br />
dabei wird r 2 kl,kl maximiert über die GNF von R lT mit T ∈ GL k (Z).<br />
Satz 6.3.2 (Ko05, GHKN06)<br />
Für jede primal-duale Basis B = QR ∈ R m×n , n = hk, des <strong>Gitter</strong>s L gilt:<br />
1. ‖b 1 ‖ 2 ≤ γ k (αγ 2 k ) h−1<br />
2 (det L) 2/n ,<br />
2. ‖b 1 ‖ 2 ≤ γ 2 k (αγ2 k )h−1 λ 2 1.<br />
Beweis. 1. Nach Def. 6.3.1 gilt für [r i,j ] = R dass max<br />
T<br />
r2 kl,kl ≤ α rkl+1,kl+1. 2 Die Hermite<br />
Ungleichung λ 2 1(L(R ∗ l )) ≤ γ kD −1/k<br />
l<br />
für L(R ∗ l ) <strong>und</strong> die HKZ-Reduktion von R∗ l<br />
sichern dass<br />
D 1/k<br />
l<br />
≤ γ k max<br />
T r2 kl,kl = γ k /λ 2 1(L(R ∗ l )).<br />
Für die HKZ-Basis R l+1 gilt λ 2 1(L(R l+1 )) = r 2 kl+1,kl+1 ≤ γ kD 1/k<br />
l+1 .<br />
Die Kombination dieser beiden Ungleichungen führt zu<br />
(6.3)<br />
D 1/k<br />
l<br />
≤ γ k max<br />
T r2 kl,kl ≤ α rkl+1,kl+1 2 ≤ αγk 2 D 1/k<br />
l+1 .<br />
Mit der HKZ-Basis R 1 folgt durch Induktion über l dass<br />
‖b 1 ‖ 2 ≤ γ k D 1/k<br />
1 ≤ γ k (αγ 2 k) l D 1/k<br />
l+1<br />
für l = 0, ..., h − 1.<br />
Die h-te Wurzel des Produkts dieser h Ungleichungen ergibt die Behauptung.<br />
2. Die Ungleichung (6.3) gilt auch in dualer Form für Dl ∗ = (det R∗ l )2 . Daher gilt auch das duale<br />
1 ∗ zu Satz 6.3.2, Teil 1 :<br />
1 ∗ . max<br />
T<br />
r2 kl,kl ≥ γ −1<br />
k<br />
(αγ2 k) −h+1<br />
2 (det L) 2/n<br />
mit r 2 kl,kl maximiert über die GNF von R lT mit T ∈ GL k (Z)<br />
1 <strong>und</strong> 1 ∗ ergeben zusammen normb 1 2 ≤ γ 2 k (αγ2 k )l−1 max<br />
T r2 kl,kl. Somit liefert Def. 6.3.1 Teil 2.<br />
‖b 1 ‖ 2 ≤ γk(αγ 2 k) 2 l−1 max<br />
T<br />
r2 kl,kl<br />
≤ (αγ 2 k) l r 2 kl+1,kl+1 für l = 0, ..., h − 1.<br />
Es folgt die Behauptung, denn es gilt für b = ∑¯n<br />
j=1 u jb j ∈ L, u¯n ≠ 0 mit normb 1 = λ 1 O.B.d.A.<br />
dass ¯n > n − k <strong>und</strong> folglich r n−k+1,n−k+1 ≤ ‖π n−k+1 (b)‖ ≤ λ 1 .<br />
<br />
Erläuterungen zu Alg. 6.3.1.<br />
1. Um den letzten Diagonaleintrag r k,k von GNF(R l ) ∈ R k×k über die GNF(R l T) mit T ∈<br />
GL k (Z) zu maximieren HKZ-reduziere R ∗ l = R−t l<br />
= U k R −1<br />
l<br />
U k zu R ∗ l T mit T ∈ GL k(Z). Diese<br />
HKZ-Reduktion minimiert den ersten Diagonaleintrag r 1,1 von GNF(R ∗ l ) <strong>und</strong> 1/r 1,1 ist der letzte<br />
Diagonaleintrag von GNF((R ∗ l T)∗ U k ) = GNF(R l T −t U k ). Die Diagonalen von GNF(R ∗ l<br />
T) <strong>und</strong><br />
GNF(R −t<br />
T ) sind einander invers; U k dreht die Diagonale von GNF(R l T −t ) um.<br />
2. Bei der LLL-Reduktion von R l,l+1 in Schritt 3 sind nur Austausche der Spalten k <strong>und</strong> k + 1<br />
von R l,l+1 möglich. Denn das letzte Diagonalement r k,k von R l ist maximal <strong>und</strong> r k−i,k−i ist maximal<br />
bei festen r k−i1,k−i+1, ..., r k,k . Ebenso sind die Diagonalemente von R l+1 nininimal wenn<br />
alle vorangehenden Diagonalelemente von R l+1 festgehalten werden.
6.3. PRIMAL-DUALE REDUKTION 55<br />
Algorithmus 6.3.1, Primal-Duale Reduktion<br />
EINGABE LLL-Basis B = QR ∈ Z m×n , n = hk, zu δ, α.<br />
0. l := 1,<br />
1. HKZ-reduziere R l+1 zu R l+1 T k mit T k ∈ GL k (Z), B l+1 := B l+1 T k .<br />
2. HKZ-reduziere R ∗ l zu R∗ l T ⋆ mit T ⋆ ∈ GL k (Z), B l := B l T −1<br />
⋆ U k ,<br />
erneuere R l,l+1 , LLL-reduziere R l,l+1 mit δ zu R l,l+1 T 2k<br />
3. IF in Schritt 2 erfolgte ein LLL-Austausch der Spalten k <strong>und</strong> k + 1 von R l,l+1<br />
THEN [B l , B l+1 ] := [B l , B l+1 ]T 2k , l := max(l − 1, 1) ELSE l := l + 1.<br />
4. IF l < h THEN GO TO 1 ELSE längenreduziere B.<br />
AUSGABE primal-duale Basis B<br />
Satz 6.3.3<br />
1. Alg. 6.3.1 macht höchstens 2nh log 1/δ M Iterationen für den Wert M := max(‖b 1 ‖ , ..., ‖b n ‖)<br />
der Eingabebasis. Eine Iteration geht in (2k) k/4 k O(1) arithmetischen Schritten.<br />
2. Alg. 6.3.1 macht höchstens n2 h<br />
12 log 1/δ α Iterationen bis D B ≤ 1 erreicht ist.<br />
Beweis. 1. Jeder Schritt 3 mit l := max(l − 1, 1) erniedrigt D := D1 h−1 D2 h−2 · · · Dh−1 1<br />
D neu ≤ δ D alt für das δ < 1 der LLL-Reduktion <strong>und</strong> D l = (det R l ) 2 .<br />
so dass<br />
Die Eingabebasis hat den D B -Wert D Ein ≤ M n(h−1) <strong>und</strong> für die Ausgabebasis gilt D Aus ≥ 1.<br />
Dies beschränkt die Anzahl #It − der Schritte 3 mit l := max(l − 1, 1) zu<br />
#It − ≤ log 1/δ D Ein ≤ n(h − 1) log 1/δ M.<br />
Die Gesamtzahl #It der Schritte 3 ist #It = h − 1 + 2#It − ≤ 2nh log 1/δ M.<br />
2. Wir folgen dem Beweis von Satz 6.2.4, Teil 2. Jede Iteration mit Dl<br />
neu ≤ δ Dl<br />
alt erniedrigt wie<br />
gezeigt D B zu DB<br />
neu ≤ δ2 DB alt.<br />
Für die Anzahl #It der Iterationen bis zum Erreichen von D B ≤ 1<br />
folgt mit s = ∑ h<br />
l=1 (h2 /4 − (h/2 − l) 2 ) = (h 3 − h)/6<br />
#It ≤ 1 2 log 1/δ D Ein<br />
B ≤ 1 2 log 1/δ α k2s ≤ k2 h 3<br />
12 log 1/δ α = n2 h<br />
12 log 1/δ α. <br />
Die Klausel 2. von Def. 6.3.1 wurde von Gama, Nguyen [GN08] verschärft zu<br />
2 + . max<br />
T r2 kl+1,kl+1 ≤ (1 + ε) 2 r 2 kl+1,kl+1 für l = 1, ..., h − 1. ( slide-reduction [GN08] )<br />
Es bezeichne R ′ l := [r i,j] kl−k+2≤i,j≤kl+1 ∈ R k×k das um eine Einheit nach rechts verschobene<br />
Segment R l von R = [r i,j ] ∈ R n×n . Es bezeichnet max<br />
T<br />
r2 kl+1,kl+1 das Maximum über ¯r<br />
kl+1,kl+1<br />
2<br />
von [¯r i,j ] = GNF(R ′ l T) über alle T ∈ GL k(Z). Ferner sei B ′ l = [b kl−k+2, ..., b kl+1 ] der um eine<br />
Einheit nach rechts verschobenen Block B l .<br />
Def. Eine längenred. Basis B = QR ∈ R m×n mit n = hk ist streng primal-dual, wenn R 1 , ..., R h<br />
HKZ-Basen sind <strong>und</strong> wenn 2 + für l = h−1 <strong>und</strong> für ein l = l max gilt, welches D l /D l+1 maximiert.<br />
Satz 6.3.4 (GN08b)<br />
Für jede streng primal-duale Basis B = QR ∈ R m×n , n = hk, des <strong>Gitter</strong>s L gilt:<br />
1. ‖b 1 ‖ ≤ ((1 + ε) γ k ) 1 n−1<br />
2 k−1 (det L) 1/n ,<br />
2. ‖b 1 ‖ ≤ ((1 + ε) γ k ) n−k<br />
k−1 λ1 .
56 KAPITEL 6. HKZ- UND BLOCK-REDUKTION VON GITTERBASEN<br />
Für slide-reduced Basen wird in [GN08b] 2 + für l = 1, ..., h − 1 gefordert <strong>und</strong> es wird Satz<br />
6.3.4 für slide reduzierte Basen gezeigt. Weil die Bedingung 2 + nur für zwei Werte von l gefordert<br />
wird, macht die streng primal-duale Reduktion höchstens 2 HKZ-Reduktionen pro Iteration <strong>und</strong><br />
ist damit schneller als die slide Reduktion von [GN08b].<br />
Beweis. Für D ′ l := (det R′ l )2 folgt D ′ l /r2 kl+1,kl+1 ≤ ((1 + ε)γ k) k r 2(k−1)<br />
kl+1,kl+1 für l = l max <strong>und</strong><br />
l = h − 1 aus 2 + . Weiter gilt für die HKZ-Basis R l dass<br />
(6.4)<br />
r 2(k−1)<br />
kl−k+1,kl−k+1 ≤ γk k D l /r 2 kl−k+1,kl−k+1.<br />
Kombination der beiden Ungleichungen <strong>und</strong> D ′ l /r2 kl+1,kl+1 = D l/r 2 kl−k+1,kl−k+1<br />
liefert<br />
(6.5)<br />
r kl−k+1,kl−k+1 ≤ ((1 + ε)γ k ) k<br />
k−1 rkl+1,kl+1 für l = l max <strong>und</strong> l = h − 1.<br />
Wir zeigen zunächst, dass<br />
(6.6)<br />
D l ≤ ((1 + ε) γ k ) 2k2<br />
k−1 Dl+1 für l = 0, ..., h − 1.<br />
Bew.: Für l = l max wurde oben gezeigt dass<br />
D ′ l ≤ (1 + ε) k γ k kr 2k<br />
kl+1,kl+1 ≤ (1 + ε) k γ 2k<br />
k D l+1 .<br />
Die zweite Ungleichung gilt weil R l+1 HKZ-Basis ist. Aus (6.5) folgt<br />
(6.7)<br />
D l = r 2 kl−k+1,kl−k+1D ′ l/r 2 kl+1,kl+1 ≤ ((1 + ε) γ k ) 2k<br />
k−1 D<br />
′<br />
l .<br />
Die Kombination der beiden vorangehenden Ungleichungen liefert für l = l max<br />
D l < ((1 + ε) γ k ) 2k<br />
k−1 +2k D l+1 = ((1 + ε) γ k ) 2k2<br />
k−1 Dl+1 .<br />
Weil (6.6) für l max gilt, muss (6.6) für alle l = 1, ..., h − 1 gelten.<br />
1. Weil R 1 HKZ-Basis ist, folgt aus (6.6) für l = 1, ..., h dass<br />
Multiplikation dieser h Ungleichungen liefert<br />
Es folgt die Behauptung<br />
‖b 1 ‖ 2 ≤ γ k D 1/k<br />
1 ≤ γ k ((1 + ε) γ k ) 2k(l−1)<br />
k−1 D 1/k<br />
l<br />
.<br />
‖b 1 ‖ 2h ≤ γk h((1 + ε) γ k) kh(h−1)<br />
k−1 (det L) 2/k.<br />
‖b 1 ‖ 2 ≤ γ k ((1 + ε) γ k ) n−k<br />
k−1 (det L) 2/n < ((1 + ε) γ k ) n−1<br />
k−1 (det L) 2/n .<br />
2. Im Beweis zu 1. wurde für l = h − 1 gezeigt<br />
‖b 1 ‖ 2 ≤ γ k ((1 + ε) γ k ) 2k(h−2)<br />
k−1 D 1/k<br />
h−1 .<br />
Aus 2 + für l = h − 1 folgt (6.5) <strong>und</strong> (6.7) für l = h − 1. Dies <strong>und</strong> 2 + impliziert dass<br />
‖b 1 ‖ 2 ≤ γ k ((1 + ε) γ k ) 2k(h−2)<br />
k−1 + 2<br />
k−1 (D<br />
′<br />
h−1<br />
) 1/k<br />
≤ γ k ((1 + ε) γ k ) 2kh−4k+2)<br />
k−1 (1 + ε)γ k r 2 n−k+1,n−k+1 .<br />
= ((1 + ε) γ k ) 2 n−k<br />
k−1 r<br />
2<br />
n−k+1,n−k+1<br />
.<br />
O.B.d.A. ist π n−k+1 (b) ≠ 0 für ein b ∈ L mit ‖b‖ = λ 1 , sonst kann man n um k erniedrigen. Somit<br />
gilt r n−k+1,n−k+1 ≤ ‖π n−k+1 (b)‖ ≤ λ 1 . Die letzten beiden Ungleichungen liefern die Behauptung<br />
‖b 1 ‖ ≤ ((1 + ε) γ k ) n−k<br />
k−1 λ1 .
6.4. BLOCK-KORKINE ZOLOTAREFF REDUKTION, BKZ 57<br />
Algorithmus 6.3.2, Beschleunigte, Streng Primal-Duale Reduktion<br />
EINGABE LLL-Basis B = QR ∈ Z m×n , n = hk, ε > 0.<br />
1. Wähle l, 1 ≤ l < n so dass D l /D l+1 maximal ist.<br />
2. HKZ-reduziere R l+1 zu R l+1 T mit T ∈ GL k (Z), B l+1 := B l+1 T, erneuere R l+1 .<br />
HKZ-reduziere (R ′ l )∗ zu (R ′ l )∗ T ⋆ mit T ⋆ ∈ GL k (Z), [r neu<br />
kl+i,kl+j ] 2≤i,j≤1+k := GNF(R ′ l T−1 ⋆ U k ),<br />
3. IF rkl+1,kl+1 neu<br />
alt<br />
> (1 + ε) rkl+1,kl+1<br />
THEN B′ l := B′ l T −1<br />
l<br />
U k , erneuere R l,l+1 , GO TO 1<br />
4. Führe die Schritte 2, 3 für l = h − 1 durch, falls dies für das aktuelle R h−1,h noch aussteht;<br />
längenreduziere B.<br />
AUSGABE streng primal-duale Basis B.<br />
Satz 6.3.5<br />
Alg. 6.3.2 führt höchstens<br />
n 2 h<br />
6 log 1+ε α Iterationen durch bis D B ≤ 1 erreicht ist.<br />
Beweis.<br />
Analog zu Satzc 6.2.4 Teil 2; δ k2<br />
B in Alg. 6.2.1 entspricht (1 + ε)2 . <br />
6.4 Block-Korkine Zolotareff Reduktion, BKZ<br />
Definition 6.4.1 (k-reduzierte Basis)<br />
Eine Basis [b 1 , . . . , b n ] = B = QR ∈ R m×n ist k-reduziert, wenn<br />
1. |r i,j | ≤ 1 2 r i,i für 1 ≤ i < j ≤ n<br />
2. Die Basen [r i,j ] l
58 KAPITEL 6. HKZ- UND BLOCK-REDUKTION VON GITTERBASEN<br />
Verdoppelung der Blockweite k reduziert somit den Approximationsfaktor γ 2 n−i<br />
k−1<br />
k<br />
die Quadratwurzel multiplixiert mit 2 2/k .<br />
Wie für LLL- <strong>und</strong> HKZ-Basen sind die oberen Schranken zu ‖bi‖2<br />
λ i(L) 2<br />
Satz 6.4.4<br />
Für jede k-reduzierte Basis b 1 , . . . , b n des <strong>Gitter</strong>s L gilt<br />
λ i (L) 2 / ‖b i ‖ 2 ≤ γ 2 i−1<br />
k−1 i+3<br />
k 4<br />
für i = 1, . . . , n.<br />
<strong>und</strong> λi(L)2<br />
‖b i‖ 2<br />
annähernd auf<br />
fast gleich.<br />
Die Werte γ 2<br />
k−1<br />
k<br />
sind bekannt für k = 2, 3, . . . , 8, 24:<br />
k 2 3 4 5 6 7 8 24<br />
γ 2<br />
k−1<br />
k<br />
4<br />
3<br />
2 1/3 2 1/3 2 3/10 2 2/5 /3 15 2 2/7 2 2/7 2 4/23<br />
≈ 1, 333 1, 260 1, 260 1, 231 1, 226 1, 219 1, 219 1.128<br />
Ajtai [Aj03] zeigt, dass die Schranken von Satz 6.4.3 bis auf einen konstanten Faktor im Exponenten<br />
von γ k optimal sind. Dagegen sind die minimalen oberen Schranken C k,n zum Satz 6.4.3<br />
nicht bekannt Die Schranke aus Satz 6.4.3 ist für n ≥ 3 nicht scharf. Es gilt dass C 2,n = ( )<br />
4 n−1<br />
3<br />
[BaKa84] <strong>und</strong> C 3,n =<br />
( √3/2 ) n−3<br />
für ungerade n ≥ 3 [S94].<br />
Lemma 6.4.5<br />
Für jede k-reduzierte Basis b 1 , . . . , b n ∈ R m gilt ‖b 1 ‖ ≤ γ n−1<br />
k−1<br />
k<br />
M mit<br />
(<br />
)<br />
M := max ‖̂b n−k+2 ‖, . . . , ‖̂b n ‖ .<br />
Beweis.<br />
(6.8)<br />
Wir erweitern die Basis b 1 , . . . , b n durch k − 2 linear unabhängige Vektoren zu<br />
b −k+3 , . . . , b −1 , b 0 , b 1 , . . . , b n<br />
so, dass gilt<br />
(6.9)<br />
(6.10)<br />
‖b i ‖ = ‖b 1 ‖ für i ≤ 0<br />
〈b i , b j 〉 = 0 für i ≤ 0, i < j <strong>und</strong> j = −k + 3, . . . , n.<br />
Dazu betten wir die Basis in den R m+k−2 ein: Wir wählen b −k+3 , b −k+4 , . . . , b −1 , b 0 als ‖b 1 ‖-<br />
Vielfaches der kanonischen Einheitsvektoren in die zusätzlichen k − 2 Richtungen. Die <strong>Gitter</strong>basis<br />
(6.8) ist k-reduziert. Für jedes i mit −k + 3 ≤ i ≤ n − k + 1 bilden die Vektoren<br />
π i (b i ), . . . , π i (b i+k−1 )<br />
eine HKZ-reduzierte Basis. Nach Definition der Hermite-Konstanten γ k gilt<br />
k−1<br />
∏<br />
‖̂b i ‖ k ≤ γ k 2<br />
k<br />
s=0<br />
‖̂b i+s ‖ für i = −k + 3, . . . , n − k + 1.<br />
Durch Multiplikation dieser n − 1 Ungleichungen erhalten wir<br />
n−k+1<br />
∏<br />
i=−k+3<br />
‖̂b i ‖ k ≤ (γ k ) k(n−1)<br />
2<br />
‖̂b −k+3 ‖ 1 ‖̂b −k+4 ‖ 2 · · · ‖̂b 1 ‖ k−1
6.4. BLOCK-KORKINE ZOLOTAREFF REDUKTION, BKZ 59<br />
Durch Kürzen folgt<br />
· ‖̂b 2 ‖ k ‖̂b 3 ‖ k · · · ‖̂b n−k+1 ‖ k ‖̂b n−k+2 ‖ k−1 · · · ‖̂b n−1 ‖ 2 ‖̂b n ‖ 1 .<br />
‖̂b −k+3 ‖ k−1 · · · ‖̂b 0 ‖ 2 ‖̂b 1 ‖ 1 ≤ (γ k ) k(n−1)<br />
2<br />
‖̂b n−k+2 ‖ k−1 ‖̂b n−k+2 ‖ k−1 · · · ‖̂b n−1 ‖ 2 · ‖̂b n ‖ 1 .<br />
Nach Konstruktion gilt ‖̂b i ‖ = ‖b 1 ‖ für i ≤ 0 <strong>und</strong> es folgt<br />
‖b 1 ‖ (k 2) ≤ (γk ) k(n−1)<br />
2<br />
· M (k 2) <strong>und</strong> somit ‖b1 ‖ ≤ γ n−1<br />
k−1<br />
k<br />
M.<br />
Korollar 6.4.6<br />
Für jede k-reduzierte Basis b 1 , . . . , b n des <strong>Gitter</strong>s L gilt<br />
‖b 1 ‖ ≤ γ n−1<br />
k−1<br />
λ 1 (L).<br />
k<br />
<br />
Die Schranke von Korollar 6.4.6 ist suboptimal für k ≈ n denn für k = n gilt ‖b 1 ‖ = λ 1 . Sie ist<br />
besser als die in Theorem 2.6 [S87] für den Fall k|n bewiesene Schranke ‖b 1 ‖ ≤ γ 1/2<br />
k/2 (2k) n k −1 λ 1 .<br />
Beweis. Induktion über n: Für n = k ist b 1 , . . . , b n eine HKZ-Basis mit ‖b 1 ‖ = λ 1 (L) <strong>und</strong><br />
somit gilt die Behauptung.<br />
Sei n > k <strong>und</strong> v ≠ 0 ein kürzester <strong>Gitter</strong>vektoren. O.B.d.A. sei v /∈ L(b 1 , b 2 , . . . , b n−1 ), denn<br />
sonst folgt die Behauptung aus der Induktionsannahme für n − 1. Wegen v /∈ L(b 1 , . . . , b n−1 ) gilt<br />
π i (v) ≠ 0 für i = n − k + 1, . . . , n − 1. Wir erhalten mit L i = π i (L) für i = n − k + 1, . . . , n:<br />
λ 1 (L) = ‖v‖ ≥ λ 1 (L i ) = ‖̂b i ‖.<br />
Die Gleichheit λ 1 (L i ) = ‖̂b i ‖ gilt, weil π n−k+1 { (b i ), für i = n − k + 1, . .}<br />
. , n HKZ-Basis ist. Für<br />
das M von Lemma 6.4.5 gilt λ 1 (L) ≥ max ‖̂b i ‖ : i = n − k + 1, . . . , n = M. Somit folgt die<br />
Behauptung aus Lemma 6.4.5:<br />
‖b 1 ‖ ≤ (γ k ) n−1<br />
k−1<br />
· M ≤ (γ k ) n−1<br />
k−1<br />
· λ 1 (L). <br />
Beweis (zu Satz 6.4.3). . Korollar 6.4.6 liefert für die <strong>Gitter</strong> L i = π i (L) mit i = 1, . . . , n:<br />
(6.11)<br />
‖̂b i ‖ ≤ γ n−i<br />
k−1<br />
k<br />
λ 1 (L i )<br />
Ferner ist λ 1 (L i ) ≤ λ i (L), denn es gibt i linear unabhängige <strong>Gitter</strong>vektoren v, deren Länge<br />
höchstens λ i (L) ist <strong>und</strong> von denen ein Vektor π i (v) ≠ 0 erfüllt. Also λ 1 (L i ) ≤ π i (v) ≤ λ i (L).<br />
Wir erhalten die erste Behauptung, daß für i = 1, . . . , n gilt:<br />
‖̂b i‖ 2<br />
λ i(L) 2<br />
≤ γ<br />
n−i<br />
2· k−1<br />
k<br />
.<br />
Aus (6.11), µ 2 i,j ≤ 1 4 (die Basis ist längenreduziert) <strong>und</strong> λ 1 ≤ λ 2 ≤ · · · ≤ λ j folgt:<br />
∑i−1<br />
‖b i ‖ 2 = ‖̂b i ‖ 2 + (µ i,j ) 2 ‖̂b j ‖ 2<br />
j=1<br />
n−i<br />
2·<br />
∑i−1<br />
k−1<br />
≤ γk · λ i (L) 2 + 1 n−j<br />
2· k−1<br />
4<br />
γk · λ j (L) 2<br />
≤ γ 2·<br />
n<br />
k−1<br />
k<br />
·<br />
(<br />
γ<br />
−i<br />
2· k−1<br />
k<br />
+ 1 4<br />
j=1<br />
∑i−1<br />
γ<br />
j=1<br />
−j<br />
2· k−1<br />
k<br />
)<br />
· λ i (L) 2<br />
Wir schätzen die Summanden durch γ<br />
‖b i ‖ 2 ≤ γ 2·<br />
−1<br />
2· k−1<br />
k<br />
n<br />
k−1<br />
k<br />
· γ<br />
nach oben ab <strong>und</strong> erhalten:<br />
(<br />
1 + i − 1 )<br />
· λ i (L) 2<br />
4<br />
−1<br />
2· k−1<br />
k<br />
·<br />
n−1<br />
2· k−1<br />
≤ γk · i + 3 · λ i (L) 2<br />
4<br />
Damit haben wir die zweite Behauptung auch gezeigt.
60 KAPITEL 6. HKZ- UND BLOCK-REDUKTION VON GITTERBASEN<br />
Beweis (zu Satz 6.4.4). Nach Definition der sukzessiven Minima gilt λ 2 i ≤ max j=1,...,i ‖b j ‖ 2 .<br />
Für B = QR, R = [r i,j ] ∈ R n×n gilt ‖b i ‖ 2 = ∑ i<br />
j=1 r2 j,i ≤ 1 ∑ n<br />
4 j=1 r2 j,j <strong>und</strong> somit<br />
(6.12)<br />
λ 2 i ≤ i+3<br />
4 · max<br />
j=1,...,i ‖̂b j ‖ 2<br />
Lemma 6.4.5 angewandt auf die k-reduzierte Basis π j (b j ), . . . , π j (b i ) liefert für 1 ≤ j ≤ i − k + 1:<br />
(6.13)<br />
Andererseits gilt für i − k + 2 ≤ j ≤ i<br />
‖̂b j ‖ ≤ γ i−j<br />
k−1<br />
k<br />
max(‖̂b i−k+2 ‖, . . . , ‖̂b i ‖).<br />
(6.14)<br />
‖̂b j ‖ ≤ ‖π j (b j )‖ ≤ ‖b i ‖<br />
Aus (6.13) <strong>und</strong> (6.14) erhalten wir für 1 ≤ j ≤ i: ‖̂b j ‖ ≤ γ i−j<br />
k−1<br />
k<br />
‖b i ‖. Diese Ungleichung liefert mit<br />
(6.12) die Behauptung, daß für i = 1, . . . , n gilt:<br />
λ i (L) 2 / ‖b i ‖ 2 ≤ γ 2 i−1<br />
k−1<br />
k<br />
6.5 BKZ-Algorithmus<br />
i+3<br />
4 . <br />
Definition 6.5.1 ((k, δ)-reduzierte Basis)<br />
Eine Basis B = QR ∈ R m×n ist (k, δ)-reduziert zu 2 ≤ k ≤ n <strong>und</strong> 1 4 < δ < 1 wenn<br />
1. |r i,j | ≤ 1 2 r i,i für 1 ≤ i < j ≤ n,<br />
2. δ r 2 j,j ≤ λ 1 ( π j L(b j , . . . , b j+k−1 )) 2 für j = 1, . . . , n − k + 1.<br />
Algorithmus 6.5.1, BKZ-Algorithmus<br />
EINGABE: LLL-Basis [b 1 , . . . , b n ] = B = QR ∈ Z m×n , 2 ≤ k ≤ n,<br />
1<br />
4 < δ < 1.<br />
FOR j = 1, ..., n − 1 DO<br />
¯j := min(j + k − 1, n)<br />
IF some b j<br />
ENUM(j, ¯j) : Find minimal point (u j , . . . , u¯j) ∈ Z k \ {0} of:<br />
c j (u j , . . . , u¯j) := ∑¯j<br />
i=j<br />
b neu<br />
j<br />
∑ i<br />
s=j (u ir s.i ) 2 = ‖π j ( ∑¯j<br />
i=j u ib i )‖ 2 ,<br />
:= ∑¯j<br />
s=j u sb s , c j := c j (u j , . . . , u¯j) .<br />
IF δc j > c j THEN L 3 F P (b 1 , . . . , b j−1 , b neu<br />
j , b j , . . . , b j+k , δ)<br />
ELSE L 3 F P (b 1 , . . . , b j+k , δ)<br />
has been changed THEN repeat with the new basis B ELSE terminate<br />
AUSGABE (k, δ)-reduzierte Basis b 1 , . . . , b n .<br />
Der Algorithmus 6.5.1 aus [SE94] transformiert eine gegebene Basis in eine (k, δ)-reduzierte<br />
Basis des gleichen <strong>Gitter</strong>s. Die Routine L 3 F P aus Kapitel 4.4 macht LLL-Reduktion mit Gleitkommazahlen;<br />
Sie transformiert linear abhängige Eingabevektoren in eine Basis mit vorangehenden<br />
Nullvektoren. Die Routine ENUM(j, ¯j) minimiert c j (u j , . . . , u¯j), siehe Algorithmus 8.1.1 <strong>und</strong><br />
GAUSS-ENUM in Kapitel 8.<br />
Offenbar ist eine Ausgabebasis (k, δ)-reduziert. Die Variable j wird zyklisch durch die Zahlen<br />
1, . . . , n − k + 1 geschoben. Durch LLL-Reduktion wird die Ausgabebasis längenreduziert. In der<br />
Praxis [SE94, GN08a] ist der Algorithmus für k ≤ 20 recht schnell. Zu experimentell erreichten<br />
Approximationsfaktoren ‖b 1 ‖/λ 1 <strong>und</strong> Laufzeiten siehe [GN08a].
6.6. KRITISCHE K-REDUZIERTE BASEN FÜR K = 2, 3 61<br />
6.6 Kritische k-reduzierte Basen für k = 2, 3<br />
In diesem Abschnitt konstruieren wir kritische k-reduzierte Basen für k = 2, 3.<br />
Definition 6.6.1 (kritische k-reduzierte Basis)<br />
Eine k-reduzierte Basis b 1 , . . . , b n des <strong>Gitter</strong>s L heißt kritisch für n <strong>und</strong> k, falls ‖b1‖<br />
λ maximal<br />
1(L)<br />
für alle k-reduzierten Basen vom Rang n ist.<br />
Für k = 2 konstruieren wir die Basismatrix A n := [b 1 , . . . , b n ] ∈ M n,n (R) wie folgt. Sei ρ :=<br />
(6.15)<br />
Es gilt<br />
⎡ 1<br />
⎤<br />
1<br />
2<br />
0 · · · · · · 0<br />
1<br />
0 ρ<br />
2 ρ . .. 0 .<br />
A n :=<br />
. 0 ρ 2 1 . .. 2 ρ2 .<br />
. . . .. . .. . .. 0<br />
⎢<br />
⎣<br />
. ⎥<br />
.<br />
.. ρ<br />
n−2 1<br />
2 ρn−2 ⎦<br />
0 · · · · · · · · · 0 ρ n−1<br />
⎡<br />
A 2 := ⎢<br />
⎣0<br />
1<br />
1<br />
2<br />
√<br />
3<br />
4<br />
⎤<br />
⎥<br />
⎦<br />
√<br />
3<br />
4 :<br />
<strong>und</strong> für n ≥ 2 die Rekursion:<br />
⎡<br />
⎤<br />
1<br />
1<br />
2<br />
0 · · · 0<br />
0<br />
A n := ⎢<br />
⎥<br />
⎣. ρ · A n−1<br />
⎦<br />
0<br />
Satz 6.6.2<br />
√<br />
3<br />
Für die Basismatrix A n = [b 1 , . . . , b n ], des <strong>Gitter</strong>s L = L(b 1 , . . . , b n ) <strong>und</strong> ρ =<br />
4 gilt<br />
1. b 1 , . . . , b n ist eine kritische, 2-reduzierte Basis,<br />
2.<br />
‖b 1 ‖<br />
λ 1 (L) = 1<br />
ρ n−2 = ρ−n+2 ,<br />
3. λ 1 (L) = ρ 2(n+2) ( 1<br />
4 + ρ2) = ρ 2(n+2) .<br />
Beweis. Siehe [S94, Theorem 9]. <br />
Für k = 3 definieren wir die Basismatrix B n := [b 1 , . . . , b n ] ∈ M n,n (R) wie folgt (zur Konstruktion<br />
siehe [S94]):<br />
⎡<br />
1 1<br />
⎤<br />
1<br />
2 2<br />
0<br />
√ 0 3 −1<br />
2 2 √ 1<br />
3 2 √ 3<br />
B 4 :=<br />
√ √<br />
(6.16)<br />
2 1 2<br />
0 0<br />
3 2 3<br />
⎢<br />
⎥<br />
⎣<br />
1<br />
0 0 0 √2<br />
⎦
62 KAPITEL 6. HKZ- UND BLOCK-REDUKTION VON GITTERBASEN<br />
Die Matrizen B 2 , B 3 seien die 2 × 2- bzw. 3 × 3-Matrizen in der linken, oberen Ecke von B 4 . Für<br />
n ≥ 4 definieren wir die Basismatrix B n rekursiv:<br />
(6.17)<br />
⎡<br />
1<br />
1<br />
2<br />
0<br />
B n :=<br />
0 0<br />
. .<br />
⎢<br />
⎣<br />
0 0<br />
√<br />
3<br />
2<br />
1<br />
⎤<br />
2<br />
0 0 · · · 0<br />
1<br />
2 √ 0 · · · 0<br />
3<br />
√<br />
2<br />
3 · B n−2<br />
⎥<br />
⎦<br />
−1<br />
2 √ 3<br />
Satz 6.6.3<br />
Die Basismatrix B 2k+1 = [b 1 , . . . , b 2k+1 ] aus (6.17) bzw. (6.16) ist für k = 1, 2, . . . eine kritische,<br />
3-reduzierte Basis.<br />
Beweis. Siehe [S94, Theorem 14].
Kapitel 7<br />
N P-vollständige <strong>Gitter</strong>probleme<br />
7.1 N P-Vollständigkeit von Rucksack.<br />
Sei Σ endl. Alphabet, o.B.d.A. Σ = {0, 1}. Es bezeichne P die Klasse der polynomial-Zeit entscheidbaren<br />
Sprachen L ⊂ Σ ∗ , d.h.<br />
L ∈ P gdw ∃ Turing Maschine M, welche x ↦→ χ L (x) in |x| O(1) Turingschritten<br />
berechnet. D.h. ∃c > 0, so dass die Schrittzahl der Berechnung<br />
x ↦→ χ L (x) höchstens c|x| c ist. Dabei ist |x| die Länge von x ∈ Σ ∗ .<br />
Die Klasse N P der nichtdeterministischen polynomial-Zeit Sprachen:<br />
L ∈ N P gdw ∃c > 0 : ∃R ⊂ Σ ∗ × Σ ∗ polynomial-Zeit entscheidbar so dass<br />
L = {x ∈ Σ ∗ | ∃y : |y| ≤ |x| c , (x, y) ∈ R}<br />
Offenbar gilt P ⊂ N P.<br />
(y ist Zeuge für x ∈ L).<br />
Karp-Reduktion. Sei A, B ⊂ Σ ∗ . A ist Karp-reduzierbar auf B, Bez.: A ≤ pol B, wenn<br />
∃ polynomial Zeit berechenbares f : Σ ∗ → Σ ∗ , so dass x ∈ A ⇐⇒ f(x) ∈ B für alle x ∈ Σ ∗ .<br />
Fakt A ≤ pol B,<br />
B ∈ P ⇒ A ∈ P<br />
A ≤ pol B ≤ pol C ⇒ A ≤ pol C.<br />
Definition 7.1.1<br />
L ∈ N P ist N P-vollständig, wenn A ≤ pol L für alle A ∈ N P.<br />
Fakt Sei A ≤ pol B <strong>und</strong> A L-vollständig, dann ist B N P-vollständig.<br />
Satz 7.1.2 (Cook, Levin 1973)<br />
Für jedes N P-vollständige L gilt L ∈ P gdw P = N P.<br />
Cook’sche Hypothese. P ≠ N P.<br />
Begründung: Schwierige N P-Probleme sind seit Jahrh<strong>und</strong>erten bekannt, z.B. Entscheide zu<br />
gegebenen n, s ∈ N : ∃ Primzahl p ≤ s mit p teilt n.<br />
Satz 7.1.3 (Cook, Karp 1973)<br />
{<br />
∣ }<br />
∣∣∣<br />
Rucksack := (a 1 , . . . , a n , b) ∈ N n+1 ∃x 1 , . . . , x n ∈ {0, 1} :<br />
Σ n i=1 a ist N P-vollständig.<br />
ix i = b, n ∈ N<br />
63
64 KAPITEL 7. N P-VOLLSTÄNDIGE GITTERPROBLEME<br />
Cook zeigte : SAT ist N P-vollständig, Karp zeigte: SAT ≤ pol Rucksack.<br />
7.2 N P-Vollständigkeit von SVP l∞ , CVP l∞ , CVP l2 .<br />
Siehe Micciancio, Goldwasser, Complexity of Lattice Problems, KAP 2002 [MG02], Kapitel 3, 4.<br />
Wir formulieren SVP ‖ ‖ , CVP ‖ ‖ als Sprachen<br />
CVP ‖ ‖ = {(B, y, t) ∈ Z m×n+m+1 | ∃x ∈ Z n : ‖Bx − y‖ ≤ t}<br />
SVP ‖ ‖ = {(B, t) ∈ Z m×n+1 | ∃x ∈ Z n \{0} : ‖Bx‖ ≤ t}.<br />
Satz 7.2.1<br />
SVP l∞ , CVP l∞<br />
sind N P-vollständig.<br />
Beweis.<br />
I. Rucksack ≤ pol SVP ‖ ‖∞ . Reduziere gemäß f : (a 1 , . . . , a n , b) ↦→ (B, 1) mit<br />
⎡<br />
B = [b 1 , . . . , b n+1 ] =<br />
⎢<br />
⎣<br />
2 1<br />
. .. O .<br />
O 2 1<br />
2a 1 · · · 2a n 2b<br />
0 · · · 0 1<br />
⎤<br />
∈ Z (n+2)(n+1) .<br />
⎥<br />
⎦<br />
Beh.: (a 1 , . . . , a n , b) ∈ Rucksack ⇔ λ 1,∞ (L(B)) = 1.<br />
Bew.: “ ⇒“ (trivial) Sei (x 1 , . . . , x n ) ∈ {0, 1} n Rucksacklösung, Σ n i=1 a ix i = b. Dann gilt für<br />
x := (x 1 , . . . , x n , −1) t , dass<br />
Bx = Σ n i=1b i x i − b n+1 , ‖Bx‖ ∞ = 1 ,<br />
denn |2x i − 1| = 1 für x i ∈ {0, 1} <strong>und</strong> 2(Σ n i=1 a ix i − b) = 0.<br />
“ ⇐” Ang. ‖Σ n+1<br />
i=1 x ib i ‖ ∞ = 1. Wir zeigen 1. x 1 , . . . , x n ∈ {0, 1}, 2. Σ n i=1 a ix i = b.<br />
1. Offenbar gilt |2x i − 1| ≤ 1 für i = 1, . . . , n. Aus 2x i − 1 = 0 folgt der Widerspruch x i = 1 2 .<br />
Somit gilt 2x i − 1 = ±1 <strong>und</strong> x i ∈ {1, 0} für i = 1, . . . , n. Offenbar sichert die letzte Zeile von B,<br />
dass |x n+1 | = 1.<br />
2. O.B.d.A. sei x n+1 = −1. Wegen |x n+1 | ≤ 1, x n+1 ≠ 0 liefert die Multiplikation von x mit<br />
−sign(x n+1 ) dass x n+1 = −1. Aus 2 | ∑ n<br />
i=1 a ix i − b| ≤ 1 folgt ∑ n<br />
i=1 a ix i = b.<br />
II. Rucksack ≤ pol CVP l∞ : Reduziere gemäß f : (a 1 , . . . , a n , b) ↦→ (B ′ , y, 1) mit<br />
⎡<br />
⎤<br />
2 1<br />
[B ′ . .. , y] = ⎢<br />
O .<br />
⎥<br />
⎣ O 2 1 ⎦ ∈ Z(n+1)2 .<br />
2a 1 · · · 2a n 2b<br />
Wir zeigen: (a 1 , ..., a n , b) ∈ Rucksack ⇔ (B ′ , y, 1) ∈ CVP.<br />
“⇒” trivial. “⇐” Aus ‖B ′ x − y‖ ∞ = 1 folgt (a 1 , . . . , a n , b) ∈ Rucksack nach Teil I des Beweises.<br />
<br />
Satz 7.2.1 wurde von van Emde Boas [EmBoas 81] bewiesen. Er ist wichtig für den Fall,<br />
dass man Quantencomputer bauen kann. Für Quantencomputer sind Faktorisieren ganzer Zahlen,<br />
Brechen von RSA, Diskreter Logarithmus in pol.-Zeit. Aber P ≠ N P, d.h. P Qu ≠ N P Qu gilt<br />
wohl weiter.
7.2. N P-VOLLSTÄNDIGKEIT VON SVP l∞ , CVP l∞ , CVP l2 . 65<br />
Satz 7.2.2<br />
CVP l2 ist N P-vollständig,( l 2 = ‖ ‖ ).<br />
Beweis. Wir zeigen Rucksack ≤ pol CVP l2 <strong>und</strong> reduzieren gemäß f : (a 1 , . . . , a n , b) ↦→ (B ′ , y, √ n)<br />
mit<br />
⎡<br />
⎤<br />
2 1<br />
[B ′ . .. , y] = ⎢<br />
O .<br />
⎥<br />
⎣ O 2 1 ⎦ ∈ Z(n+1)2 .<br />
2a 1 · · · 2a n 2b<br />
Zu zeigen: (a 1 , . . . , a n , b) ∈ Rucksack ⇔ (B ′ , y, √ n) ∈ CVP l2 .<br />
“⇒” Sei (a 1 , . . . , a n , b) ∈ Rucksack <strong>und</strong> Σ n i=1 a ix i = b, x i ∈ {0, 1} Rucksacklösung. Es folgt<br />
‖ ∑ n<br />
i=1 b ix i − b n+1 ‖ = ‖(±1, . . . , ±1, 0)‖ = √ n.<br />
“⇐” Ang. ‖Σ n i=1 b ix i −y‖ 2 ≤ √ n für x 1 , . . . , x n ∈ Z. Es folgt ‖Σ n i=1 b ix i −y‖ = √ n <strong>und</strong> x i ∈ {0, 1},<br />
somit Σ n i=1 a ix i = b.<br />
<br />
Vergleich CVP, SVP für die l 2 -Norm. SVP ist nicht schwieriger als CVP, es gilt<br />
SVP ≤ pol,multi CVP, d.h. SVP ≤ Cook CVP, siehe [MG02, Sektion 4]. Wir vereinfachen SVP <strong>und</strong><br />
CVP zu GAP-SVP γ <strong>und</strong> GAP-SVP γ mit γ ≥ 1.<br />
GAP-SVP γ -Problem. Gesucht ist ein deterministischer Algorithmus, der alle Ja-Instanzen akzeptiert<br />
<strong>und</strong> alle Nein-Instanzen ablehnt <strong>und</strong> beliebig reagiert, falls die Eingabe weder Ja- noch<br />
Nein-Instanz ist.<br />
Ja-Instanzen sind Paare (B, t) ∈ Z m×n+1 , so dass ∃x ∈ Z n \{0} : ‖Bx‖ ≤ t.<br />
Nein-Instanzen sind Paare (B, t) ∈ Z m×n+1 , so dass ∀x ∈ Z n \{0} : ‖Bx‖ ≥ γt.<br />
GAP-CVP γ -Problem. Gesucht ist ein deterministischer Algorithmus, der alle Ja-Instanzen akzeptiert<br />
<strong>und</strong> alle Nein-Instanzen ablehnt <strong>und</strong> beliebig reagiert, falls die Eingabe weder Ja- noch<br />
Nein-Instanz ist.<br />
Ja-Instanzen sind Tripel (B, y, t) ∈ Z m×n+m+1 mit ∃x ∈ Z n : ‖Bx − y‖ ≤ t.<br />
Nein-Instanzen sind Tripel (B, y, t) ∈ Z m×n+m+1 mit ∀x ∈ Z n : ‖Bx − y‖ ≥ γt.<br />
Satz 7.2.3<br />
GAP-CVP √ ist N P-hart.<br />
1+8/n<br />
Beweis.<br />
Wir zeigen Rucksack ≤ pol GAP-CVP √ 1+8/n , es folgt N P ≤ pol GAP-CVP √ 1+8/n . Wir<br />
reduzieren gemäß f : (a 1 , . . . , a n , b) ↦→ (B ′ , y, √ n) mit<br />
⎡<br />
⎤<br />
2 1<br />
[B ′ . .. |y] := ⎢<br />
O .<br />
⎥<br />
⎣ O 2 1 ⎦ ∈ Z(n+1)2 .<br />
3 a 1 · · · 3 a n 3 b<br />
Korrektheit der Reduktion.<br />
(a 1 , . . . , a n , b) ∈ Rucksack ⇒ (B ′ , y, √ n) Ja-Instanz, d.h. ∃x ∈ {0, 1} n : ‖B ′ x−y‖ ≤ √ n.<br />
(a 1 , . . . , a n , b) ∉ Rucksack ⇒ (B ′ , y, √ n) Nein-Instanz. (wird wie folgt gezeigt)<br />
Im Fall (a 1 , . . . , a n , b) ∉ Rucksack gilt für x ∈ Z n entweder ∃i : x i ∉ {0, 1}, somit |2x − 1| ≥ 3,
66 KAPITEL 7. N P-VOLLSTÄNDIGE GITTERPROBLEME<br />
|2x i − 1| 2 ≥ 9 = 1 + 8, oder ∑ n<br />
i=1 a ix i ≠ b, somit 9(Σ n i=1 a ix i − b) 2 ≥ 9. Wegen |2x i − 1| ≥ 1 für<br />
x i ∈ Z folgt ∀x ∈ Z n : ‖B ′ x − y‖ ≥ √ n + 8. Somit ist (B ′ , y, √ n) Nein-Instanz.<br />
<br />
Satz 7.2.4 (MG02, Cor. 3.9, 3.11)<br />
GAP-CVP γ ist N P-hart für γ = c log n <strong>und</strong> γ = (log n) c für alle c > 0.<br />
Satz 7.2.5 (Ajtai 1998, Micciancio 2001, MG02, Sektion 4)<br />
GAP-SVP γ ist für γ < √ 2 N P-hart bzgl. probabilistischen Karp-Reduktionen.<br />
Satz 7.2.6 (Khot 2005)<br />
GAP-SVP γ ist für beliebige γ > 1 N P-hart bzgl. probabilistischen Karp-Reduktionen.<br />
Die probabilistischen Karp-Reduktionen von Khot erzeugen recht große Zahlen polynomialer<br />
Länge.<br />
Probabilistische Karp-Reduktionen werden erklärt wie ≤ pol , aber die pol. Zeit Transformation<br />
f = f(x, w) benutzt einen Münzwurf w. Der Satz von Ajtai-Micciancio zeigt<br />
Rucksack, N P ≤ pol,prob. SVP l2 .<br />
Die Reduktion Rucksack ≤ pol SVP konnte bisher nur für probabilistische Karp-Reduktionen<br />
gezeigt werden. Man reduziert Rucksack auf das CVP-Problem eines <strong>Gitter</strong>s L(b 1 , ..., b n+1 ) <strong>und</strong><br />
benötigt für die Korrektheit, dass λ 1 (L(b 1 , ..., b n )) > √ 2n. Diese Bedingung kann man nur probabilistisch<br />
sichern. Wir geben die Reduktion ohne diese nicht triviale Bedingung zu sichern. Wir<br />
reduzieren Rucksack auf SVP durch die Reduktion<br />
f : (a 1 , . . . , a n , b) ↦→ (B, √ n) mit<br />
B = [b 1 , . . . , b n+1 ] =<br />
⎡<br />
⎢<br />
⎣<br />
2 1<br />
. .. O .<br />
√<br />
O<br />
√<br />
2<br />
√<br />
1<br />
n a1 · · · n an<br />
√ n b<br />
0 · · · 0 n<br />
⎤<br />
∈ R (n+2)×(n+1) .<br />
⎥<br />
⎦<br />
Satz 7.2.7<br />
Rucksack ≤ pol SVP falls für (a 1 , ..., a n , b) ∈ Rucksack <strong>und</strong> f(a 1 , ..., a n , b) := ([b 1 , ..., b n+1 ] gilt<br />
dass λ 1 (L(b 1 , ..., b n )) > √ 2n.<br />
Beweis. (a 1 , . . . , a n , b) ∈ Rucksack impliziert (B, √ 2n) ∈ SVP, denn für jede Rucksack-Lösung<br />
Σ n i=1 a ix i = b, x i ∈ {0, 1} gilt |2x i − 1| = 1 <strong>und</strong><br />
‖Σ n i=1b i x i − b n+1 ‖ = ‖(±1, . . . , ±1, 0, √ n)‖ = √ 2n.<br />
Umgekehrt sichert λ 1 (L(b 1 , ..., b n )) > √ 2n dass (B, √ 2n) ∈ SVP ⇒ (a 1 , . . . , a n , b) ∈ Rucksack:<br />
Angenommen ‖Σ n i=1 b ix i + b n+1 x n+1 ‖ ≤ √ 2n. Wegen λ 1 (L(b 1 , ..., b n )) > √ 2n gilt ∑ n<br />
i=1 a ix i +<br />
x n+1 b = 0 mit x n+1 ≠ 0, dabei gilt |x n+1 | ≤ 1, denn andernfalls wäre ‖Σ n i=1 b ix i + b n+1 x n+1 ‖ ≥<br />
2 √ n > √ 2n.<br />
Sei O.B.d.A. x n+1 = −1. Es folgt |2x i − 1| = 1 für i = 1, . . . , n, somit x i ∈ {0, 1}. Also<br />
(a 1 , . . . , a n , b) ∈ Rucksack.
Kapitel 8<br />
Konstruktion eines kürzesten<br />
<strong>Gitter</strong>vektors<br />
Die Algorithmen zur Blockreduktion benötigen einen kürzesten <strong>Gitter</strong>vektor ungleich 0. Alg. 8.1.1<br />
Enum [SE94, SH95] findet einen kürzesten <strong>Gitter</strong>vektor durch vollständige Aufzählung kurzer<br />
<strong>Gitter</strong>vektoren. Die Laufzeit von Enum ist im worst case exponentiell n n/2+o(n) . New Enum’s<br />
Laufzeit ist unter GSA <strong>und</strong> der Volumen Heuristik polynomiell für <strong>Gitter</strong> L kleiner Dichte, so<br />
dass ‖b 1 ‖ eπ √ n ≤ γn 1/2 (det L) 1/n zu gegebenem b 1 [S10]. New Enum führt die Stufen (u t , ..., u n )<br />
geordnet nach aufsteigendem t <strong>und</strong> zu festem t mit absteigender Erfolgsquote β t durch.<br />
8.1 Algorithmus mit vollständiger Aufzählung<br />
Gegeben sei eine Basis B = [b 1 , . . . , b n ] = QR ∈ R m×n . Wir berechnen ein b ∈ L(B) mit ‖b‖ =<br />
l 2 (b) = λ 1 (L). Sei b 1 , . . . , b n ∈ R m die Basis mit zugehörigem Orthogonalsystem ̂b 1 , . . . , ̂b n <strong>und</strong><br />
Gram-Schmidt-Koeffizienten µ i,j , also b i = ∑ i<br />
j=1 µ ̂b i,j j = ∑ i<br />
j=1 r i,j/r i,îbj für i = 1, . . . , n.<br />
Zur orthogonalen Projektion π i : R m → span(b 1 , . . . , b i−1 ) ⊥ bezeichne:<br />
c t (u t , . . . , u n ) := ‖π t ( ∑ n<br />
i=t u ib i )‖ 2 = ∑ n<br />
i=t (∑ i<br />
j=t u ir j,i ) 2 .<br />
Die Funktion u ′ := next(u, r) liefert zu u ∈ Z <strong>und</strong> r ∈ R die in der Reihenfolge nach u<br />
betragsmäßig nächste, ganze Zahl zur reellen Zahl r (siehe Grafik 8.1.1). Es gilt:<br />
• |u − r| ≤ |u ′ − r| ≤ |u − r| + 1<br />
• sign(u ′ − r) ≠ sign(u − r)<br />
Falls es zu r zwei ganze Zahlen mit Abstand 1 2<br />
gibt, fordern wir zusätzlich, daß zunächst der<br />
kleinere Wert gewählt wird, also aus |u − r| = |u ′ − r| folgt u < r < u ′ .<br />
r<br />
✛<br />
✲<br />
3. 1. 2. 4.<br />
Z<br />
Abbildung 8.1.1: Reihenfolge der Approximationen bei der Iteration u ′ := next(u· , r)<br />
67
68 KAPITEL 8. KONSTRUKTION EINES KÜRZESTEN GITTERVEKTORS<br />
Algorithmus 8.1.1, Enum [SE94],<br />
EINGABE: B = QR ∈ Z m×n , R = [r i,j ] 1≤i,j≤n ∈ R n×n .<br />
1. FOR i = 1, . . . , n DO ˜c i := u i := ũ i := y i := 0.<br />
Finden eines kürzesten <strong>Gitter</strong>vektors<br />
2. t := 1, ũ 1 := u 1 := 1, c min<br />
1 := ˜c 1 := r 2 1,1. /⋆ stets ist ˜c t = c t (ũ t , . . . , ũ n ) <strong>und</strong><br />
3. WHILE t ≤ n DO<br />
3.1 ˜c t := ˜c t+1 + (y t + ũ t )rt,t<br />
2<br />
3.2 IF ˜c t < c min<br />
1 THEN<br />
IF t > 1 THEN t := t − 1, y t :=<br />
c min<br />
1 = c 1 (u 1 , ..., u t ) ist aktuelles Minimum von c 1 ⋆/<br />
n ∑<br />
i=t+1<br />
ũ i r t,i /r t,t , ũ t := ⌊−y t ⌉<br />
ELSE c min<br />
1 = ˜c 1 , FOR i = 1, . . . , n DO u i := ũ i<br />
{<br />
ũ t + 1 falls t = t max<br />
ELSE, t := t + 1, ũ t :=<br />
.<br />
next(ũ t , −y t ) sonst<br />
/⋆ t max bezeichne den bisherigen maximalen Wert von t vor der Erhöhung ⋆/<br />
AUSGABE: Minimalstelle (u 1 , . . . , u n ) ∈ Z n \ {0} <strong>und</strong> Minimalwert c min<br />
1 = λ 2 1 für Funktion c 1<br />
Die Korrektheit von Alg. 8.1.1 folgt aus den folgenden Beobachtungen:<br />
• Stets gilt: ˜c t = c t (ũ t , , . . . , ũ n ). Beweis durch Induktion über Anzahl der Iterationen. Durch<br />
die Zuweisungen im ersten Schritt gelten die Behauptungen vor der ersten Iteration (Induktionsverankerung).<br />
Induktionsschluß: Es gilt für y 1 :=<br />
n ∑<br />
i=t+1<br />
ũ i r t,i dass<br />
c t (ũ t , . . . , ũ n ) = c t+1 (ũ t+1 , . . . , ũ n ) + ( ∑ n<br />
i=t<br />
} {{ } ũir<br />
) 2<br />
t,i = ˜ct+1 + (y t + ũ t ) 2 rt,t.<br />
2<br />
nach Ind.Ann. = ˜c t+1<br />
• Der Algorithmus zählt in Depth-First-Order alle Vektoren (ũ t , . . . , ũ n ) ∈ Z n−t+1 \ {0} für<br />
t = 1, . . . , n auf mit c t (ũ t , . . . , ũ n ) < c min<br />
1 (c min<br />
1 ist das aktuelle Minimum der Funktion c 1 ).<br />
Es werden nur Vektoren aufgezählt so dass ũ i > 0 für das größte i mit ũ i ≠ 0.<br />
• Für feste ũ t+1 , . . . , ũ n liefert die Folge der ũ t -Werte, erzeugt durch next(·ũ t , −y t ) monoton<br />
wachsende Werte |y t + ũ t |, c t (ũ t , . . . , ũ n ). Wenn ˜c t ≥ c min<br />
1 für den aktuellen Vektor<br />
(ũ t , . . . , ũ n ), dann kann die Aufzählung der weiteren ũ t -Werte entfallen.<br />
8.2 Algorithmus mit geschnittener Aufzählung<br />
Wir schneiden die Aufzählung an der Stelle (ũ t , ..., ũ n ) ab, wenn nach der Vol. Heur. ein kürzerer<br />
Vektor ∑ n<br />
i=1 ũib i nur mit Wahrscheinlichkeit < 2 −s zu gegebenem s zu erwarten ist, siehe [SH95].<br />
8.2.1 Volumen-Heuristik <strong>und</strong> Gauß-ENUM<br />
Folgendes Lemma geht auf C.F. Gauß zurück. Für nicht zufällige z ist es die Volumen-Heuristik.<br />
Lemma 8.2.1 (Volumen-Heuristik)<br />
Sei S ⊆ span(L) Jordan-meßbar, z ∈ R span(L)<br />
mod L zufällig, dann gilt:<br />
E z [ |(z + S) ∩ L|] = vol(S) / det L.
8.2. ALGORITHMUS MIT GESCHNITTENER AUFZÄHLUNG 69<br />
Beweis.<br />
Denn<br />
1<br />
det L =<br />
Anzahl <strong>Gitter</strong>punkte<br />
Volumen Gr<strong>und</strong>masche<br />
Anzahl <strong>Gitter</strong>punkte<br />
= . <br />
Volumeneinheit<br />
Angenommen, wir halten (ũ t , . . . , ũ n ) ∈ Z n−t+1 \ {0} fest <strong>und</strong> suchen ũ 1 , . . . , ũ t−1 ∈ Z mit<br />
c 1 (ũ 1 , . . . , ũ n ) < c min<br />
1 . Setze L t := L(b 1 , . . . , b t−1 )<br />
Wir addieren zum gegebenem <strong>Gitter</strong>vektor b = ∑ n<br />
i=t ũib i einen Vektor b = ∑ t−1<br />
i=1 ũib i ∈ L t so<br />
daß ∥ ∥b + b ∥ 2 < c min<br />
1 . Wir zerlegen b in orthogonale Anteile (es sei Q = [q 1 , ..., q n ] mit B = QR):<br />
(8.1)<br />
b =<br />
∑t−1<br />
n∑<br />
n∑ n∑<br />
ũ i r j,i q j + ũ i r j,i q j = −z + y<br />
j=1 i=1<br />
} {{ }<br />
−z∈span(L t)<br />
j=t i=t<br />
} {{ }<br />
y∈span(L t) ⊥<br />
Wir suchen einen Punkt in (b + L t ) ∩ B t−1 (y, ρ t ) in der Kugel B t−1 (y, ρ t ) der Dimension t − 1<br />
mit Mittelpunkt y <strong>und</strong> Radius ρ t = √ c min<br />
1 − ˜c t . Es gilt für b = −z + y:<br />
∣ ( b + L t<br />
)<br />
∩ Bt−1<br />
(<br />
y, ρt<br />
)∣ ∣ =<br />
∣ ∣Lt ∩ B t−1 (z, ρ t ) ∣ ∣ .<br />
Die Grafik 8.2.1 verdeutlicht diese Aufgabe, hier ist S( √ c min<br />
1 − ˜c t , y) = B t−1<br />
(<br />
y, ρt<br />
)<br />
, L = Lt .<br />
<br />
✻<br />
Punkt in b + L<br />
7<br />
✾<br />
❖<br />
y<br />
0<br />
z<br />
b + span ( L )<br />
<br />
✸<br />
b ∈ L<br />
✛<br />
Sphäre in span(L)<br />
S (√ c 1 − ˜c t , y ) mit Radius √ c 1<br />
Abbildung 8.2.1: Volumenheuristik bei Gauß-ENUM<br />
Wir wenden die Volumen-Heuristik an auf das <strong>Gitter</strong> L t <strong>und</strong> die Kugel B t−1 (0, ρ t ) <strong>und</strong> erhalten<br />
für zufällige z ∈ span(L t ) die Erfolgsquote β t :<br />
β t = E z<br />
[ ∣ ∣<br />
{<br />
(ũ1 , . . . , ũ t−1 ) ∈ Z t−1<br />
: c 1 (ũ 1 , . . . , ũ t−1 ) < c min<br />
1<br />
}∣] ∣ = Vt−1 ρ t−1 / det L t<br />
t<br />
Wir schneiden die weitere Aufzählung an der Stelle (ũ 1 , . . . , ũ t−1 ) ab, falls β t < 2 −s . Je größer<br />
s, desto umfangreicher die Aufzählung. Für s = ∞ erhalten wir die vollständige Aufzählung.<br />
Ersetzen von Schritt 3.2 in Alg. 8.1.1 durch<br />
IF β t > 2 −s<br />
THEN<br />
liefert Alg. 8.2.1 genannt Gauß-ENUM [SH95].
70 KAPITEL 8. KONSTRUKTION EINES KÜRZESTEN GITTERVEKTORS<br />
Algorithmus 8.2.1, Kürzester <strong>Gitter</strong>vektor durch geschnittene Aufzählung<br />
EINGABE: Basis B = QR ∈ Z m×n , R = [r i,j ] 1≤i,j≤n ∈ R n×n<br />
1. FOR i = 1, . . . , n DO ˜c i := u i := ũ i := y i := 0.<br />
2. ũ 1 := u 1 := 1, t := 1, c min<br />
1 := ˜c 1 := ‖b 1 ‖ 2 /⋆ stets ist ˜c t = c t (ũ t , . . . , ũ n ) <strong>und</strong><br />
c min<br />
1 = c 1 (u 1 , ..., u t ) ist aktuelles Minimum von c 1 ⋆/<br />
3. WHILE t ≤ n DO<br />
3.1 ˜c t := ˜c t+1 + (y t + ũ t ) 2 rt,t<br />
2<br />
3.2 IF β t ≥ 2 −s THEN<br />
IF t > 1 THEN t := t − 1, y t := ∑ n<br />
i=t+1 ũi r t,i /r t,t , ũ t := ⌊−y t ⌉<br />
ELSE c min<br />
1 = ˜c 1 FOR i = 1, . . . , n DO u i := ũ i<br />
{<br />
ũ t + 1 falls t = t max<br />
ELSE t := t + 1, ũ t :=<br />
next(ũ t , −y t ) sonst<br />
/⋆ t max bezeichne den bisherigen maximalen Wert von t vor der Erhöhung ⋆/<br />
AUSGABE: Wahrscheinliche Minimalstelle (u 1 , . . . , u n ) <strong>und</strong> Minimalwert c min<br />
1 von c 1<br />
Die Volumen Heuristik nimmt an, dass die orthogonale Projektion von b = ∑ n<br />
i=t ũib i in L t =<br />
L(b 1 , ..., b t−1 ) modulo —mathcalL t zufällig ist. Wenn aber (ũ t , ..., ũ n ) mit den Koordinaten eines<br />
kürzesten <strong>Gitter</strong>vektors übereinstimmt, dann ist diese orthogonale Projektion von b nach Längenreduktion<br />
gegen b 1 , ..., b t−1 oft sehr klein <strong>und</strong> die Volumen Heuristik damit eher inkorrekt.<br />
Aufzählung mit Zurücklegen, New Enum. In der Neufassung New Enum von [S10] wird<br />
(ũ t , ..., ũ n ) im Falle β t < 2 −s nicht verworfen, sondern in eine Liste zur späteren Bearbeitung<br />
zurückgelegt. Nach Ende der Bearbeitung mit dem Wert s wird s erhöht auf s := s + 1 <strong>und</strong> der<br />
Aufzählungsprozess wird ausgehend von allen zurückgelegten (ũ t , ..., ũ n ) mit dem erhöhten s neu<br />
initiiert <strong>und</strong> zwar in der Reihenfolge mit aufsteigendem t <strong>und</strong> bei festem t mit absteigendem β t .<br />
Das Zurücklegen der (ũ t , ..., ũ n ) mit β t < 2 −s erfordert einen Speicherplatz der im allgemeinen<br />
exponentiell in n ist. Diesen grossen Speicherbedarf kann man dadurch reduzieren, dass man das<br />
Abspeichern der (ũ t , ..., ũ n ) unterlässt <strong>und</strong> nach Erhöhung von s den Algorithmus neu initiert.<br />
Dabei werden die schon behandelten Werte (ũ t , ..., ũ n ) nochmals behandelt. Diese Wiederholung<br />
erhöht die Laufzeit höchstens um den Faktor s des letzten s-Wertes. Dieser grösste s-Wert ist aber<br />
höchstens O(n ln n) so dass die Laufzeit nur um einen polynomiellen Faktor wächst.<br />
Ein einfache Abschneid-Methode (pruning) ersetzt die Bedingung IF β t ≥ 2 −s<br />
Schritt 3.2 durch<br />
IF c t ≤ n−t+1<br />
n<br />
c min<br />
1 THEN<br />
THEN von<br />
Diese Bedingung wurde in [SE94] initiiert <strong>und</strong> in [NR10] analysiert. Nguyen <strong>und</strong> Regev zeigen in<br />
[NR10], dass Modifizierung von Schritt 3.2 in<br />
IF c t ≤ n−t+1<br />
n<br />
λ 2 1 THEN<br />
ein kürzester <strong>Gitter</strong>vektor von zufälligen <strong>Gitter</strong>n mit Wahrscheinlichkeit 1/n gef<strong>und</strong>en wird. Für<br />
dieses Abschneiden muss man entweder λ 1 kennen oder eine hinreichend gute Approximation von<br />
λ 1 erraten.<br />
In [SE94] wird Schritt 3.2 angewandt in der modifizierten Form<br />
IF c t ≤ 1.05 n−t+1<br />
n<br />
c min<br />
1 THEN<br />
Mit diesem pruning wurden Subsetsum Probleme der Dimension ≤ 66 <strong>und</strong> fast aller Dichten<br />
durch Konstruktion kürzester Vektoren des CJLOSS-<strong>Gitter</strong>s fast immer gelöst [SE94]. Diese hohe<br />
Erfolgswahrscheinlichkeit beim Finden eines kürzesten <strong>Gitter</strong>vektors mit diesem pruning ist beweisbar<br />
unter GSA <strong>und</strong> der Volumen-Heuristik, die Methode ist effektiv für Dimension n ≤ 250,<br />
nach B. Lange, Februar 2011.
Kapitel 9<br />
<strong>Gitter</strong>reduktion in beliebiger<br />
Norm<br />
Bisher haben wir <strong>Gitter</strong> bezüglich der Euklidischen Norm reduziert. In diesem Kapitel betrachten<br />
wir allgemeine Normen. Besonders die sup-Norm ist von Interesse (siehe Kapitel 10). Bis auf<br />
den Gauß-Reduktionsalgorithmus aus Kapitel 3 für aus zwei Vektoren bestehende Basen ist die<br />
Reduktion in beliebiger Norm in der Praxis ”<br />
schwierig“.<br />
9.1 Gr<strong>und</strong>begriffe<br />
Sei ‖·‖ : R m → R eine beliebige Norm, d.h. es gilt für alle u, v ∈ R m <strong>und</strong> µ ∈ R:<br />
‖µv‖ = |µ| · ‖v‖<br />
(positive Homogenität)<br />
‖u + v‖ ≤ ‖u‖ + ‖v‖<br />
(Dreiecksungleichung)<br />
‖u‖ ≥ 0 für u ≠ 0 (positive Definitheit)<br />
Wir definieren zu einer gegebenen fest geordneten <strong>Gitter</strong>basis Abstandsfunktionen:<br />
Definition 9.1.1 (Abstandsfunktion F i )<br />
Sei b 1 , . . . , b n ∈ R m eine fest geordnete <strong>Gitter</strong>basis. Die i-te Abstandsfunktion (auch Höhen- oder<br />
Distanzfunktion) für 1 ≤ i ≤ n<br />
F i : span(b 1 , . . . , b n ) → R<br />
ist bezüglich der gegebenen Norm ‖·‖ definiert als:<br />
F 1 (x) := ‖x‖<br />
F i (x) :=<br />
min<br />
t 1,...,t i−1∈R<br />
∥ x − ∑ ∥<br />
i−1 ∥∥∥ t jb j = min F i−1 (x − tb i−1 )<br />
j=1 t∈R<br />
i = 2, 3, . . . , n<br />
Die Höhe F i eines Vektors ist sein Abstand zu dem von b 1 , . . . , b i−1 erzeugten Unterraum.<br />
Es gilt F i (x) = 0 genau dann, wenn x ∈ span(b 1 , . . . , b i−1 ). Man rechnet leicht nach, daß jede<br />
Abstandsfunktion F i eine Norm auf span(b 1 , . . . , b i−1 ) ⊥ ist. Im Fall der Euklidischen Norm ist<br />
F i (b i ) = ‖̂b i ‖ 2 . Die Determinante des <strong>Gitter</strong>s L = L(b 1 , . . . , b n ) ist:<br />
det L =<br />
n∏<br />
‖̂b i ‖ 2<br />
i=1<br />
71
72 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM<br />
Wie sieht die Gleichung det L = ∏ i ‖̂b i ‖ bezüglich F 1 , . . . , F n aus? Zu gegebener Norm ‖·‖ definieren<br />
wir:<br />
S ‖·‖ (1) := {x ∈ R m : ‖x‖ ≤ 1}<br />
Diese Menge ist konvex, nullsymmetrisch <strong>und</strong> abgeschlossen. Zu gegebener Norm ‖·‖ <strong>und</strong> <strong>Gitter</strong>basis<br />
b 1 , . . . , b n ∈ R m definiere<br />
(9.1)<br />
V i := vol {x ∈ span(b 1 , . . . , b i ) : ‖x‖ ≤ 1}<br />
} {{ }<br />
=span(b 1,...,b i)∩S ‖·‖ (1)<br />
i = 1, . . . , n<br />
Man beachte, daß sich Volumen stets auf die Euklidische Metrik bezieht.<br />
Lemma 9.1.2<br />
Für jede Basis b 1 , . . . , b n ∈ R m gilt:<br />
2 n<br />
n! ·<br />
n∏<br />
i=1<br />
‖̂b i ‖ 2<br />
F i (b i ) ≤ V n ≤ 2 n ·<br />
n∏<br />
i=1<br />
‖̂b i ‖ 2<br />
F i (b i )<br />
Bevor wir das Lemma beweisen, eine Folgerung: Da V n unabhängig von der Basis ist, gilt:<br />
Korollar 9.1.3<br />
Seien b 1 , . . . , b n <strong>und</strong> b ′ 1, b ′ 2, . . . , b ′ n Basen des <strong>Gitter</strong>s L, dann gilt:<br />
m∏<br />
m∏<br />
F i (b i ) ≤ n! F i ′ (b ′ i)<br />
i=1<br />
i=1<br />
oder<br />
m∏<br />
m∏<br />
F i ′ (b ′ i) ≤ n! F i (b i )<br />
i=1<br />
i=1<br />
Beweis (zu Lemma 9.1.2). Wir zeigen durch Induktion über n:<br />
2 n<br />
n! ·<br />
n∏<br />
i=1<br />
‖̂b i ‖ 2<br />
F i (b i ) ≤ V n ≤ 2 n ·<br />
n∏<br />
i=1<br />
‖̂b i ‖ 2<br />
F i (b i )<br />
−<br />
✛<br />
b1<br />
F 1(b 1)<br />
<br />
✲<br />
0 + b1<br />
F 1(b 1)<br />
Abbildung 9.1.1: Induktionsverankerung im Beweis zu Lemma 9.1.2<br />
• Induktionsverankerung n = 1: Es gilt (vergleiche Abbildung 9.1.1):<br />
V 1 = 2 · ‖b 1‖ 2<br />
‖b 1 ‖ = 2 · ‖̂b 1 ‖ 2<br />
F 1 (b 1 )<br />
• Induktionsschluß von n − 1 auf n: Wir wählen einen Punkt z = b n − ∑ n−1<br />
i=1 t ib i ∈ R n mit<br />
‖z‖ = F n (b n ) (siehe Abbildung 9.1.2). Man erhält eine obere Schranke für V n durch:<br />
V n ≤ 2 · V n−1 ·<br />
‖̂b n ‖ 2<br />
F n (b n )
9.1. GRUNDBEGRIFFE 73<br />
z<br />
<br />
♣♣<br />
♣♣♣♣♣<br />
♣<br />
♣♣♣♣<br />
♣♣♣<br />
♣<br />
♣♣♣ ♣♣♣ ♣♣♣♣ ♣♣♣♣<br />
♣♣♣♣♣<br />
♣<br />
♣<br />
♣♣<br />
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣<br />
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣<br />
0<br />
S n−1<br />
✻ +<br />
̂b n<br />
F n(b n)<br />
span(b 1 , . . . , b n−1 )<br />
S n<br />
❄−<br />
̂b n<br />
F n(b n)<br />
Abbildung 9.1.2: Induktionsschluß im Beweis zu Lemma 9.1.2<br />
Die konvexe Hülle von S n−1 <strong>und</strong> z (gepunktetes Gebiet in Abbildung 9.1.2) ist in S n enthalten.<br />
Da es sich um eine Pyramide mit Gr<strong>und</strong>fläche S n−1 <strong>und</strong> Höhe ‖̂b n‖ 2<br />
F n(b n)<br />
Es folgt wegen der Symmetrie:<br />
V n−1<br />
n · ‖̂b n ‖ 2<br />
F n (b n ) = vol n (konvexe Hülle von S n−1 <strong>und</strong> z) ≤ V n<br />
2<br />
2 · Vn−1<br />
n · ‖̂b n ‖ 2<br />
F n (b n ) ≤ V n<br />
Aus der Induktionsannahme erhalten wir:<br />
[ ] [<br />
V n ≥ 2 · Vn−1<br />
n · ‖̂b n ‖<br />
F n (b n ) ≥ 2<br />
n · ‖̂b n ‖<br />
·<br />
F n (b n )<br />
2 n−1<br />
(n − 1)! ·<br />
n−1<br />
∏<br />
i=1<br />
‖̂b i ‖ 2<br />
F i (b i )<br />
]<br />
= 2n<br />
n! ·<br />
handelt, gilt:<br />
n∏<br />
i=1<br />
‖̂b i ‖ 2<br />
F i (b i )<br />
Für die obere Schranke betrachten wir den Quader mit Gr<strong>und</strong>fläche S n−1 <strong>und</strong> Höhe<br />
Da S n in zwei dieser Quader enthalten ist (siehe Abbildung 9.1.2), gilt:<br />
Aus der Induktionsannahme erhalten wir:<br />
V n ≤ 2 · V n−1 ·<br />
Es gilt für das erste sukzessive Minimum:<br />
V n ≤ 2 · V n−1 ·<br />
‖̂b n ‖ 2<br />
F n (b n )<br />
n−1<br />
‖̂b n ‖ 2<br />
F n (b n ) ≤ 2 · ‖̂b n ‖ 2<br />
F n (b n ) · ∏ ‖̂b i ‖ 2<br />
2n−1 ·<br />
F i (b i ) = 2n ·<br />
i=1<br />
n∏<br />
i=1<br />
‖̂b i ‖ 2<br />
F i (b i )<br />
‖̂b n‖<br />
F n(b n) .<br />
<br />
Satz 9.1.4 (Kaib 1994)<br />
Für jede <strong>Gitter</strong>basis b 1 , . . . , b n ∈ R m gilt:<br />
min F i(b i ) ≤ λ 1,‖·‖ ≤<br />
i=1,...,n<br />
(<br />
n! ·<br />
n∏<br />
F i (b i )<br />
i=1<br />
) 1<br />
n
74 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM<br />
Zum Vergleich für die l 2 -Norm: Wir wissen aus der Minkowski’schen Ungleichung 2.3.1 (Seite 23),<br />
daß wegen λ 1,‖·‖ ≤ λ 2,‖·‖ ≤ · · · ≤ λ n,‖·‖ für das <strong>Gitter</strong> L = L(b 1 , . . . , b n ) gilt:<br />
min<br />
i=1,...,n ‖̂b i ‖ ≤ λ i,l2 ≤ (γ n ) 12 · (det L) 1 n<br />
Beweis (zu Satz 9.1.4).<br />
Betrachten wir beide Abschätzungen:<br />
• Wir zeigen:<br />
min<br />
i=1,...,n F i(b i ) ≤ λ i,‖·‖<br />
Sei b = ∑ n<br />
i=1 t ib i ∈ L mit ‖b‖ = λ 1,‖·‖ . Setze s := max {i | t i ≠ 0}. Wegen t s ∈ Z \ {0} gilt:<br />
Die Behauptung folgt aus:<br />
λ 1,‖·‖ = ‖b‖ ≥ F s (b) = F s (t s b s ) = |t s | ·F s (b s ) ≥ F s (b s )<br />
}{{}<br />
≥1<br />
min<br />
i=1,...,n F i(b i ) ≤ F s (b s ) ≤ λ i,‖·‖<br />
• Sei L = L(b 1 , . . . , b n ). Aus dem zweiten Satz von Minkowski [Mi1896] folgt wegen λ 1,‖·‖ ≤<br />
λ 2,‖·‖ ≤ · · · ≤ λ n,‖·‖ :<br />
(9.2)<br />
V n · λ n 1,‖·‖ ≤ 2n · det L<br />
Aus Lemma 9.1.2 wissen wir:<br />
(9.3)<br />
Aus det L = ∏ n<br />
i=1 ‖̂b i ‖ 2 erhalten wir:<br />
λ n 1,‖·‖ ≤ 2n · V −1<br />
n ·<br />
≤ 2 n ·<br />
= n! ·<br />
n!<br />
2 n ·<br />
n∏<br />
i=1<br />
F i (b i )<br />
≥ 1<br />
‖̂b i ‖ 2<br />
V n<br />
n∏<br />
‖̂b i ‖ 2 (wegen (9.2))<br />
i=1<br />
(<br />
n!<br />
n∏<br />
2 n ·<br />
i=1<br />
n∏<br />
F i (b i )<br />
i=1<br />
) ( n<br />
)<br />
F i (b i ) ∏<br />
· ‖̂b i ‖ 2<br />
‖̂b i ‖ 2 i=1<br />
(wegen (9.3))<br />
<br />
Es gilt für das Produkt der sukzessiven Minima:<br />
Satz 9.1.5<br />
Für jede <strong>Gitter</strong>basis b 1 , . . . , b n ∈ R m gilt:<br />
1<br />
n! ·<br />
n∏<br />
F i (b i ) ≤<br />
i=1<br />
n∏<br />
n∏<br />
λ i,‖·‖ ≤ n! · F i (b i )<br />
i=1<br />
Zum Vergleich: Die Minkowski’sche Ungleichung für die l 2 -Norm, Satz 2.3.1 auf Seite 23, besagt:<br />
n∏<br />
λ i,l2 ≤ (γ n ) n2 · det L<br />
i=1<br />
i=1
9.2. REDUZIERTE BASEN ZUR NORM ‖·‖ 75<br />
Beweis (zu Satz 9.1.5). Die Behauptung folgt aus dem Beweis zu Satz 9.1.4 durch Anwenden<br />
des zweiten Satzes von Minkowski:<br />
det L<br />
n!<br />
≤ V n<br />
2 n ·<br />
n∏<br />
λ i,‖·‖ ≤ det L<br />
i=1<br />
<br />
9.2 Reduzierte Basen zur Norm ‖·‖<br />
Analog zur Euklidischen Norm führen wir Reduktionsbegriffe ein <strong>und</strong> versuchen, Eigenschaften<br />
reduzierter Basen zu beweisen.<br />
9.2.1 Definitionen<br />
Wir übertragen die Reduktionsbegriffe auf den Fall einer beliebig vorgegebenen Norm:<br />
Definition 9.2.1 (HKZ-reduzierte Basis zu ‖·‖)<br />
Eine geordnete Basis b 1 , . . . , b n ∈ R m ist eine HKZ-reduzierte Basis zur Norm ‖·‖, wenn:<br />
a) F j (b i ) ≤ F j (b i ± b j ) für 1 ≤ j < i ≤ n (längenreduziert)<br />
b) F i (b i ) = min {F i (b) | b ∈ L(b i , b i+1 , . . . , b n ) \ {0} } für i = 1, . . . , n<br />
Beim zweiten Kriterium kann b auch aus L(b 1 , . . . , b n ) \ {0} gewählt werden. Für die Eigenschaft<br />
längenreduziert“ gilt mit 1 ≤ j < i ≤ n:<br />
”<br />
F j (b i ) ≤ F j (b i ± b j ) ⇐⇒ F j (b i ) = min<br />
t∈Z F j (b i + t · b j )<br />
Diese Äquivalenz nutzt die Konvexität der Norm F j . Die ”<br />
⇐“-Richtung folgt unmittelbar <strong>und</strong> für<br />
die ”<br />
⇒“-Richtung beachtet man, daß gilt:<br />
F j (b i ) ≤ F j (b i − b j ) <strong>und</strong> F j (b i ) ≤ F j (b i + b j )<br />
Definition 9.2.2 (β-reduzierte Basis zu ‖·‖)<br />
Sei b 1 , . . . , b n ∈ R m eine geordnete Basis <strong>und</strong> β ∈ {2, 3, . . . , n} gegeben. b 1 , . . . , b n ∈ R m heißt<br />
β-reduziert (blockreduziert mit Blockgröße β) zur Norm ‖·‖, wenn:<br />
a) F j (b i ) ≤ F j (b i ± b j ) für 1 ≤ j < i ≤ n<br />
b) F i (b i ) = min { F i (b) ∣ ∣ b ∈ L(b i , b i+1 , . . . , b min(i+β−1,n) ) \ {0} } für i = 1, . . . , n − 1<br />
Wir betrachten den Spezialfall einer 2-reduzierten Basis zu ‖·‖: Die geordnete Basis b 1 , . . . , b n ∈<br />
R m ist 2-reduziert zur Norm ‖·‖, wenn:<br />
a) F j (b i ) ≤ F j (b i ± b j ) für 1 ≤ j < i ≤ n<br />
b) F i (b i ) = min { F i (sb i + tb i+1 ) ∣ ∣ (s, t) ∈ Z 2 \ {(0, 0)} } für i = 1, . . . , n − 1<br />
Eine 2-reduzierte Basis zur l 2 -Norm ist eine LLL-reduzierte Basis.
76 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM<br />
9.2.2 Eigenschaften 2-reduzierter <strong>Gitter</strong>basen<br />
Wir untersuchen die Eigenschaften 2-reduzierter Basen <strong>und</strong> vergleichen die Resultate mit denen<br />
im Spezialfall der l 2 -Norm (LLL-reduziert) aus Kapitel 3.<br />
Satz 9.2.3<br />
Sei b 1 , . . . , b n ∈ R m eine 2-reduzierte Basis zur Norm ‖·‖. Dann gilt für i = 1, . . . , n − 1:<br />
F i+1 (b i+1 ) ≥ 1 2 · F i(b i )<br />
Zum Vergleich: Für die l 2 -Norm ist mit δ = 3 4 nach Lemma 4.1.2 auf Seite 31 ‖̂b i ‖ 2 2 ≤ 2 · ‖̂b i+1 ‖ 2 2,<br />
also:<br />
√<br />
1<br />
‖̂b i+1 ‖ 2 ≥<br />
2 · ‖̂b i ‖ 2<br />
Beweis (zu Satz 9.2.3).<br />
Nach Definition gilt<br />
a) F j (b i ) ≤ F j (b i ± b j ) für 1 ≤ j < i ≤ n <strong>und</strong><br />
b) F i (b i ) = min { F i (sb i + tb i+1 ) ∣ ∣ (s, t) ∈ Z 2 \ {(0, 0)} } für i = 1, . . . , n − 1.<br />
Die Behauptung F i (b i ) ≤ 1 2 · F i(b i+1 ) erhalten wir aus:<br />
F i (b i ) ≤ F i (b i+1 )<br />
≤ min {F i (b i+1 − tb i ) | t ∈ Z}<br />
≤ F i (b i+1 ) + 1 2 · F i(b i )<br />
(wegen Eigenschaft b))<br />
(wegen Eigenschaft a))<br />
Wir nutzen, daß die Abstandsfunktionen F i jeweils Normen auf span(b 1 , . . . , b i−1 ) ⊥ sind:<br />
F i+1 (b i+1 ) = min {F i (b i+1 − sb i ) | s ∈ R}<br />
= min { ( ) ∣ [<br />
F i bi+1 − (r + t)b i t ∈ Z, r ∈ −<br />
1<br />
2 , + ] }<br />
1<br />
2<br />
(<br />
≤ min {F i (b i+1 − tb i ) | t ∈ Z} + F 1 i 2 · b )<br />
i<br />
≤ min {F i (b i+1 − tb i ) | t ∈ Z} + 1 2 · F i(b i )<br />
(Definition)<br />
(Dreiecksungleichung)<br />
(Linearität)<br />
<br />
Im folgenden Satz untersuchen wir, wie gut im allgemeinen Fall der erste Vektor der 2-reduzierten<br />
Basis das erste sukzessive Minimum approximiert.<br />
Satz 9.2.4<br />
Sei b 1 , . . . , b n ∈ R m eine 2-reduzierte Basis zur Norm ‖·‖. Dann gilt:<br />
‖b 1 ‖ ≤ 2 n−1 · λ 1,‖·‖<br />
Zum Vergleich: Für die l 2 -Norm wissen wir mit δ = 3 4<br />
aus Satz 4.1.4 auf Seite 32:<br />
‖b 1 ‖ 2<br />
≤ ( ) n−1<br />
4 2<br />
3<br />
· λ 1,l2
9.2. REDUZIERTE BASEN ZUR NORM ‖·‖ 77<br />
Beweis. Sei b = ∑ n<br />
i=1 t ib i ‖·‖-minimaler Vektor in L = (b 1 , . . . , b n ) \ {0}. O.B.d.A. sei t n ∈<br />
Z \ {0}. Es gilt:<br />
‖b‖ ≥ F n (b)<br />
= min<br />
t 1,...,t n−1∈R<br />
= F n (t n b n )<br />
∥ b − ∑ ∥<br />
n−1 ∥∥∥ t jb j (Definition)<br />
j=1<br />
= |t n | · F n (b n ) (Linearität der Norm F n )<br />
≥ F n (b n ) (wegen t n ∈ Z \ {0})<br />
≥ 2 −n+1 · F 1 (b 1 ) (induktiv aus Satz 9.2.3)<br />
= ‖b 1 ‖ · 2 −n+1 (wegen F 1 (b i ) = ‖b i ‖ <strong>und</strong> ̂b 1 = b 1 )<br />
Wegen λ 1,‖·‖ = ‖b‖ folgt die Behauptung.<br />
<br />
9.2.3 Eigenschaften HKZ-reduzierter Basen<br />
Wir untersuchen die Eigenschaften von HKZ-Basen <strong>und</strong> vergleichen die Resultate, die wir im<br />
Spezialfall der l 2 -Norm in Kapitel 6.1 (Seite 49 <strong>und</strong> folgende) bewiesen haben. Es gilt für HKZreduzierte<br />
Basen zur Norm ‖·‖:<br />
Satz 9.2.5 (Lovász, Scarf 1992)<br />
Sei b 1 , . . . , b n eine HKZ-reduzierte Basis zu ‖·‖ des <strong>Gitter</strong>s L. Es gilt für i = 1, . . . , n:<br />
2<br />
i + 1 · ‖b i‖ ≤ λ i,‖·‖ ≤ i + 1 · F i (b i ) ≤ i + 1 · ‖b i ‖<br />
2<br />
2<br />
Zum Vergleich: Für die l 2 -Norm wissen wir aus Satz 6.2.3 auf Seite 51, daß für i = 1, . . . , n gilt:<br />
i + 3<br />
4<br />
· ‖b i ‖ ≤ λ i,l2 ≤ i + 1<br />
4<br />
‖b i ‖<br />
Beweis (zu Satz 9.2.5).<br />
Wir zeigen die untere <strong>und</strong> obere Schranke:<br />
• Wir zeigen 2<br />
i+1 · ‖b i‖ ≤ λ i,‖·‖ für i = 1, . . . , n. Angenommen, h 1 , . . . , h n ∈ L realisieren die<br />
sukzessiven Minima λ 1 , . . . , λ n , d.h. es ist ‖h i ‖ = λ i,‖·‖ für i = 1, . . . , n, <strong>und</strong> die Vektoren<br />
h 1 , . . . , h n sind linear unabhängig. Es gilt<br />
(9.4)<br />
max<br />
j≤i F i(h j ) ≥ F i (b i ),<br />
weil:<br />
– wegen dim (span(h 1 , . . . , h i )) = i ist max j≤i F i (h j ) ≠ 0 <strong>und</strong><br />
– b 1 , . . . , b n eine HKZ-reduzierte Basis ist, also<br />
F i (b i ) = min {F i (b) | b ∈ L(b i , . . . , b n ) \ {0} }<br />
gilt.<br />
Wir erhalten aus (9.4) <strong>und</strong> λ 1,‖·‖ ≤ λ 2,‖·‖ ≤ · · · ≤ λ n,‖·‖ :<br />
(9.5)<br />
λ i,‖·‖ = ‖h i ‖ = max<br />
j≤i ‖h i‖ ≥ F i (b i )
78 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM<br />
Wir wenden aus Beweis zu Satz 9.2.3 die Ungleichung<br />
min<br />
µ∈Z F j(x + µ · b j ) ≤ F j+1 (x) + 1 2 · F j(b j )<br />
rekursiv beginnend mit x := b i <strong>und</strong> j = i − 1 an:<br />
F i−1 (b i ) ≤ F i−1 (b i + µ i,i−1 · b i−1 )<br />
≤ F i (b i ) + 1 2 · F i−1(b i−1 )<br />
für alle µ i,i−1 ∈ Z<br />
für Minimalstelle µ i,i−1 ∈ Z<br />
Im nächsten Schritt sei x := b i + µ i,i−1 · b i−1 mit Minimalstelle µ i,i−1 ∈ Z <strong>und</strong> j := i − 1<br />
usw. Nach i − 1 Schritten erhalten wir mit Abschätzung (9.5) die Behauptung:<br />
(9.6)<br />
⎛<br />
⎞<br />
∑i−1<br />
‖b i ‖ = F 1 (b i ) ≤ F 1<br />
⎝b i + µ i,j · b j<br />
⎠ ≤ i + 1 · λ i,‖·‖<br />
2<br />
j=1<br />
• Wir zeigen für i = 1, . . . , n:<br />
Es gilt:<br />
≤ max<br />
j≤i<br />
λ i,‖·‖ ≤ i + 1<br />
2<br />
λ i,‖·‖ ≤ max F 1(b j )<br />
j≤i<br />
{<br />
}<br />
j−1<br />
F j (b j ) + 1 2 ·<br />
∑<br />
F t (b t )<br />
≤ max<br />
j≤i<br />
t=1<br />
· F i (b i ) ≤ i + 1<br />
2<br />
· ‖b i ‖<br />
(wegen F 1 (b) = ‖b‖)<br />
(wegen (9.6))<br />
{ j+1<br />
2<br />
· F j (b j ) } (wegen (9.6))<br />
≤ i+1<br />
2 · F 1(b i ) (wegen F t (b t ) ≤ F 1 (b j ) für t < j)<br />
≤ i+1<br />
2 · ‖b i‖ (wegen F 1 (b i ) = ‖̂b i ‖ ≤ ‖b‖)<br />
<br />
9.2.4 Eigenschaften β-reduzierter <strong>Gitter</strong>basen<br />
Wir untersuchen die Eigenschaften von HRZ-Basen <strong>und</strong> vergleichen die Resultate, die wir im<br />
Spezialfall der l 2 -Norm in Kapitel 6.4 (Seite 57 <strong>und</strong> folgende) bewiesen haben. Wir definieren:<br />
Definition 9.2.6 (α β )<br />
Wir setzen:<br />
{ ‖b1 ‖<br />
α β := sup<br />
F β (b β )<br />
∣<br />
b 1 , . . . , b n HKZ-reduzierte<br />
Basis <strong>und</strong> ‖·‖ Norm<br />
}<br />
Satz 9.2.7<br />
Für jede β-reduzierte Basis b 1 , . . . , b n zu ‖·‖ gilt:<br />
‖b 1 ‖ ≤ α ⌈ n−1<br />
β−1 ⌉<br />
β<br />
· λ 1,‖·‖
9.2. REDUZIERTE BASEN ZUR NORM ‖·‖ 79<br />
Beweis. Sei h i := F i (b i ). Bestimme Index µ mit minimalem h µ . Nach Satz 9.1.4 gilt h µ ≤ λ 1,‖·‖ .<br />
Für j < β sind die Basen b i , b i+1 . . . , b i+j HKZ-reduzierte Basen zur Norm F i . Nach Definition<br />
von α β <strong>und</strong> wegen α k ≤ α k+1 gilt:<br />
(9.7)<br />
h i ≤ α β · h i+j<br />
Wir erhalten durch wiederholtes Anwenden von (9.7):<br />
h 1 ≤ α β · h 1+1(β−1) ≤ αβ 2 · h 1+2(β−1) ≤ αβ 3 · h 1+3(β−1) ≤ . . . ≤ α ⌊ µ−1<br />
β−1⌋<br />
β<br />
· h 1+⌊<br />
µ−1<br />
β−1⌋(β−1)<br />
Insgesamt erhalten wir:<br />
h 1 ≤ α ⌈ µ−1<br />
β−1⌉<br />
β<br />
· h µ ≤ α ⌈ n−1<br />
β−1 ⌉<br />
β<br />
· λ 1,‖·‖<br />
<br />
Für die l 2 -Norm zeigt C.P. Schnorr [S87, Korollar 2.5], daß für<br />
(9.8)<br />
α β,l2<br />
:= sup<br />
{<br />
‖b 1 ‖ 2<br />
‖̂b β ‖<br />
: b 1, . . . , b n HKZ-reduzierte Basis<br />
}<br />
gilt, wobei α β,l2<br />
wird):<br />
als Quadrat von (9.8) definiert <strong>und</strong> als Korkine-Zolotareff-Konstante bezeichnet<br />
α β,l2<br />
≤ k 1+ln k<br />
2<br />
Analog zeigt man für beliebige Norm:<br />
α k ≤ k(k − 1) ln(k−1)<br />
Satz 9.2.8<br />
Jede β-reduzierte Basis b 1 , . . . , b n erfüllt für i = 1, . . . , n<br />
mit γ ′ β = (β!) 2 β ≈<br />
(<br />
β<br />
e<br />
) 2.<br />
2<br />
i + 1 · γ′ − i−β/2<br />
β−1<br />
β ≤ ‖b i‖<br />
≤ i + 1 · γ ′ n−β/2<br />
β−1<br />
β<br />
λ i,‖·‖ 2<br />
Zum Vergleich: In der l 2 -Norm gilt für die Hermite-Konstante γ β nach Satz 6.4.3 auf Seite 57:<br />
√<br />
4<br />
i + 3<br />
i−1<br />
β−1<br />
· γ−<br />
β<br />
≤ ‖b i‖<br />
λ i,l2<br />
≤<br />
√<br />
i + 3<br />
4<br />
· γ n−1<br />
β−1<br />
β<br />
Der Beweis zu Satz 9.2.8 ist im wesentlichen analog zum Beweis zur l 2 -Norm. Wichtiger ”<br />
Baustein“<br />
ist folgendes Analogon zu Lemma 6.4.5 auf Seite 58: Für jede β-reduzierte Basis b 1 , . . . , b n gilt:<br />
‖b 1 ‖ ≤ γ ′ β<br />
m−β/2<br />
β−1<br />
· M mit M := max<br />
n−β+2≤i≤n F i(b i )
80 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM<br />
9.3 Konstruktion einer HKZ-reduzierten <strong>Gitter</strong>basis<br />
Gegeben sei ein <strong>Gitter</strong> L vom Rang n. Wir konstruieren eine HKZ-reduzierte Basis in zwei Schritten,<br />
wobei die Konstruktion allerdings nicht effizient ist.<br />
1. Wir wählen für i = 1, . . . , n ein b i ∈ L mit:<br />
F i (b i ) = min {F i (b) | b ∈ L, F i (b) ≠ 0}<br />
Beachte, F i (b) ist definiert, da wir im i-ten Schritt bereits b 1 , . . . , b i−1 festgelegt haben. Es<br />
gilt genau dann F i (b) ≠ 0, wenn b /∈ span(b 1 , . . . , b i−1 ). Die Vektoren b 1 , . . . , b n bilden eine<br />
Basis von L: Falls dies nicht der Fall ist, existiert ein minimales i, so daß b 1 , . . . , b i kein<br />
primitives System ist:<br />
(9.9)<br />
(9.10)<br />
L ∩ span(b 1 , . . . , b i−1 ) = L(b 1 , . . . , b i−1 )<br />
L ∩ span(b 1 , . . . , b i ) L(b 1 , . . . , b i )<br />
Wegen 9.10 existiert ein b ∈ L ∩ span(b 1 , . . . , b i ) \ L(b 1 , . . . , b i ) mit:<br />
∑i−1<br />
b = t j b j + t i b i<br />
j=1<br />
mit t 1 , . . . , t i−1 ∈ Z <strong>und</strong> t i /∈ Z<br />
Sei k > 1 der Index der additiven Untergruppe L(b 1 , . . . , b i ) in span(b 1 , . . . , b i ) ∩ L. Wegen<br />
(9.9) gilt:<br />
t i ∈ 1 k + Z<br />
Wähle t ′ = t i<br />
mod Z, d.h. t ′ = 1 k<br />
∈]0, 1[. Es folgt der Widerspruch zur Minimalität:<br />
F i (t 1 b 1 + t 2 b 2 + · · · + t ′ b i ) = F i (t ′ b i ) = |t ′ | · F i (b i ) < F i (b i ).<br />
2. Längenreduktion: Für i = 1, . . . , n, für j = i − 1, i − 2, . . . , 1 wähle µ i,j ∈ Z, so daß:<br />
F j (b i + µ i,i−1 b i−1 + µ i,i−2 b i−2 + · · · + µ i,j b j )<br />
minimal ist. Setze:<br />
∑i−1<br />
b i := b i + µ i,j b j<br />
j=1<br />
Die Längenreduktion sichert F j (b j ) ≤ F j (b i ± b j ) für j < i.<br />
Lemma 9.3.1<br />
Obige Konstruktion liefert eine HKZ-reduzierte Basis b 1 , . . . , b n des <strong>Gitter</strong>s L.<br />
Beweis. Nachrechnen! <br />
9.4 Alternative zur Reduktion in ‖·‖<br />
Alternativ zur Reduktion in ‖·‖ kann man S ‖·‖ (1) durch S ‖·‖E (1) mit Ellipsoid-Norm ‖·‖ E<br />
approximieren<br />
<strong>und</strong> die Reduktion in der Ellipsoid-Norm durchführen.<br />
‖x‖ 2 E := xT B T Bx
9.5. KONSTRUKTION EINES ‖·‖-KÜRZESTEN GITTERVEKTORS 81<br />
Die Sätze für die l 2 -Norm übertragen sich. Nach [J48] gilt: Zu jeder Norm ‖·‖ : R n → R gibt es<br />
eine Ellipsoid-Norm ‖·‖ E<br />
mit<br />
‖x‖ E<br />
≤ ‖x‖ ≤ √ n · ‖x‖ E<br />
Dann folgt für die ‖·‖ E<br />
β-reduzierte Basis nach Satz 6.4.3:<br />
(9.11)<br />
√<br />
1<br />
n ·<br />
4<br />
i+3<br />
i−1<br />
β−1<br />
· γ−<br />
β<br />
≤ ‖b √<br />
i‖<br />
i+3<br />
≤ n ·<br />
λ i,‖·‖<br />
4 · γ n−1<br />
β−1<br />
β<br />
Dabei geht ein Faktor √ √<br />
n verloren bei der Approximation von ‖·‖ durch ‖·‖ E<br />
. Ein weiterer Faktor<br />
n geht verloren durch die Approximation von λi,‖·‖ durch λ i,l2 .<br />
)<br />
Für kleine Blockweiten β ist die Aussage (9.11) schärfer als Satz 9.2.8, weil γ<br />
β<br />
(γ ′ = Θ β<br />
2 . Für<br />
große Blockweiten β ≈ n ist Satz 9.2.8 schärfer. Für β = n sind die Schranken für HKZ-reduzierte<br />
Basen zu ‖·‖ um den Faktor √ n besser als die Schranken (9.11).<br />
9.5 Konstruktion eines ‖·‖-kürzesten <strong>Gitter</strong>vektors<br />
Wir übertragen unseren Algorithmus zur Bestimmung eines kürzesten <strong>Gitter</strong>vektors für die Euklidische<br />
Norm aus Kapitel 8.1 auf beliebige Normen. H. Ritters [Ri96] gibt eine Übersicht über<br />
die Aufzählung kürzester <strong>Gitter</strong>vektoren in der sup-Norm.<br />
9.5.1 ENUM-Algorithmus für beliebige Norm<br />
Wir verallgemeinern Algorithmus ?? von Seite ??. Es bezeichne:<br />
( n<br />
)<br />
∑<br />
c t (u t , u t+1 , . . . , u n ) := F t u i b i<br />
Wir bezeichnen zu ũ t , ũ t+1 , . . . , ũ n mit next Ft (u) die erste, ganzzahlige Minimalstelle u ′ von<br />
(<br />
)<br />
)∣ n∑<br />
n∑ ∣∣∣∣<br />
(9.12)<br />
∣ F t u · b t + ũ i b i − F t<br />
(u ′ · b t + ũ i b i<br />
i=t<br />
<strong>und</strong> mit next Ft (ũ t , u) die nächste, ganzzahlige Nullstelle von (9.12) nach ũ t . Falls S ‖·‖ ein Polytop<br />
ist, z.B. für die 1- <strong>und</strong> sup-Norm, kann F t durch lineare Optimierung bestimmt werden.<br />
i=t<br />
i=t<br />
9.5.2 Gauß-ENUM-Algorithmus für beliebige Norm<br />
Betrachten wir Schritt 2 des Algorithmus’ 9.5.1. Gegeben sind b 1 , . . . , b n sowie ũ 1 , . . . , ũ n <strong>und</strong> c min<br />
1 .<br />
Sei L := L(b 1 , . . . , b t−1 ) <strong>und</strong> setze:<br />
Dann gilt:<br />
∣ { (ũ 1 , . . . , ũ t−1 ) ∈ Z t−1<br />
z := −<br />
n∑<br />
ũ i b i<br />
i=t<br />
: c 1 (ũ 1 , . . . , ũ t−1 ) ≤ c min<br />
1<br />
}∣ ∣ = ∣ ∣ ( L + w ) ∩ S ‖·‖ ( c min<br />
1 ) ∣ ∣<br />
= ∣ ∣ L ∩<br />
(<br />
S‖·‖ ( c min<br />
1 ) + z )∣ ∣
82 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM<br />
Algorithmus 9.5.1 ‖·‖-ENUM: kürzester <strong>Gitter</strong>vektor (vollständige Aufzählung)<br />
EINGABE :<br />
<strong>Gitter</strong>basis b 1 , . . . , b n ∈ R m<br />
1. FOR i = 1, . . . , n DO ˜c i := u i := ũ i := y i := 0<br />
2. ũ 1 := u 1 := 1; t := 1;<br />
3. c min<br />
1 := ˜c 1 := ‖b 1 ‖ 2<br />
/∗ stets gilt: ˜c t = c t(ũ t, ũ t+1, . . . , ũ n) <strong>und</strong> c min<br />
1 ist aktuelles Minimum der Funktion c 1 ∗/<br />
4. WHILE t ≤ n DO<br />
( n∑<br />
)<br />
4.1. ˜c t := c t (ũ t , ũ t+1 , . . . , ũ n ) = F t ũ i b i<br />
i=t<br />
4.2. IF ˜c t < c min<br />
1 THEN<br />
END while<br />
ELSE<br />
END if<br />
IF t > 1 THEN<br />
ELSE<br />
END if<br />
t := t + 1<br />
t := t − 1<br />
(<br />
u reelle Minimalstelle von F t ub t +<br />
ũ t := next Ft (u)<br />
c min<br />
1 := ˜c 1<br />
FOR i = 1, . . . , n DO u i := ũ i<br />
n ∑<br />
i=t+1<br />
ũ i b i<br />
)<br />
/∗ t max bezeichne den bisherigen maximalen Wert von t vor der Erhöhung ∗/<br />
{<br />
ũ t + 1 falls t = t max<br />
ũ t :=<br />
next Ft (ũ t , u) sonst<br />
AUSGABE :<br />
Minimalstelle (u 1 , . . . , u n ) ∈ Z \ {0} <strong>und</strong> Minimalwert c min<br />
1 für die Funktion c 1<br />
Nach der Volumenheuristik ist:<br />
∣<br />
∣L ∩ [ S ‖·‖ ( c min<br />
1 ) + z ]∣ ∣ ≈ vol ( ( ) [<br />
t−1 span L ∩ S‖·‖ ( c min<br />
1 ) + z ])<br />
(<br />
det L<br />
)<br />
[w ( )]<br />
vol t−1 + span L ∩ S‖·‖ ( c min<br />
1 )<br />
=<br />
det L
9.5. KONSTRUKTION EINES ‖·‖-KÜRZESTEN GITTERVEKTORS 83<br />
Wann gilt die Volumen-Heuristik streng? Hinreichende Voraussetzung: Bei festem y ist z uniformly<br />
distributed modulo L (vergleiche Definition ?? auf Seite ??):<br />
b =<br />
∑t−1<br />
n∑<br />
n∑ n∑<br />
ũ i µ i,ĵbj + ũ i µ i,ĵbj<br />
j=1 i=1<br />
} {{ }<br />
=−z∈span( L )<br />
j=t i=t<br />
} {{ }<br />
:=y∈span( L ) ⊥<br />
Die Menge ( b + span ( L )) ∩ S ‖·‖ ( c min<br />
1 ) hängt nur von z, aber nicht von y ab. Es folgt aus der<br />
Volumenheuristik Lemma 8.2.1 (Seite 68):<br />
Lemma 9.5.1<br />
Angenommen, z ist uniformly distributed modulo L <strong>und</strong> unabhängig von y. Dann gilt<br />
( )<br />
[y ( )]<br />
E [ ∣ [ w + L ] ∩ S ‖·‖ ( c min<br />
1 ) ∣ ] vol t−1 + span L ∩ S‖·‖ ( c min<br />
1 )<br />
=<br />
,<br />
det L<br />
wobei y + span ( L ) = b + span ( L ) .<br />
Wir erhalten analog zu Satz ??:<br />
Satz 9.5.2<br />
Angenommen, ({µ i,j } : 1 ≤ j < i ≤ n) ist gleichverteilt in [0, 1[ (n 2) . Dann gilt in Algorithmus 9.5.1<br />
‖·‖-ENUM stets:<br />
• z ist uniformly distributed modulo L <strong>und</strong> unabhängig von y.<br />
( )<br />
[y ( )]<br />
• E [ ∣ [ w + L ] ∩ S ‖·‖ ( c min<br />
1 ) ∣ ] vol t−1 + span L ∩ S‖·‖ ( c min<br />
1 )<br />
=<br />
det L<br />
Wir erhalten Gauß-‖·‖-ENUM aus Algorithmus’ 9.5.1, indem wir Schritt 2 ersetzen durch:<br />
( )<br />
[y ( )]<br />
vol t−1 + span L ∩ S‖·‖ ( c min<br />
1 )<br />
IF<br />
≥ 2 −p<br />
det L
84 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM
Kapitel 10<br />
Anwendungen der <strong>Gitter</strong>reduktion<br />
In Kapitel 5 (Seite 43 <strong>und</strong> folgende) haben wir versucht, Subsetsum-Aufgaben durch <strong>Gitter</strong>reduktion<br />
zu lösen. In diesem Kapitel werden wir weitere Anwendungen der <strong>Gitter</strong>reduktion kennenlernen:<br />
Lösen des 3-SAT-Problems, Angriff auf Dåmgards Hashfunktion (finde zwei verschiedene<br />
Vektoren, denen der gleiche Werte zugewiesen wird) <strong>und</strong> Faktorisieren ganzer Zahlen. Für weitere<br />
Anwendungen der <strong>Gitter</strong>reduktion in der <strong>Kryptographie</strong> verweisen wir auf die Arbeit [JoSt94] von<br />
A. Joux <strong>und</strong> J. Stern.<br />
Für eine effiziente Aufzählung kürzester <strong>Gitter</strong>vektor in der sup-Norm verweisen wir auf H. Ritters<br />
Arbeit [Ri96], in der er mit Hilfe der <strong>Gitter</strong>reduktion G. Ortons Kryptosystem basierend auf<br />
dem Subsetsum-Problem mit Dichte größer als 1 bricht. Die Methoden können auf beliebige Normen<br />
l p übertragen werden.<br />
10.1 <strong>Gitter</strong>basis zu 3-SAT<br />
Wir beschreiben zunächst die konjunktive Normalform. Seien x 1 , . . . , x n Boole’sche Variablen. Wir<br />
schreiben x −1<br />
i := ¬ x i , x 1 i := x i <strong>und</strong> x 0 i := 0. Die Klauseln der konjunktiven Normalform (KNF)<br />
schreiben wir als:<br />
C j = x aj1<br />
1 ∨ x aj2<br />
2 ∨ · · · ∨ x ajn<br />
n<br />
mit (a j1 , a j2 , . . . , a jn ) ∈ {0, ±1} n . Falls eine Variable x i nicht in der Klausel C j auftritt, setze<br />
a ji := 0. Die KNF γ hat folgenden Aufbau<br />
γ(x 1 , . . . , x n ) :=<br />
m∧<br />
C j (x 1 , . . . , x n )<br />
j=1<br />
Wir betrachten nur konjunktive Normalformen, deren Klauseln aus maximal drei Literalen bestehen,<br />
also ∑ n<br />
i=1 |a ji| ≤ 3 für j = 1, . . . , m. Beim 3-SAT-Problem ist zu entscheiden, ob eine<br />
erfüllende Belegung für die konjunktive Normalform existiert:<br />
Definition 10.1.1 (3-SAT)<br />
Das 3-SAT-Problem lautet:<br />
∧<br />
• Gegeben: KNF γ(x 1 , . . . , x n ) := m C j (x 1 , . . . , x n ) mit max. 3 Literalen pro Klausel<br />
j=1<br />
• Finde (y 1 , . . . , y n ) ∈ {0, 1} n mit γ(y 1 , . . . , y n ) = 1 oder zeige, daß keine erfüllende Belegung<br />
existiert.<br />
85
86 KAPITEL 10. ANWENDUNGEN DER GITTERREDUKTION<br />
Das 3-SAT-Problem ist N P-vollständig [GaJo79]. Wir ordnen dem 3-SAT-Problem eine <strong>Gitter</strong>basis<br />
zu <strong>und</strong> versuchen, durch <strong>Gitter</strong>reduktion in der sup-Norm eine erfüllende Belegung der<br />
konjunktiven Normalform zu bestimmen.<br />
Wir reduzieren zunächst 3-SAT auf {0, 1}-Integer-Programming, indem wir ein äquivalentes<br />
Ungleichungssystem bilden:<br />
c j := 2 − |{i : a ji = −1}| ≤ 1<br />
für j = 1, . . . , m<br />
Betrachte das folgende Ungleichungssystem in den Unbekannten y 1 , . . . , y n ∈ {0, 1}:<br />
∣ n∑ ∣∣∣∣<br />
(10.1)<br />
a<br />
∣ ji y i − c j ≤ 1 für j = 1, . . . , m<br />
i=1<br />
Beispiel:<br />
x 1 ∨ x 2 ∨ x 3 ↔ |y 1 + y 2 + y 3 − 2| ≤ 1<br />
¬ x 1 ∨ x 2 ∨ x 3 ↔ |−y 1 + y 2 + y 3 − 1| ≤ 1<br />
Wir können jede Restriktion in zwei ≤-Relationen aufspalten. Durch Fallunterscheidung über die<br />
Anzahl negierter/nicht-negierter Literale in der Klausel folgt:<br />
Lemma 10.1.2<br />
Die {0, 1}-IP-Aufgabe (10.1) hat genau dann eine Lösung y ∈ {0, 1} n , wenn γ(y) = 1.<br />
Die <strong>Gitter</strong>basis zum 3-SAT-Problem besteht aus den folgenden n + 1 ganzzahligen Zeilenvektoren<br />
b 1 , . . . , b n+1 ∈ Z n+m+1 :<br />
(10.2)<br />
⎡ ⎤ ⎡<br />
⎤<br />
b 1 2 0 · · · 0 a 11 a 21 · · · a m1 0<br />
b 2 0 2 0 a 12 a 22 · · · a m2 0<br />
⎢ .<br />
:=<br />
.<br />
⎥ ⎢ . .. . . . . .<br />
⎥<br />
⎣ b n<br />
⎦ ⎣ 0 0 2 a 1n a 2n · · · a mn 0 ⎦<br />
b n+1 −1 −1 · · · −1 −c 1 −c 2 · · · −c m +1<br />
Sei y = (y 1 , . . . , y n ) eine erfüllende Belegung der KNF. Der zugehörige Lösungsvektor ist:<br />
b(y) =<br />
n∑<br />
y i b i + b n+1<br />
Dieser Vektor liegt wegen (10.1) in {±1} n × {±1, 0} m × {+1}.<br />
i=1<br />
Satz 10.1.3<br />
Sei L das von den Zeilenvektoren b 1 , . . . , b n+1 aus (10.2) erzeugte <strong>Gitter</strong>. Dann gilt für alle <strong>Gitter</strong>vektoren<br />
z ∈ L:<br />
Es existiert eine erfüllende Belegung<br />
y ∈ {0, 1} n zu γ(y) mit z = ±b(y)<br />
⇐⇒ ‖z‖ ∞<br />
= 1<br />
Beweis.<br />
Wir zeigen beide Richtungen:<br />
” ⇒“ Wegen b(y) ∈ {±1, 0}n+m+1 gilt ‖z‖ ∞<br />
= 1.
10.2. ANGRIFF AUF DÅMGARDS HASHFUNKTION 87<br />
” ⇐“ Gegeben ist ein Vektor z ∈ L mit ‖z‖ ∞<br />
= 1. Der Vektor habe die Darstellung<br />
(10.3)<br />
n+1<br />
∑<br />
z = y ib ′ i<br />
i=1<br />
mit y ′ 1, y ′ 2, . . . , y ′ n+1 ∈ Z. Wegen ‖z‖ ∞<br />
= 1 folgt aus der letzten Komponente der Basisvektoren,<br />
daß y ′ n+1 = ±1 ist. Aus den ersten n Einträgen erhalten wir nach Fallunterscheidung:<br />
1. Aus y n+1 = +1 folgt (y ′ 1, y ′ 2, . . . , y ′ n) ∈ {0, +1} n .<br />
2. Aus y n+1 = −1 folgt (y ′ 1, y ′ 2, . . . , y ′ n) ∈ {0, −1} n .<br />
Setze:<br />
y := y ′ n+1 · (y ′ 1, y ′ 2, . . . , y ′ n)<br />
Es ist y ∈ {0, +1} n <strong>und</strong> (y, 1) = y n+1 ′ ·y ′ . Wegen ‖z‖ ∞<br />
= 1 <strong>und</strong> y n+1 ′ ∈ {±1} gilt nach (10.3)<br />
∣ n∑ ∣∣∣∣ a ji y i − c j = ∣ ∣<br />
∣ y<br />
′<br />
∣<br />
n+1 n∑ ∣∣∣∣<br />
·<br />
a ji y i − c j ≤ ‖z‖<br />
∣<br />
∞<br />
≤ 1<br />
i=1<br />
für j = 1, . . . , m. Nach Lemma 10.1.2 ist y eine erfüllende Belegung.<br />
Wir versuchen durch <strong>Gitter</strong>reduktionen, einen in der sup-Norm kürzesten, nicht-trivalen <strong>Gitter</strong>vektor<br />
zu finden, um eine erfüllende Belegung der konjunktive Normalformen mit höchstens<br />
drei Literalen pro Klausel zu bestimmen. Unter der Cook’schen Hypothese P ≠ N P ist dies in<br />
einigen Fällen schwierig, denn das 3-SAT-Problem ist N P-vollständig.<br />
Wir haben mit Satz 10.1.3 einen alternativen Beweis zu Korollar 11.2.9 von Seite 99 kennengelernt:<br />
Das Problem ‖·‖ ∞<br />
-kürzester <strong>Gitter</strong>vektor ist N P-vollständig.<br />
i=1<br />
<br />
10.2 Angriff auf Dåmgards Hashfunktion<br />
I.B. Dåmgard [Då89] hat der EuroCrypt-Konferenz 1989 die folgende kryptographische Hashfunktion<br />
basierend auf dem Subsetsum-Problem vorgestellt. Wähle zufällig <strong>und</strong> unabhängig<br />
<strong>und</strong> definiere zu a die Hashfunktion:<br />
a = (a 1 , . . . , a n ) ∈ R [1, 2 m − 1] n<br />
h a : {0, 1} n → N<br />
(x 1 , . . . , x n ) ↦→ ∑ n<br />
i=1 a ix i<br />
Eine Kollision nennen wir x, x ′ ∈ {0, 1} n , x ≠ x ′ , mit h a (x) = h a (x ′ ). Als Pseudo-Kollision<br />
bezeichnen wir x, x ′ ∈ {0, 1} n , x ≠ x ′ , mit h a (x) = h a (x ′ ) (mod 2 m ). Wir werden versuchen,<br />
Pseudo-Kollisionen zu finden.<br />
Weshalb suchen wir nach Kollisionen? Um eine lange Nachricht M durch eine kurze, digitale<br />
Unterschrift zu versehen, wendet man in der <strong>Kryptographie</strong> die Hashfunktion h auf die Nachricht<br />
an <strong>und</strong> erhält einen im Vergleich zur Nachricht kleinen Wert. Nur h(M) wird digital unterschrieben.<br />
Der Teilnehmer veröffentlicht M <strong>und</strong> seine digitale Unterschrift von h(M). Falls wir eine andere<br />
Nachricht M ′ mit h(M) = h(M ′ ) finden, können wir die digitale Unterschrift für M einfach<br />
übernehmen. Wir haben eine Nachricht mit digitaler Unterschrift eines fremden Teilnehmers.
88 KAPITEL 10. ANWENDUNGEN DER GITTERREDUKTION<br />
Jedem Vektor x = (x 1 , . . . , x n ) ∈ {±1, 0} n \ {0} mit<br />
n∑<br />
a i · x i = 0 (mod 2 m )<br />
i=1<br />
entspricht eine Pseudo-Kollision x, x ′ gemäß<br />
{<br />
1 falls x i = 1<br />
x i :=<br />
0 sonst<br />
x ′ i :=<br />
<strong>und</strong> umgekehrt. Wir wählen als Basis:<br />
⎡ ⎤ ⎡<br />
⎤<br />
b 1 1 0 · · · 0 a 1 n<br />
b 2 0 1 0 a 2 n<br />
⎢ .<br />
:=<br />
.<br />
⎥ ⎢.<br />
.. (10.4)<br />
. .<br />
⎥<br />
⎣ b n<br />
⎦ ⎣0 0 1 a n n⎦<br />
b n+1 0 0 · · · 0 2 m n<br />
{<br />
1 falls x i = −1<br />
0 sonst<br />
Wir bezeichnen:<br />
P-Kollision :=<br />
{<br />
(x 1 , . . . , x n+1 ) ∈ {±1, 0} n+1 ∣ ∣∣∣ x n+1 = 0 <strong>und</strong> (x 1 , . . . , x n )<br />
entspricht Pseudo-Kollision<br />
}<br />
Es gilt offenbar: P-Kollision ⊆ L(b 1 , . . . , b n+1 ). Wir versuchen durch <strong>Gitter</strong>reduktion, einen kurzen<br />
<strong>Gitter</strong>vektor in der Euklidischen Norm zu finden. Was ist das Minimum der Menge<br />
{‖x‖ 2<br />
: x ∈ P-Kollision} ,<br />
also die Länge des kürzesten <strong>Gitter</strong>vektors, der einer Pseudo-Kollision entspricht? Wir führen eine<br />
probabilistische Analyse zu a ∈ R [1, 2 m − 1] n <strong>und</strong> festem x durch. Zu α ∈ [ 0, 2] 1 mit αn ∈ N sei:<br />
{<br />
∣ }<br />
∣∣∣∣ ∑<br />
n<br />
N α := (x 1 , . . . , x n ) ∈ {±1, 0} n |x i | = αn<br />
Für x ∈ N α ist ‖x‖ 2<br />
= √ αn, da x ∈ {±1, 0} n . Es gilt:<br />
( ) n<br />
(10.5)<br />
N α := |N α | = · 2 αn<br />
αn<br />
Denn wir können die αn Einträge ungleich 0 beliebig auf die n Positionen verteilen <strong>und</strong> als Wert<br />
jeweils +1 oder −1 setzen. Es gilt<br />
i=1<br />
(10.6)<br />
N α ≈ 2 (H(α,1−α)+α)·n ,<br />
wobei H die Shannon’sche Entropie-Funktion ist:<br />
H(α, 1 − α) = −α · log 2 α − (1 − α) · log 2 (1 − α)<br />
Wir möchten bezüglich a ∈ R [1, 2 m − 1] n die Wahrscheinlichkeit berechnen, mit der in N α ein<br />
Vektor aus P-Kollision liegt. Dazu definieren wir zu a <strong>und</strong> festem x ∈ N α die Zufallsvariable:<br />
⎧<br />
⎨<br />
n∑<br />
1 falls a i x i = 0 (mod 2 m )<br />
ξ x :=<br />
i=1<br />
⎩<br />
0 sonst<br />
Offenbar ist<br />
(10.7)<br />
E a [ ξ x ] = 2 −m
10.2. ANGRIFF AUF DÅMGARDS HASHFUNKTION 89<br />
Wir definieren die Zufallsvariable ξ x := ξ x − 2 −m , so daß:<br />
[ ]<br />
(10.8) E a ξx = 0<br />
[ ] [ ]<br />
E a = E a ξ<br />
2<br />
x − 2 · 2<br />
−m (10.9)<br />
· E a [ ξ x ] + 2 −2m ≤ 2 · 2 −m<br />
ξ 2 x<br />
Beachte, daß für die Indikatorvariable ξ i gilt Ws a [ ξ i = 1] = Ws a<br />
[<br />
ξ<br />
2<br />
i = 1 ] . Wir verwenden aus der<br />
Stochastik (siehe u.a. [Fe68]) für eine Zufallsvariable X:<br />
Var[ X] = E [ X 2] − E[ X] 2<br />
Var[ cX] = c 2 · Var[ X]<br />
Ws[ |X − E[ X]| ≥ ɛ] ≤ 1 · Var[ X]<br />
ɛ2 (Tschebycheff-Ungleichung)<br />
(Definition Varianz)<br />
(c > 0 konstant)<br />
Wir wenden die Tschebycheff-Ungleichung auf<br />
1<br />
N α<br />
· ∑x∈N α<br />
ξ x an <strong>und</strong> erhalten wegen der Erwartungswerte<br />
(10.8) <strong>und</strong> (10.9):<br />
Ws a<br />
[ ∣ ∣∣∣∣<br />
1<br />
N α<br />
·<br />
∑<br />
x∈N α<br />
ξ x − 2 −m ∣ ∣∣∣∣<br />
≥ ɛ<br />
]<br />
≤ 1 ɛ 2 · Var [<br />
1<br />
=<br />
ɛ 2 · Nα<br />
2 ·<br />
]<br />
1 ∑<br />
· ξ x<br />
N α<br />
x∈N α<br />
∑ ∑ [ ]<br />
E a ξx · ξ y<br />
y∈N α<br />
x∈N α<br />
Wegen des Erwartungswerts (10.9) ist:<br />
(10.10)<br />
∑<br />
x∈N α<br />
∑ [ ] ∑ [<br />
E a ξx · ξ y = E a<br />
y∈N α x∈N α<br />
ξ 2 x<br />
= ∑ [ ]<br />
E a ξ 2 x<br />
x∈N α<br />
= N α · E a<br />
[<br />
ξ 2 x<br />
]<br />
+ ∑<br />
]<br />
x,y∈N α<br />
x≠y<br />
Aus Abschätzung (10.10) <strong>und</strong> dem Erwartungswert (10.8) folgt:<br />
[ ∣ ∣ ]<br />
∣∣∣∣<br />
1 ∑ ∣∣∣∣<br />
Ws a · ξ x − 2 −m ≥ ɛ ≤<br />
N α<br />
x∈N α<br />
1<br />
[ ]<br />
ɛ 2 · E a ξ 2 x ≤<br />
· N α<br />
E a<br />
[<br />
ξx<br />
]<br />
· Ea<br />
[<br />
ξy<br />
]<br />
2<br />
ɛ 2 · N α · 2 m<br />
Für ɛ = 2 −m erhalten wir<br />
(10.11)<br />
Ws a<br />
[ ∑<br />
x∈N α<br />
ξ x = 0<br />
]<br />
≤ 2m+1<br />
N α<br />
<strong>und</strong> für ɛ = 2 −m−l :<br />
(10.12)<br />
[ ∑<br />
Ws a ξ x ≤ N α · (2 −m − 2 −m−l)] ≤ 2m+1+2l<br />
N α<br />
x∈N α<br />
Aus (10.11) folgt unmittelbar:<br />
Satz 10.2.1<br />
Es gilt:
90 KAPITEL 10. ANWENDUNGEN DER GITTERREDUKTION<br />
a) Für m ≤ log 2 N α − 2 ≈ (H(α, 1 − α) + α) · n gibt es bezüglich a ∈ R [1, 2 m − 1] n mit Wahrscheinlichkeit<br />
mindestens 1 2 Pseudo-Kollisionen in N α.<br />
b) Für m ≤ log 2 N α − 4 ≈ (H(α, 1 − α) + α) · n gibt es bezüglich a ∈ R [1, 2 m − 1] n mit Wahrscheinlichkeit<br />
mindestens 1 2 mindestens N α · 2 −m−1 Pseudo-Kollisionen in N α .<br />
Beweis. Die Aussage a) folgt aus (10.11), die Aussage b) folgt aus (10.12) mit l = 1. <br />
Im nächsten Schritt möchten wir N α = |N α | maximieren: Aus dem Ansatz<br />
mit (10.6) erhalten wir:<br />
∂N α<br />
∂α = 0<br />
Dazu äquivalent:<br />
− log 2 2 ≈ ∂ (−α · log 2 α − (1 − α) · log 2 (1 − α))<br />
∂α<br />
Wegen − log 2 2 = −1 <strong>und</strong> −1 + log 2 α = log 2<br />
1<br />
α<br />
log 2 α + log 2 (1 − α) ≈ − log 2 2<br />
erhalten wir den Anzatz α =<br />
k−1<br />
k<br />
− log 2<br />
k−1<br />
k<br />
+ log 2<br />
1<br />
k = log 2(k − 1) ≈ − log 2 2<br />
<strong>und</strong> somit k − 1 = 2 bzw. k = 3, also α = 2 3 als ungefähre Maximalsstelle von N α.<br />
Satz 10.2.2<br />
Bezüglich a ∈ R [1, 2 m − 1] n gibt es mit Wahrscheinlichkeit mindestens 1 2<br />
Pseudo-Kollisionen, wenn<br />
N 2/3 ≥ 2 m−1 oder äquivalent n ≥ m−1<br />
log 2 3 ist.<br />
Beweis.<br />
Aus (10.7) wissen wir, daß:<br />
Wegen N 2/3 ≥ 2 m−1 folgt:<br />
Damit N 2/3 ≥ 2 m−1 ist, muß wegen<br />
E a [ Anzahl Pseudo-Kollisionen in N α ] = N α · 2 −m<br />
Ws a<br />
[<br />
Anzahl Pseudo-Kollisionen in N2/3<br />
]<br />
≥<br />
1<br />
2<br />
log 2 N 2/3 = n · [− 2 3 · log 2 2 3 − 1 3 · log 2 1 3 + 2 3 · log 2 2 ]<br />
= n · [− 2 3 · (− log 2 3 + log 2 ) − 1 3 · (− log 2 3) + 2 3<br />
= n · [+ 2 3 · log 2 3 − 2 3 + 1 3 · log ]<br />
2 3 + 2 3<br />
= n · log 2 3<br />
]<br />
gelten n · log 2 3 ≥ m − 1 oder äquivalent n ≥ m−1<br />
log 2 3 .<br />
<br />
Betrachten wir die Situation bei den von I.B. Dåmgard vorgeschlagenen Parametern:<br />
• Für m = 120 gibt es Pseudo-Kollisionen, falls n ≥ 77.<br />
• Für m = 120 <strong>und</strong> n = 100 gibt es im Mittel N 2/3 · 2 −m ≈ 3, 8 · 10 11 Pseudo-Kollisionen.
10.3. FAKTORISIEREN GANZER ZAHLEN 91<br />
Betrachten wir die Anzahl der kurzen <strong>Gitter</strong>vektoren:<br />
{<br />
}∣ ∣ z ∈ L(b 1 , . . . , b n+1 ) : ‖z‖ 2 ∣∣<br />
2 ≤ αn N(0, n, α)<br />
≈<br />
2 m<br />
J.E.Mazo <strong>und</strong> A.M.Odlyzko haben in [MaOd90] die Funktion<br />
{<br />
N(z, n, α) := ∣ x ∈ Z n : ‖x − z‖ 2 ∣∣<br />
≤ α · n}∣<br />
untersucht. Als Vektoren z kommen nur Vektoren in Frage, deren letzter Eintrag 0 ist. Der Anteil<br />
der Vektoren (x 1 , . . . , x n ) mit ∑ n<br />
i=1 a ix i = 0 (mod 2 m ) ist 2 −m . Es gilt:<br />
}∣ ∣<br />
{z ∈ L(b 1 , . . . , b n+1 ) : ‖z‖ 2 ∣∣<br />
2 ≤ αn (2eπα) n 2<br />
≈<br />
Wir wählen m <strong>und</strong> α derart, daß in etwa gilt<br />
Also wegen (10.5) <strong>und</strong> (10.6):<br />
2 m<br />
E a [ Anzahl Pseudo-Kollisionen in N α ] ≈ 1,<br />
m = n · [H(α, 1 − α) + α] bzw. N α =<br />
( ) n<br />
· 2 αn = 2 m<br />
αn<br />
Gibt es zur Länge √ αn kürzere, nicht-triviale <strong>Gitter</strong>vektoren, die keiner Pseudo-Kollision entsprechen?<br />
Wir würden bei der <strong>Gitter</strong>-Reduktion unter Umständen diese kürzeren Vektoren anstatt der<br />
gewünschten erhalten. Für m = 120 <strong>und</strong> n = 100 ist (2eπα) n 2<br />
2<br />
≈ 2 0,0039n , d.h. die sog. parasitären,<br />
m<br />
kurzen <strong>Gitter</strong>vektoren sind leicht in der Überzahl.<br />
10.3 Faktorisieren ganzer Zahlen mit Hilfe Diophantischer<br />
Approximationen<br />
Sei N ∈ Z das Produkt mindestens zweier verschiedener Primzahlen <strong>und</strong> p 1 , p 2 , . . . die Folge der<br />
Primzahlen. C.P. Schnorr [S93] hat das Problem der Faktorisierung von N auf das Finden von<br />
t + 2 Lösungen (e 1 , . . . , e t ) ∈ Z t der Ungleichungen (c > 1 fest)<br />
t∑<br />
e<br />
∣ i ln p i − ln N<br />
∣ ≤ N −c · p o(1)<br />
t<br />
i=1<br />
(10.14)<br />
t∑<br />
|e i ln p i | ≤ (2c − 1) · log 2 N + 2 · ln p t<br />
i=1<br />
reduziert. Wir möchten in diesem Kapitel die Idee <strong>und</strong> den Algorithmus vorstellen. Für eine<br />
ausführliche Betrachtung verweisen wir auf die Originalarbeit.<br />
Wir assoziieren mit den Primzahlen p 1 , . . . , p t ein <strong>Gitter</strong> im R t+1 <strong>und</strong> mit N einen Punkt ⃗ N im<br />
R t+1 . Das Problem der Diophantischen Approximation (10.14) reduzieren wir auf die Bestimmung<br />
eines in der l 1 -Norm hinreichend nahen <strong>Gitter</strong>punktes.<br />
Sei p 1 , . . . , p t die Folge der ersten Primzahlen, also 2, 3, 5, . . .. Wir definieren zu N <strong>und</strong> festem<br />
c > 1 das <strong>Gitter</strong> L α,c ⊆ R t+1 , welches von den Zeilenvektoren b 1 , . . . , b t , N ⃗ aufgespannt wird:<br />
⎡ ⎤ ⎡<br />
⎤<br />
b 1 ln p 1 0 · · · 0 N c · ln p 1<br />
b 2 0 ln p 2 0 N c · ln p 2<br />
⎢ .<br />
:=<br />
.<br />
⎥ ⎢ .<br />
.. (10.15)<br />
. .<br />
⎥<br />
⎣b t<br />
⎦ ⎣ 0 0 ln p n N c · ln p t<br />
⎦<br />
N ⃗ 0 0 · · · 0 N c · ln N
92 KAPITEL 10. ANWENDUNGEN DER GITTERREDUKTION<br />
Die reellen Vektoren kann man durch rationale Vektoren approximieren. In der Praxis genügen<br />
sogar ganzzahlige Vektoren.<br />
Betrachten wir Algorithmus 10.3.1. Da N das Produkt mindestens zweier verschiedener Primzahlen<br />
ist, hat x 2 mindestens 4 Wurzeln modulo N, wobei sich zwei nur im Vorzeichen unterscheiden.<br />
x 2 − y 2 = (x − y)(x + y) = 0 (mod N)<br />
Im Fall x ≠ ±y (mod N) sind 0 < x − y < N <strong>und</strong> 0 < x + y < N, also 1 < x ± y < N, wobei x ± y<br />
modulo N reduziert sei. Dann liefert ggT(x ± y, N) nicht-triviale Teiler von N. Falls x <strong>und</strong> y sich<br />
wie unabhängige Zufallsvariable verhalten, hat Schritt 7 Erfolgswahrscheinlichkeit mindestens 1 2 .<br />
Der Schritt 4 erfordert, daß |u i − v i N| über der Basis P t faktorisiert werden kann. Satz 10.3.2<br />
zeigt, daß für Punkte z ∈ L α,c , die ”<br />
nahe“ bei ⃗ N liegen, diese Voraussetzung mit hoher Wahrscheinlichkeit<br />
erfüllt ist.<br />
Satz 10.3.1<br />
Sei c > 1, β, δ ≥ 0 fest <strong>und</strong> p t < N. Falls (e 1 , . . . , e t ) ∈ Z t das Ungleichungssystem<br />
t∑<br />
a<br />
∣ i ln p i − ln N<br />
∣ ≤ N −c · p o(1)<br />
t<br />
i=1<br />
t∑<br />
|a i ln p i | ≤ (2c − 1) · log 2 N + 2 · ln p t<br />
i=1<br />
löst, gilt für das in Schritt 3 konstruierte Paar (u i , v i ) mit<br />
(10.16)<br />
u i :=<br />
∏<br />
p aij<br />
j <strong>und</strong> v i := ∏<br />
daß:<br />
a i,j>0<br />
|u i − v i N| ≤ p β+δ+o(1)<br />
t<br />
a i,j0<br />
p aij<br />
j <strong>und</strong> |u i − v i N| ≤ p t<br />
Dies ist nur mit vernachlässigbarer Wahrscheinlichkeit nicht der Fall [S93, Theorem 4].<br />
Satz 10.3.2<br />
Sei α > 1, c > 1, δ ≥ 0 <strong>und</strong> p t = (ln N) α < N. Falls z ∈ L α,c die Ungleichung<br />
‖z − N‖ 1<br />
≤ (2c − 1) · ln N + 2δ · ln p t<br />
erfüllt, gilt für die in Schritt 3 konstruierten Paare (u i , v i ):<br />
|u i − v i N| ≤ p 1 α +β+o(1)<br />
t<br />
Beweis. Siehe [S93, Theorem 2].
10.3. FAKTORISIEREN GANZER ZAHLEN 93<br />
Aus den beiden Sätzen 10.3.1 <strong>und</strong> 10.3.2 folgt, daß es zum Faktorisieren von N genügt, hinreichend<br />
viele <strong>Gitter</strong>vektoren z ∈ L α,c zu finden, die in der l 1 -Norm nahe bei ⃗ N liegen. Diese <strong>Gitter</strong>punkte<br />
findet man in der Praxis durch Anwenden mächtiger Reduktionsalgorithmen auf die Vektoren<br />
b 1 , . . . , b n , ⃗ N in der l 2 -Norm. Die reduzierte Basis enthält im allgemeinen dann Vektoren, die<br />
bezüglich der l 1 -Norm kurz sind. Man kann erreichen, daß diese Vektoren die Form<br />
t∑<br />
e i b i − N ⃗<br />
haben (e 1 , . . . , e n ∈ Z) <strong>und</strong> wählen z := ∑ t<br />
i=1 e ib i für Satz 10.3.2.<br />
i=1
94 KAPITEL 10. ANWENDUNGEN DER GITTERREDUKTION<br />
Algorithmus 10.3.1 Faktorisieren einer ganzen Zahl<br />
EINGABE : ⊲ N ∈ Z (Produkt mindestens zweier verschiedener Primzahlen)<br />
⊲ α <strong>und</strong> c ∈ Q mit c ≥ 1<br />
1. Bilde Liste p 1 , . . . , p t der ersten Primzahlen, p t = (ln N) α . Sei P t := {p 1 , . . . , p t }.<br />
2. Reduziere mit geeignetem“ Reduktionsalgorithmus das <strong>Gitter</strong> L ” α,c ⊆ R t+1 (siehe Basismatrix<br />
(10.15)).<br />
3. Bilde für Vektoren z (i) := ∑ t<br />
j=1 a ∥<br />
i,jb j ∈ L mit kleiner l 1 -Norm ∥z − N ⃗ ∥ mit Hilfe von P t<br />
1<br />
<strong>und</strong> den ganzzahligen Koeffizienten (a i,1 , a i,2 , . . . , a i,t ) m ≥ t + 2 Tupel (u i , v i ) ∈ N 2 :<br />
4. FOR i = 1, . . . , m DO<br />
u i :=<br />
v i :=<br />
∏<br />
a i,j>0<br />
∏<br />
a i,j
Kapitel 11<br />
Komplexität, N P-Vollständigkeit<br />
Wir fassen mit Hinblick auf die <strong>Gitter</strong>theorie die Gr<strong>und</strong>begriffe der Komplexitätstheorie, speziell<br />
die N P-Vollständigkeit, zusammen.<br />
11.1 N P-Vollständigkeit<br />
Wir definieren die Bitlänge endlicher Objekte (das Vorzeichen speichern wir getrennt):<br />
• l(0) := 1<br />
• l(n) := ⌈log 2 (n + 1)⌉ für n ∈ N<br />
( )<br />
• l p<br />
q<br />
:= l(p) + l(q) mit p, q ∈ N <strong>und</strong> ggT(p, q) = 1<br />
• l(A) = ∑ i,j l(a ij) für A = [a ij ] ∈ Q m×n<br />
Wir setzen die Laufzeit des Algorithmus’ in Beziehung zur Eingabelänge. Wir interessieren uns<br />
für Polynomialzeit-Verfahren:<br />
Definition 11.1.1 (Polynomialzeit)<br />
Ein Algorithmus ist in Polynomialzeit, falls die Schrittzahl (Turing-Maschine oder Anzahl Bit-<br />
Operationen) polynomiell in der Länge der Eingabe beschränkt ist:<br />
Schrittzahl(Eingabe) = poly(l(Eingabe))<br />
In der theoretischen Informatik betrachtet man die Polynomialzeit-Algorithmen als effizient.<br />
Definition 11.1.2 (Charakteristische Funktion)<br />
Zu einer Menge A ⊆ {0, 1} ∗ ist die charakteristische Funktion χ A : {0, 1} ∗ → {0, 1} definiert<br />
durch: χ A (a) = 1 genau dann, wenn a ∈ A ist.<br />
Wir definieren mit charakteristischen Funktionen die Klasse der Polynomialzeit-Sprachen:<br />
Definition 11.1.3 (Klasse P der Polynomialzeit-Sprachen)<br />
Die Klasse P der Polynomialzeit-Sprachen besteht genau aus den Sprachen A ⊆ {0, 1} ∗ , für welche<br />
die charakteristische Funktion χ A in Polynomialzeit berechenbar ist.<br />
95
96 KAPITEL 11. KOMPLEXITÄT, N P-VOLLSTÄNDIGKEIT<br />
Die Klasse N P umfaßt die Sprache, so daß es genau für jedes Wort aus der Sprache einen Bitstring<br />
gibt, anhand dessen wir effizient überpüfen können, daß dieses Wort in der Sprache liegt.<br />
Definition 11.1.4 (Klasse N P)<br />
Die Klasse N P der nichtdeterministischen Polynomialzeit-Sprachen A ⊆ {0, 1} ∗ ist erklärt durch:<br />
A ∈ N P ⇐⇒ ∃B ∈ {0, 1}∗ × {0, 1} ∗ , B ∈ P :<br />
A = { x ∈ {0, 1} ∗ ∣ ∣ ∃y ∈ {0, 1} poly(l(x)) mit (x, y) ∈ B }<br />
Sei (x, y) ∈ B. Dann heißt y Zeuge für x ∈ A.<br />
Die Cook’sche Hypothese ist P ≠ N P, d.h. es gibt Sprachen in der Klasse N P, für die wir nicht<br />
in Polynomialzeit einen Zeugen finden können.<br />
Definition 11.1.5 (Karp-Reduktion)<br />
Seien A, B ⊆ {0, 1} ∗ :<br />
A ≤ pol B ⇐⇒<br />
∃ Polynomialzeit-Abbildung h mit:<br />
∀x ∈ {0, 1} ∗ : x ∈ A ⇔ h(x) ∈ B<br />
Aus A ≤ pol B <strong>und</strong> B ≤ pol C folgt A ≤ pol C.<br />
Definition 11.1.6 (N P-vollständig)<br />
A ⊆ {0, 1} ∗ heißt N P-vollständig, wenn: 1. A ∈ N P, 2.∀B ∈ N P : B ≤ pol A.<br />
Falls wir einen Polynomialzeit-Algorithmus zu einem N P-vollständigen Problem finden, folgt P =<br />
N P. Dies würde der Cook’schen Hypothese widersprechen. Daher gelten die N P-vollständigen<br />
Probleme als die schwierigsten in N P.<br />
11.2 Schwierige, algorithmische <strong>Gitter</strong>probleme<br />
Wir lernen in diesem Abschnitt mit der <strong>Gitter</strong>theorie verb<strong>und</strong>ene Probleme kennen, die N P-<br />
vollständig sind oder für die bisher keine effizienten Algorithmen bekannt sind. Ein solches Problem<br />
ist die ganzzahlige, lineare Programmierung (Integer Programming):<br />
Definition 11.2.1 (Ganzzahlige, lineare Programmierung)<br />
Das Problem der ganzzahligen, linearen Programmierung lautet:<br />
• Gegeben: m, n ∈ N, A ∈ (Z) m×n <strong>und</strong> b ∈ Z m<br />
• Finde x ∈ Z n mit Ax ≤ b oder zeige, daß kein solcher Vektor existiert.<br />
Die ganzzahlige, lineare Programmierung ist ”<br />
schwierig“. Wir werden in Satz 11.2.5 sehen, daß<br />
das zugehörige Entscheidungsproblem N P-vollständig ist:<br />
Definition 11.2.2 (Entscheidungsproblem der ganzzahligen, linearen Programmierung)<br />
Das Problem der ganzzahligen, linearen Programmierung lautet:<br />
• Gegeben: m, n ∈ N, A ∈ Z m×n <strong>und</strong> b ∈ Z m
11.2. SCHWIERIGE, ALGORITHMISCHE GITTERPROBLEME 97<br />
• Entscheide, ob ein x ∈ Z n mit Ax ≤ b existiert.<br />
Falls P ≠ N P, gibt es keinen Lösungsalgorithmus in Polynomialzeit. Dagegen gibt es zum analogen<br />
Problem der rationalen, linearen Programmierung Polynomialzeit-Verfahren:<br />
Definition 11.2.3 (Rationale, lineare Programmierung)<br />
Das Problem der rationalen, linearen Programmierung lautet:<br />
• Gegeben: m, n ∈ N, A ∈ Z m×n <strong>und</strong> b ∈ Q m<br />
• Finde x ∈ Q n mit Ax ≤ b oder zeige, daß kein solcher Vektor existiert.<br />
Das erste Polynomialzeit-Verfahren für die lineare Programmierung ist die Ellipsoid-Methode<br />
von L.G. Khachiyan [Kh79, Kh80]. Diese Methode ist aber nicht praktikabel. Ein bekannter<br />
Polynomialzeit-Algorithmus stammt von M. Karmarkars [Ka84]. Dieser hat zur Entwicklung der<br />
Interior-Point-Methoden für die lineare Programmierung geführt. Ein bekannter Interior-Point-<br />
Algorithmus stammt von Y. Ye [Ye91]. Ein einfaches, praktisches Verfahren ist der Simplex-<br />
Algorithmus [Da63, Schr86] von G.B. Dantzig, der allerdings im Wortcase exponentielle Laufzeit<br />
haben kann. Weitere Probleme, die man in Polynomialzeit lösen kann, sind:<br />
Satz 11.2.4 (Sieveking 1976)<br />
Folgende Probleme sind zu gegebenen m, n ∈ N, A ∈ Z m×n <strong>und</strong> b ∈ (Z) in Polynomialzeit lösbar:<br />
a) Löse Ax = b, x ∈ Z n oder weise Unlösbarkeit nach.<br />
b) Finde eine Z-Basis b 1 , . . . , b k von {x ∈ Z n | Ax = 0}, dem Z-Kern. Eine Z-Basis besteht aus<br />
linear unabhängigen Vektoren b 1 , . . . , b k , so daß:<br />
{ k∑<br />
∣ ∣∣∣∣<br />
{x ∈ Z n | Ax = 0} = t i b i t 1 , . . . , t k ∈ Z<br />
i=1<br />
}<br />
Beweis. Modifikation des Gauß-Eliminationsverfahrens (M. Sieveking in [SS76]). Alternativer<br />
Beweis in [KaBa79].<br />
<br />
Im folgenden Satz führen wir weitere mit der <strong>Gitter</strong>theorie verb<strong>und</strong>ene Aufgaben bzw. Entscheidungsprobleme<br />
auf, die N P-vollständig sind.<br />
Satz 11.2.5<br />
Folgende Sprachen sind N P-vollständig:<br />
1. Integer-Programming:<br />
IP :=<br />
{<br />
(m, n, A, b)<br />
∣<br />
A ∈ Z m×n , b ∈ Z m ,<br />
∃x ∈ Z n : Ax ≤ b<br />
}<br />
2. Rucksack (Knapsack) oder Subsetsum:<br />
{<br />
∣ }<br />
∣∣∣∣ n∑<br />
SubsetSum := (n, a 1 , . . . , a n , b) ∈ N n+2 ∃x ∈ {0, 1} n : a i x i = b<br />
i=1
98 KAPITEL 11. KOMPLEXITÄT, N P-VOLLSTÄNDIGKEIT<br />
3. {0, 1}-Integer-Programming:<br />
{0, 1}-IP :=<br />
{<br />
(m, n, A, b)<br />
∣<br />
A ∈ Z m×n , b ∈ Z m ,<br />
∃x ∈ {0, 1} n : Ax ≤ b<br />
}<br />
4. Schwache Zerlegung:<br />
{<br />
(n, a 1 , . . . , a n ) ∈ N n+1 ∣ ∣∣∣∣<br />
∃ (x 1 , . . . , x n ) ∈ {0, ±1} n \ {0 n } :<br />
}<br />
n∑<br />
a i x i = 0<br />
Beweis. Für 1,2,3 siehe [GaJo79][SS76], für 4 siehe [EB81]. Den Nachweis, daß es für die Sprache<br />
Integer-Programming polynomiell lange Zeugen gibt, also IP ∈ N P, werden wir in Satz 11.2.6<br />
führen.<br />
<br />
Satz 11.2.6 (von zur Gathen, Sieveking 1978)<br />
IP ∈ N P.<br />
Beweis. Wir wählen als Zeugen für (m, n, A, b) ∈ IP ein geeignetes x ∈ Z n mit Ax ≤ b. Offenbar<br />
existiert x genau dann, wenn (m, n, A, b) ∈ IP. Wir müssen noch zeigen, daß der Zeuge polynomielle<br />
Länge hat.<br />
Sei A =: (a ij ) ij <strong>und</strong> b =: (b 1 , . . . , b m ) T . Setze M := max i,j {|a ij | , |b i |}. Nach [GaSi78] gilt:<br />
(∃x ∈ Z n : Ax ≤ b) ⇐⇒ ( ∃x ∈ Z n : Ax ≤ b, ‖x‖ ∞<br />
≤ (n + 1)n n 2 M<br />
n )<br />
Die obere Schranke von ‖x‖ ∞<br />
impliziert, daß die Länge des Zeugen x polynomiell in der Länge<br />
von A <strong>und</strong> b beschränkt ist. Wegen l(m, n, A, b) ≥ nm + log 2 M gilt:<br />
l(x) = O ( n 2 (log n + log M ) = O ( l(m, n, A, b) 3)<br />
Wir definieren die Begriffe, die elementar für die weiteren Kapitel sind:<br />
i=1<br />
<br />
Definition 11.2.7 (<strong>Gitter</strong>, Basis, Dimension, Rang)<br />
Seien b 1 , . . . , b n ∈ R m linear unabhängige Vektoren. Wir nennen die additive Untergruppe<br />
L(b 1 , . . . , b n ) :=<br />
{<br />
n∑<br />
n<br />
∣ }<br />
∑ ∣∣∣∣<br />
b i Z = t i b i t 1 , . . . , t m ∈ Z<br />
i=1<br />
des R m ein <strong>Gitter</strong> mit der Basis b 1 , . . . , b n . Ist die Reihenfolge der Basisvektoren fest, sprechen<br />
wir von einer geordneten Basis. Der Rang oder auch die Dimension des <strong>Gitter</strong>s ist Rang(L) := n.<br />
i=1<br />
Betrachten wir ein Beispiel:<br />
Beispiel 11.2.8 (<strong>Gitter</strong>)<br />
Z m ist ein <strong>Gitter</strong> vom Rang m, die Einheitsvektoren bilden eine Basis. Zur Matrix A ∈ M m,n (Z)<br />
ist {x ∈ Z n | Ax = 0} ein <strong>Gitter</strong> vom Rang n − Rang(A); nach Satz 11.2.4 können wir in Polynomialzeit<br />
eine Basis konstruieren.<br />
⋄<br />
Wir versuchen, durch <strong>Gitter</strong>reduktion einen kürzesten, nicht-trivialen <strong>Gitter</strong>vektor zu finden.<br />
Im Fall der sup-Norm ist dies unter der Annahme P ≠ N P nicht immer effizient möglich:
11.2. SCHWIERIGE, ALGORITHMISCHE GITTERPROBLEME 99<br />
Korollar 11.2.9<br />
Das Problem ‖·‖ ∞<br />
-kürzester <strong>Gitter</strong>vektor<br />
ist N P-vollständig.<br />
L ∞ -SVP :=<br />
{<br />
(m, n, b 1 , . . . , b n )<br />
∣<br />
m, n ∈ N, b 1 , . . . , b n ∈ Z m ,<br />
∃x ∈ L(b 1 , . . . , b n ) : ‖x‖ ∞<br />
= 1<br />
}<br />
Beweis. Das Problem ‖·‖ ∞<br />
-kürzester <strong>Gitter</strong>vektor liegt in N P: Als Zeugen wählt man einen<br />
Vektor x ∈ L(b 1 , . . . , b n ) \{0} mit ‖x‖ ∞<br />
= 1. Das N P-vollständige Problem schwache Zerlegung“<br />
”<br />
aus Satz 11.2.5 kann in Polynomialzeit auf ‖·‖ ∞<br />
-kürzester <strong>Gitter</strong>vektor reduziert werden. <br />
Beim Problem des kürzesten <strong>Gitter</strong>vektors in der l 2 -Norm soll man zu gegebener <strong>Gitter</strong>basis<br />
b 1 , . . . , b n <strong>und</strong> k entscheiden, ob es einen <strong>Gitter</strong>vektor z ∈ L(b 1 , . . . , b n ) gibt mit z ≠ 0 <strong>und</strong><br />
‖z‖ 2<br />
≤ √ k.<br />
Definition 11.2.10 (Shortest Vector Problem SVP)<br />
Die Sprache zum kürzesten <strong>Gitter</strong>vektorproblem (Shortest Vector Problem) für die l 2 -Norm lautet:<br />
L 2 -SVP :=<br />
{<br />
(k, m, n, b 1 , . . . , b n )<br />
∣<br />
k, m, n, ∈ N, b 1 , . . . , b n ∈ Z m }<br />
,<br />
∃x ∈ L(b 1 , . . . , b n ) \ {0} : ‖x‖ 2 2 ≤ k<br />
Der Status dieses Problems ist offen. Anstrengungen, die Vermutung, daß L 2 -SVP N P-hart ist,<br />
nachzuweisen, sind im Gegensatz zur sup-Norm (siehe Korollar 11.2.9) bislang fehlgeschlagen (vergleiche<br />
[K87]).<br />
Das Problem des kürzesten <strong>Gitter</strong>vektors ist der homogene Spezialfall des Problems nächster<br />
<strong>Gitter</strong>vektor, von dem man aber weiß, daß es (auch) in der l 2 -Norm N P-vollständig ist:<br />
Satz 11.2.11 (Closest Vector Problem CVP)<br />
Das Problem l 2 -nächster <strong>Gitter</strong>vektor<br />
L 2 -CVP :=<br />
ist N P-vollständig.<br />
{<br />
(k, m, n, b 1 , . . . , b n , z)<br />
∣<br />
k, m, n, ∈ N, b 1 , . . . , b n , z ∈ Z m }<br />
,<br />
∃x ∈ L(b 1 , . . . , b n ) : ‖z − x‖ 2 2 ≤ k<br />
Beweis. Siehe Kannan [K87].<br />
<br />
Wir fassen zusammen: Zu gegebener <strong>Gitter</strong>basis b 1 , . . . , b n ∈ Z m sind folgende Aufgaben nach<br />
heutigem Stand schwierige, algorithmische <strong>Gitter</strong>probleme:<br />
• Finde kurze <strong>Gitter</strong>vektoren ungleich dem Nullvektor.<br />
• Finde eine Basis bestehend aus kurzen <strong>Gitter</strong>vektoren.<br />
• Finde zu gegebenem z ∈ span(b 1 , . . . , b n ) einen möglichst nahen <strong>Gitter</strong>vektor.<br />
Dagegen kann man in Polynomialzeit zu einem gegebenen Erzeugendensystem b 1 , . . . , b n ∈ Z m des<br />
<strong>Gitter</strong>s L, n ≥ Rang(L), eine <strong>Gitter</strong>basis konstruieren.
100 KAPITEL 11. KOMPLEXITÄT, N P-VOLLSTÄNDIGKEIT<br />
.
Kapitel 12<br />
Gr<strong>und</strong>lagen<br />
12.1 Notation<br />
Mit M m,n (S) bezeichnen wir die Menge aller m × n-Matrizen mit Einträgen aus der Menge S.<br />
Zum Beispiel ist M m,n (Z) die Menge aller ganzzahligen m × n-Matrizen. Zur Matrix B bezeichne<br />
B T die transponierte Matrix. Die Elemente aus Z n , R n , etc. schreiben wir, sofern nicht anders<br />
angegeben, als Spaltenvektoren.<br />
Zur reellen Zahl r bezeichne ⌈r⌋ := ⌈ r − 1 2⌉<br />
die nächste ganze Zahl. Wir schreiben R+ :=<br />
{x ∈ R | x > 0} für die Menge der positiven, reellen Zahlen.<br />
Skalarprodukt<br />
Der Vektorraum R n sei mit einem beliebigen Skalarprodukt 〈·, ·〉 : R n × R n → R ausgestattet<br />
(Euklidischer Vektorraum). Das Skalarprodukt hat die folgenden Eigenschaften: Für alle u, v, w ∈<br />
R n <strong>und</strong> λ ∈ R gilt:<br />
• 〈·, ·〉 ist bilinear:<br />
• 〈·, ·〉 ist symmetrisch:<br />
〈u + w, v〉 = 〈u, v〉 + 〈w, v〉<br />
〈λu, v〉 = λ 〈u, v〉<br />
〈u, v + w〉 = 〈u, v〉 + 〈u, w〉<br />
〈u, λv〉 = λ 〈u, v〉<br />
〈u, v〉 = 〈v, u〉<br />
• 〈·, ·〉 ist positiv definit:<br />
〈u, u〉 > 0 für u ≠ 0<br />
Die meisten Anwendungen beziehen sich auf das Standard-Skalarprodukt:<br />
〈(u 1 , . . . , u n ) , (v 1 , . . . , v n )〉 :=<br />
101<br />
n∑<br />
u i v i<br />
i=1
102<br />
Jedes Skalarprodukt 〈·, ·〉 : R n × R n → R läßt sich schreiben als:<br />
〈u, v〉 := u T Sv<br />
mit symmetrischer Matrix S ∈ R n×n . Im Fall des Standard-Skalarprodukts ist die Matrix S die<br />
Identität.<br />
Normen<br />
Eine Abbildung ‖·‖ : R n → R heißt Norm, falls für alle u, v ∈ R n <strong>und</strong> λ ∈ R gilt:<br />
‖λv‖ = |λ| · ‖v‖<br />
‖u + v‖ ≤ ‖u‖ + ‖v‖<br />
(positive Homogenität)<br />
(Dreiecksungleichung)<br />
‖u‖ ≥ 0 für u ≠ 0 (positive Definitheit)<br />
Die reelle Zahl ‖u‖ heißt Norm (oder Länge) des Vektors u = (u 1 , . . . , u n ). Aus einem Skalarprodukt<br />
erhält man die Euklidische Norm durch: ‖u‖ := √ 〈u, u〉.<br />
Die l 1 -Norm oder auch Betragsnorm ist:<br />
Die l 2 -Norm zum Standard-Skalarprodukt ist:<br />
‖ (u 1 , . . . , u n ) ‖ 1 := ∑ n<br />
i=1 |u i|<br />
‖ (u 1 , . . . , u n ) ‖ 2 := √ 〈u, u〉 = ( ∑ n<br />
i=1 u2 i<br />
Die l p -Norm ist: ‖ (u 1 , . . . , u n ) ‖ p := ( ∑ n<br />
i=1 |u i| p) 1 p<br />
.<br />
Die sup-Norm, Maximums-Norm oder auch l ∞ -Norm ist: ‖ (u 1 , . . . , u n ) ‖ ∞ := max i=1,...,n |u i |.<br />
) 1<br />
2<br />
.<br />
Ungleichungen<br />
Für die sup-, Betrags- <strong>und</strong> 2-Norm eines Vektors u ∈ R n gelten die folgenden Beziehungen:<br />
‖u‖ 2<br />
≤ ‖u‖ 1<br />
≤ √ n · ‖u‖ 2<br />
‖u‖ ∞<br />
≤ ‖u‖ 2<br />
≤ n · ‖u‖ ∞<br />
Für die Beziehung Skalarprodukt <strong>und</strong> zugehörige Norm ‖u‖ := √ 〈u, u〉 gilt die Cauchy-Schwarz-<br />
Ungleichung (seien u, v ∈ R n ):<br />
|〈u, v〉| ≤ ‖u‖ · ‖v‖<br />
Die Gleichheit gilt genau dann, wenn beide Vektoren linear abhängig sind. Seien b 1 , . . . , b n ∈ R n die<br />
Spaltenvektoren (oder Zeilenvektoren) der Matrix B ∈ M n,n (R). Die Hadamard’sche Ungleichung<br />
besagt:<br />
det B ≤<br />
n∏<br />
‖b i ‖ 2<br />
Sind die Vektoren b 1 , . . . , b n orthogonal, gilt die Gleichheit.<br />
i=1
Algorithmenverzeichnis<br />
1.4.1 zur Längenreduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />
1.4.2 zur paarweise Reduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
3.2.1 Gauß-Reduktionsverfahren für die Euklidische Norm . . . . . . . . . . . . . . . . 27<br />
3.2.2 Gauß-Reduktionsverfahren für beliebige Norm . . . . . . . . . . . . . . . . . . . 29<br />
4.2.1 zur LLL-Reduktion in Z-Arithmetik . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />
4.3.1 LLL-Reduktion von ganzzahligen Erzeugendensystemen . . . . . . . . . . . . . . 38<br />
9.5.1 ‖·‖-ENUM: kürzester <strong>Gitter</strong>vektor (vollständige Aufzählung) . . . . . . . . . . . 82<br />
10.3.1 Faktorisieren einer ganzen Zahl . . . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />
103
Index<br />
Abstandsfunktion, 71<br />
Algorithmus<br />
k-Reduktion (BZK), 60<br />
ENUM, 82<br />
Faktorisieren, 91<br />
Gauß-ENUM, 70, 83<br />
Gauß-Reduktion, 27, 29<br />
kürzester <strong>Gitter</strong>vektor, 70, 82, 83<br />
Lovász-, 33<br />
α β , 78<br />
Barnes, E.S., 21<br />
Basis, 98<br />
k-reduzierte Basis, 57, 60, 61<br />
β-reduzierte Basis zu ‖·‖, 75, 78<br />
Betragsnorm, 102<br />
Bitlänge, 95<br />
Blichfeldt, H.F., 17, 20<br />
Cauchy-Schwarz-Ungleichung, 102<br />
charakteristische Funktion, 95<br />
CJLOSS-Basis, 45<br />
Closest Vector Problem, 99<br />
Cook’sche Hypothese, 96<br />
Cook-Karp-Reduktion, 96<br />
Coster, M.J., 45<br />
CVP, 99<br />
Dåmgard, I.B., 87<br />
Dantzig, G.B., 97<br />
Determinante, 6<br />
Dichte, 19, 44<br />
Dimension, 98<br />
Diophantische Approximationen, 91<br />
Dirichlet, G.L., 18<br />
Distanzfunktion, 71<br />
duales <strong>Gitter</strong>, 9<br />
Entropie-Funktion, 88<br />
Euklidische Norm, 102<br />
Euklidischer Vektorraum, 101<br />
extremes<br />
<strong>Gitter</strong>, 20<br />
lokal extremes <strong>Gitter</strong>, 20<br />
F i , 71<br />
ganzzahlige lineare Programmierung, 96<br />
Gathen, J. von zur, 98<br />
Gauß, C.F., 27, 29, 68, 81<br />
Gauß-reduzierte <strong>Gitter</strong>basis, 25<br />
geordnete Basis, 98<br />
<strong>Gitter</strong><br />
-Basis, 98<br />
-Determinante, 6<br />
-Dimension, 98<br />
-Gr<strong>und</strong>masche, 6<br />
-Rang, 98<br />
L a , 9<br />
L a , 15<br />
A n , 7<br />
D n , 7<br />
Definition, 98<br />
Dichte, 19<br />
duales, 9<br />
geordnete -Basis, 98<br />
global extremes, 20<br />
kritisches, 20<br />
laminated, 22<br />
lineare Kongruenz, 15<br />
lokal extremes, 20<br />
selbstduales, 22<br />
Unter-, 14<br />
vollständiges, 8<br />
gitterartige Kugelpackung, 19<br />
<strong>Gitter</strong>basis<br />
CJLOSS-, 45<br />
Dåmgard-, 88<br />
3-SAT-, 85<br />
zur Faktorisierung, 91<br />
global extremes <strong>Gitter</strong>, 20<br />
Gram-Schmidt-Koeffizienten µ i,j , 8<br />
Gr<strong>und</strong>masche, 6<br />
Hadamard’sche Ungleichung, 102<br />
Hash-Funktion, 87<br />
Hermite, C., 20, 49, 75, 77<br />
Hermite-Konstante γ n , 20<br />
obere Schranke, 20<br />
Hermite-Konstanteγ n<br />
bekannte, 21<br />
Hermite-Normalform, 13<br />
104
INDEX 105<br />
HKZ-Basis, 49<br />
HKZ-reduzierte Basis zu ‖·‖, 75, 77, 80<br />
Hlawka, E., 20<br />
HNF, siehe Hermite-Normalform<br />
Höhenfunktion, 71<br />
Horner, H.H., 44<br />
Index<br />
Untergitter, 14<br />
IP, 97<br />
isometrisch<br />
-es <strong>Gitter</strong>, 8<br />
Joux, A., 45, 85<br />
Kabatiansky, G.A., 20<br />
Kaib, M., 73<br />
Karmarkar, M., 97<br />
Khachiyan, L.G., 97<br />
Knapsack-Problem, siehe Subsetsum<br />
KNF, siehe konjunktive Normalform<br />
Kollision, 87<br />
konjunktive Normalform (KNF), 85<br />
Korkine, A., 49, 75, 77, 79<br />
Korkine-Zolotareff-Konstante, 79<br />
kritische k-reduzierte Basis, 61<br />
kritisches <strong>Gitter</strong>, 20<br />
<strong>Kryptographie</strong>, 44<br />
Kugelpackung, 19<br />
kürzester <strong>Gitter</strong>vektor, 87, 99<br />
Kyptographie, 85<br />
l, 95<br />
Lagarias, J.C., 44, 45, 50<br />
LaMacchina, B.A., 45<br />
laminated <strong>Gitter</strong>, 22<br />
Länge, 102<br />
längenreduziert, 75<br />
längenreduzierte Basis, 12<br />
Lenstra, A.K., 31–33<br />
Lenstra, H.W., 31–33, 50<br />
Levenshtein, V.I., 20<br />
lineare Programmierung<br />
ganzzahlige, 96<br />
rationale, 97<br />
Lovász, L., 31, 33<br />
LLL-reduziert, 31, 41, 57, 75<br />
LLL-Verfahren, 33<br />
Algorithmus, 33<br />
linear abhangige Erzeugendensysteme, 38<br />
lokal extremes <strong>Gitter</strong>, 20<br />
Lovász, L., 32, 77<br />
Maximums-Norm, 102<br />
Mazo, J.E., 46, 91<br />
Minkowski<br />
erster Satz, 18<br />
<strong>Gitter</strong>punktsatz, 18<br />
Ungleichung von, 23<br />
zweiter Satz, 23<br />
Minkowski, H., 17, 18, 20, 23<br />
nächster <strong>Gitter</strong>vektor, 99<br />
Norm, 71, 102<br />
Betrags-, 102<br />
Euklidische, 102<br />
l 1 -, 102<br />
l 2 -, 102<br />
l p -, 102<br />
Maximums-, 102<br />
sup-, 102<br />
Notation, 101<br />
N P, 96<br />
N P-vollständig, 96<br />
{0, 1} − IP, 98<br />
Odlyzko, A.M., 44–46, 91<br />
orthogonale Projektion, 8<br />
Orthogonalsystem, 8<br />
Orton, G., 85<br />
P, 95<br />
p-Norm, 102<br />
paarweisereduzierte Vektoren, 12<br />
parasitärer <strong>Gitter</strong>vektor, 91<br />
Paz, A., 13<br />
polares <strong>Gitter</strong>, siehe duales <strong>Gitter</strong><br />
Polynomialzeit, 95<br />
primitives System, 11<br />
Pseudo-Kollision, 87<br />
Rang, 98<br />
Reduktion, 96<br />
reduzierte <strong>Gitter</strong>basis, 25<br />
2-reduzierte Basis zu ‖·‖, 75<br />
β-, 75, 78<br />
k-, 57, 60<br />
block-, 57, 60, 75, 78<br />
(δ, k)-block-, 60<br />
HKZ-, 49, 50, 75, 77, 80<br />
kritische k-, 61<br />
längen-, 12<br />
LLL-, 31, 41, 57, 75<br />
wohlgeordnete, 27<br />
reziprokes <strong>Gitter</strong>, siehe duales <strong>Gitter</strong><br />
Ritter, H., 81, 85<br />
Rucksack-Problem, siehe Subsetsum<br />
3-SAT, 85<br />
Scarf, H., 77
106 INDEX<br />
Schnorr, C.P., 13, 44, 45, 50, 79, 91<br />
schwache Zerlegung, 98<br />
selbstdual, 22<br />
2k-Reduktion (BZK), 51<br />
Semi Block 2k-Basis, 50<br />
Shannon, C.<br />
Entropie-Funktion, 88<br />
Shortest Vector Problem, 99<br />
Sieveking, M., 97, 98<br />
Simplex-Algorithmus, 97<br />
Skalarprodukt, 101<br />
Standard-Skalarprodukt, 101<br />
Stern, J., 45, 85<br />
Subsetsum-Problem, 43, 85, 97<br />
sukzessive Minima, 17<br />
sup-Norm, 102<br />
SVP, 99<br />
tiefes Loch, 22<br />
Tschebycheff-Ungleichung, 89<br />
Ungleichung<br />
Cauchy-Schwarz-, 102<br />
Hadamard’sche, 102<br />
Minkowski’sche, 23<br />
Tschebycheff, 89<br />
unimodulare Matrix, 5<br />
Untergitter, 14<br />
Vetchinkin, N.M., 21<br />
vollständiges <strong>Gitter</strong>, 8<br />
Volumen-Heuristik, 68, 81<br />
Watson, G.L., 21<br />
Ye, Y., 97<br />
Z-Kern, 97<br />
Zeuge, 96<br />
Zolotareff, G., 49, 75, 77, 79
Literaturverzeichnis<br />
[Aj98]<br />
[Aj03]<br />
M. Ajtai, The Shortest Vector Problem in L 2 is NP-hard for Randomized Reductions.<br />
Proc. 30th STOC, pp. 10–19, 1998.<br />
M. Ajtai, The Worst-case Behavior of Schnorr’s Algorithm Approximating the Shortest<br />
Nonzero Vector in a Lattice. Proc. 35th STOC, pp. 396–406 2003.<br />
[AKS01] M. Ajtai, R. Kumar, and D. Sivakumar, A Sieve Algorithm for the Shortest Lattice<br />
Vector Problem. Proc. 33th STOC, pp. 601–610, 2001.<br />
[Ak02] A. Akhavi, Random Lattices, Threshold Phenomena and Efficient Reduction Algorithms.<br />
Theoret. Comput. Sci., 287, pp. 359–385, 2002.<br />
[Ba86]<br />
L. Babai , On Lovász’ Lattice Reduction and the nearest Lattice Point Problem, Combinatorica,<br />
Band 6, Seiten 1–13, 1986.<br />
[Bar59] E.S. Barnes , The Contruction of perfect and extreme Forms II, Acta Arithmetica, Band<br />
5, Seiten 205-222, 1959.<br />
[BaKa84] A. Bachem <strong>und</strong> R. Kannan , Lattices and the Basis Reduction Algorithm, Technischer<br />
Report, Carnegie-Mellon-<strong>Universität</strong> (USA), (1984).<br />
[BeWe93] Th. Becker <strong>und</strong> V. Weispfennig, Gröbner Bases — a computational Approach to<br />
commutative Algebra, Graduate Texts in Mathematics, Band 141, Springer-Verlag, Berlin/Heidelberg,<br />
1993.<br />
[Bli14] H.F. Blichfeldt, A new Principle in the Geometry of Numbers with some Applications,<br />
Transaction of the American Mathematical Society, Band 15, Seiten 227–235, 1914.<br />
[Bli29] H.F. Blichfeldt , The Minimum Value of quadratic Forms and the closet Packing of Sphere,<br />
Mathematische Annalen, Band 101, Seiten 366-389, 1929.<br />
[Bli35] H.F. Blichfeldt, The minimum Value of positive Quadratic Forms in six, seven and eight<br />
Variables, Mathematische Zeitschrift, Band 39, Seiten 1–15, 1935.<br />
[Be80]<br />
G. Bergman, Notes on Ferguson and Forcade’s Generalized Euclidean Algorithm. TR.<br />
Dep. of Mathematics, University of Berkeley, CA, 1980.<br />
[BM03] J. Blömer and A. May New Partial Key Exposure Attacks on RSA. Proc. Crypto’2003,<br />
Lecture Notes in Comp.Sci., 2729, Springer, New York, pp. 27 - 43, 2003.<br />
[BS99] J. Blömer and J.P. Seifert, On the Complexity of Computing Short Linearly Independent<br />
Vectors and Short Bases in a Lattice. Proc. 31th STOC, pp. 711–720, 1999.<br />
[Bo00]<br />
D. Boneh, Finding Smooth Integers in Small Intervals Using CRT Decoding. Proc. 32th<br />
STOC, pp. 265-272, 2000.<br />
107
108 LITERATURVERZEICHNIS<br />
[Bb65] B. Buchenberger 1965, Ein Algorithmus zum Auffinden der Basiselemente des Restklassenrings<br />
nach einem nulldimensionalen Polynomideal, Dissertation, Fachbereich Mathematik,<br />
<strong>Universität</strong> Insbruck (Österreich), 1965.<br />
[Ca00]<br />
[Co97]<br />
[Co01]<br />
[Ca71]<br />
[Co93]<br />
J. Cai, The Complexity of some Lattice Problems. Algorithmic Number Theory, Lecture<br />
Notes in Comput. Sci., 1838, Springer, New York, pp. 1-32, 2000.<br />
D. Coppersmith, Small Solutions to Polynomial Equations, and Low Exponent RSA Vulnerabilities.<br />
J. Cryptology, 10, pp. 233-260, 1997.<br />
D. Coppersmith, Finding Small Solutions to Small Degree Polynomials. Cryptography and<br />
Lattices, Lecture Notes in Comput. Sci., Springer, New York, 2146, pp. 20-31, 2001.<br />
J.W.S. Cassels , An Introduction to the Geometry of Numbers, Springer-Verlag, Berlin/Heidelberg,<br />
1971.<br />
H. Cohen , A Course in Computational Algebraic Number Theory, Graduate Texts in<br />
Mathematics, Band 138, Springer-Verlag, Berlin/Heidelberg, 1993.<br />
[CoSl88] J.H. Conway <strong>und</strong> N.J. Sloane , Sphere Packings, Lattices and Groups, Springer-Verlag,<br />
New York, 1988.<br />
[CJLOSS92] M.J. Coster, A. Joux, B.A. LaMacchina, A.M. Odlyzko, C.P. Schnorr <strong>und</strong> J. Stern,<br />
An improved low-density Subset Sum Algorithm, Computational Complexity, Band 2,<br />
Seiten 111–128, 1992.<br />
[CR88] B. Chor <strong>und</strong> R.L. Rivest, A Knapsack type Public Key Cryptosystem based on Arithmetic<br />
in finite Fields, IEEE Transaction Information Theory, Band IT-34, Seiten 901–909, 1988.<br />
[Då89] I.B. Dåmgard, A Design Principle for Hash Functions, Advances in Cryptology, Proceedings<br />
EuroCrypt ’89, Lecture Notes in Computer Science, Band 435 (1990), Springer-<br />
Verlag, Berlin/Heidelberg, Seiten 416–427, 1989.<br />
[Da63] G.B. Dantzig , Linear Programming and Extensions, Princeton University Press, Princeton,<br />
New Jersey (dt. Übersetzung ”<br />
Lineare Programmierung <strong>und</strong> Erweiterungen“ 1966 im<br />
Springer-Verlag, Berlin/Heidelberg, erschienen), 1963.<br />
[DV94] H. Daudé and B. Vallée, An Upper Bo<strong>und</strong> on the Average Number of Iterations of the<br />
LLL algorithm, Theoret. Comput. Sci., 123, pp. 395–115, 1994.<br />
[Di1842] G.L. Dirichlet, Verallgemeinerung eines Satzes aus der Lehrere von Kettenbrüchen nebst<br />
einigen Anwendungen auf die Theorie der Zahlen, Bericht über die zur Bekanntmachung<br />
geeigneter Verhandlungen der Königlich Preussischen Akademie der Wissenschaften zu<br />
Berlin, Seiten 93–95, 1842.<br />
[DKT87] P.D. Domich, R. Kannan <strong>und</strong> L.E. Trotter, Hermite normal Form Computation using<br />
modulo Determinant Arithmetic, Mathematics of Operation Research, Band 12, Nr. 1<br />
(Februar), Seiten 50–59, 1987.<br />
[EB81] P. van Emde Boas, Another N P-complete Partition Problem and the Complexity of Computing<br />
short Vectors in a Lattice, Technischer Report 81-04, Fachbereich Mathematik der<br />
<strong>Universität</strong> Amsterdam, 1981.<br />
[E91]<br />
[Fe68]<br />
M. Euchner , Praktische Algorithmen zur <strong>Gitter</strong>reduktion <strong>und</strong> Faktorisierung, Diplomarbeit,<br />
Fachbereich Informatik der Johann-Wolfgang-<strong>Goethe</strong>-<strong>Universität</strong>, Frankfurt/Main,<br />
1991.<br />
W. Feller, An Introduction to Probability Theory and its Application, Band I, 3. Auflage,<br />
John Wiley & Sons, New York, 1968.
LITERATURVERZEICHNIS 109<br />
[Fr86]<br />
A.M. Frieze , On the Lagarias-Odlyzko Algorithm for the Subset Sum Problem, SIAM<br />
Journal on Computing, Band 15, Nr. 2, Seiten 536–539, 1986.<br />
[GaSi78] J. von zur Gathen <strong>und</strong> M. Sieveking , A Bo<strong>und</strong> on Solution of linear Integer Equations<br />
and Inequations, Proceedings of the American Mathematical Society, Band 72, Seiten<br />
155–158, 1978.<br />
[GaJo79] M.R. Garey, D.S. Johnson, Computer and Intractability: A Guide to the Theory of<br />
N P-Completness, W.H. Freeman and Company, San Francisco, 1979.<br />
[G1801] C.F. Gauß , Disquisitiones Arithmeticae, Gerhard Fleischer, Leipzig. Deutsche Übersetzung<br />
(1889): ”<br />
Untersuchung über höhere Arithmetik“, Springer-Verlag, Berlin/Heidelberg,<br />
1801.<br />
[GrLek87] M. Gruber <strong>und</strong> C.G. Lekkerkerker, Geometry of Numbers, 2. Auflage, North-Holland,<br />
Amsterdam, 1987.<br />
[GLLS88] M. Grötschel, L. Lovász and A. Schrijver, Geometric Algorithms and combinatorial Optimization,<br />
Algorithms and Combinatorics, Band 2, Springer-Verlag, Berlin/Heidelberg,<br />
1988.<br />
[GHKN06] N. Gama, N. How-Grave-Graham, H. Koy and P. Nguyen, Rankin’s Constant and<br />
Blockwise Lattice Reduction, In Proc. CRYPTO 2006, LNCS 4117, Springer-Verlag, Berlin/Heidelberg,<br />
pp. 112–139, 2006.<br />
[GN08a] N. Gama and P. Nguyen, Predicting Lattice Reduction. In Proc. EUROCRYPT 2008,<br />
LNCS 4965, Springer-Verlag, Berlin/Heidelberg, pp. 31–51, 2008.<br />
[GN08b] N. Gama and P. Nguyen, Finding Short Lattice Vectors within Mordell.s Inequality, In<br />
Proc. of the 2008 ACM Symposium on Theory of Computing, pp. 208–216, 2008.<br />
[GNR10] N. Gama, P.Q. Nguyen and O. Regev, Lattice enumeration using extreme pruning, Proc.<br />
EUROCRYPT 2010, LNCS 6110, Springer-Verlagg, pp. 257–278, 2010, final version to be<br />
published.<br />
[HaMcC91] J. Hafner <strong>und</strong> K. McCurley , Asymptotic Fast Triangulation of Matrices over Ring,<br />
SIAM Journal on Computing, Band 20, Nr. 6, Seiten 1068–1083, 1991.<br />
[HJLS89] J. Håstad, B. Just, J.C. Lagarias <strong>und</strong> C.P. Schnorr , Polynomial Time Algorithms for<br />
Finding Integer Relations among real Numbers, SIAM Journal on Computing, Band 18,<br />
Nr. 5, Seiten 859–881, 1989.<br />
[HT98] C. Heckler and L. Thiele Complexity Analysis of a Parallel Lattice Basis Algorithm. Siam<br />
J. Comput. 27(5), pp. 1295–1302, 1998.<br />
[He85]<br />
B. Helfrich 1985, Algorithms to construct Minkowski reduced and Hermite reduced Lattice<br />
Bases, Theoretical Computer Science, Band 41, Seiten 125–139, 1985.<br />
[He1850] C. Hermite , Extraits de lettres de M. Ch. Hermite à M. Jacobi sur differents objets de<br />
la théorie des nombres, Deuxième lettre, Reine Angewandte Mathematik, Band 40, Seiten<br />
279–290, 1850.<br />
[Hl44] E. Hlawka , Zur Geometrie der Zahlen, Mathematische Zeitschrift, Band 49, Seiten 285–<br />
312, 1944.<br />
[J48]<br />
F. John , Extremum Problems with Inequalities as subsidiary Conditions, in K.O. Friedrichs,<br />
O.E. Neugebauer <strong>und</strong> J.J. Stoker (Ed.): ”<br />
Studies and Essays presented to R. Courant<br />
on his 60th Birthday Januar 8, 1948“, Interscience Publisher, New York, Seiten 187–204,<br />
1948.
110 LITERATURVERZEICHNIS<br />
[JoSt94] A. Joux <strong>und</strong> J. Stern , Lattice Reduction: A Toolbox for the Cryptanalyst, Technischer<br />
Report, DGA/CELAR, Bruz (Frankreich). Eingereicht bei Journal of Cryptology, 1994.<br />
[KaLe78] G.A. Kabatiansky <strong>und</strong> V.I. Levenshtein , Bo<strong>und</strong>s for Packings on a Sphere and in Space,<br />
Problems of Information Transmission, Band 14, Seiten 1–17, 1978.<br />
[Ka91] M. Kaib , The Gauß Lattice Basis Reduction succeeds with any Norm, Proceedings of<br />
F<strong>und</strong>amentals of Computation Theory (FCT ’91), Springer Lecture Notes in Computer<br />
Science, Band 591, Seiten 275–286, 1991.<br />
[Ka94] M. Kaib , <strong>Gitter</strong>basenreduktion für beliebige Normen, Dissertation, Fachbereich Mathematik<br />
der Johann-Wolfgang-<strong>Goethe</strong>-<strong>Universität</strong>, Frankfurt/Main, 1994.<br />
[KS96] M. Kaib <strong>und</strong> C.P. Schnorr, The Generalized Gauss Reduction Algorithm, Journal of<br />
Algorithms, Band 21, Nr. 3 (November), Seiten 565–578, 1996.<br />
[KaBa79] R. Kannan <strong>und</strong> A. Bachem, Polynomial Algorithm for Computing the Smith and the<br />
Hermite Normal Form of an Integer Matrix, SIAM Journal on Computing, Band 8, Seiten<br />
499–507, 1979.<br />
[K87]<br />
R. Kannan, Minkowski’s Convex Body Theorem and Integer Programming. Math. Oper.<br />
Res., 12, pp. 415–440, 1987.<br />
[Ka01] H. Koy, Notes of a Lecture. Frankfurt 2004., //www.mi.informatik.unifrankfurt.de/index.html#publications<br />
[Ka84] M. Karmarkar, A new Polynomial-Time Algorithm for Linear Programming, Combinatorica,<br />
Band 4, Seiten 373–395, 1984.<br />
[Kh79] L.G. Khachiyan, A Polynomial Algorithm in Linear Programming, Soviet Mathmatics<br />
Doklady, Band 20, Seiten 191–194, 1979.<br />
[Kh80] L.G. Khachiyan, Polynomial Algorithms in Linear Programming, U.S.S.R. Computational<br />
Mathematics and Mathematical Physics, Band 20, Seiten 53–72, 1980<br />
[Kh05] S. Khot, Hardness of Approximating the Shortest Vector Problem in Lattices, Journal of<br />
the ACM, Vol. 52, No. 5, Seiten 789–803, 2005.<br />
[Kh71] D.E. Knuth, The Art of Computer Programming, F<strong>und</strong>amental Algorithms, Band I,<br />
Addison-Wesley, Reading, 2001.<br />
[KZ1872] A. Korkine <strong>und</strong> G. Zolotareff, Sur les formes quadratique positive quaternaires, Mathematische<br />
Annalen, Band 5, Seiten 366-389, 1872.<br />
[KZ1873] A. Korkine <strong>und</strong> G. Zolotareff, Sur les formes quadratique, Mathematische Annalen,<br />
Band 6, Seiten 366–389, 1873<br />
[KZ1877] A. Korkine <strong>und</strong> G. Zolotareff, Sur les formes quadratique positive, Mathematische Annalen,<br />
Band 11, Seiten 242–292, 1877.<br />
[KS01a] H. Koy and C.P. Schnorr, Segment LLL-Reduction. Cryptography and Lattices,<br />
Lecture Notes in Comput. Sci., 2146, Springer, New York, pp.67–80, 2001.<br />
//www.mi.informatik.uni-frankfurt.de/research/papers.html<br />
[KS01b] H. Koy and C.P. Schnorr, Segment LLL-Reduction with Floating Point Orthogonalization.<br />
Cryptography and Lattices, Lecture Notes in Comput. Sci., 2146, Springer, New York,<br />
pp. 81–96, 2001. //www.mi.informatik.uni-frankfurt.de/research/papers.html<br />
[KS02] H. Koy and C.P. Schnorr, Segment and Strong Segment LLL-Reduction of<br />
Lattice Bases. TR <strong>Universität</strong> Franfurt, April 2002, //www.mi.informatik.unifrankfurt.de/research/papers.html
LITERATURVERZEICHNIS 111<br />
[Ko04] H. Koy, Files of a lecture, Frankfurt, May 2004, //www.math.uni-frankfurt.de/ dmst/,<br />
see publications.<br />
[LA]<br />
M. Kaib, R. Mirwald, C. Rössner, H.H. Hörner, H. Ritter (1994): Programmieranleitung<br />
für LARIFARI — Version 13.07.1994, Fachbereiche Mathematik <strong>und</strong> Informatik der<br />
Johann-Wolfgang-<strong>Goethe</strong>-<strong>Universität</strong>, Frankfurt/Main.<br />
[La1773] J.L. Lagrange, Recherches d’arithmétique, Nouveaux Mémoires de l’Académie Royale<br />
des Sciences et Belles-Lettres, Berlin, Seiten 265–312,1773.<br />
[Lang93] S. Lang, Algebra, 3. Auflage, Addison-Wesley, Reading, 1993<br />
[LLS90] J.C. Lagarias, H.W. Lenstra <strong>und</strong> C.P. Schnorr, Korkin-Zolotarev Bases and successive<br />
Minima of a Lattice and its reciprocal lattice, Combinatorica, Band 10, Seiten 333–348,<br />
1998.<br />
[LaOd85] J.C. Lagarias <strong>und</strong> A.M. Odlyzko, Solving low-density Subset Sum Problems, Journal of<br />
ACM, Band 32, Nr. 1, Seiten 229–246, 1985.<br />
[LLL82] A.K. Lenstra, H.W. Lenstra <strong>und</strong> L. Lovász, Factoring Polynomials with Rational Coefficients,<br />
Springer Mathematische Annalen, Band 261, Seiten 515–534, 1982.<br />
[Lenstra83] H.W. Lenstra, Integer Programming in a fixed Number of Variables, Mathematics of<br />
Operation Research, Band 8, Nr. 4 (November), Seiten 538–548, 1983.<br />
[Lováz86] L. Lovász, An algorithmic Theory of Numbers, Graphs and Convexity, CBMS-NSF<br />
Regional Conference Series in Applied Mathematics, Band 50, SIAM Publications, Philadelphia,<br />
1986<br />
[LoSc92] L. Lovász <strong>und</strong> H. Scarf, The Generalized Basis Reduction Algorithm, Mathematics of<br />
Operation Research, Band 17, Nr. 3 (August), Seiten 751–764, 1992<br />
[MaOd90] J.E. Mazo <strong>und</strong> A.M. Odlyzko, Lattice Points in high-dimensional Sphere, Monatsheft<br />
Mathematik, Band 110, Seiten 47–61, 1930.<br />
[Ma03] A. May, New RSA Vulnerabilities Using Lattice Reduction Methods. Dissertation Thesis,<br />
University of Paderborn, October 2003.<br />
[ML01] S. Mehrotra and Z. Li, Reduction of Lattice Bases Using Modular Arithmetic. TR. Dept.<br />
of Industrial Engeneering and Management Sciences, Northwestern University, Evanston,<br />
Il. Oct 2001, mehrotra, zhifeng@iems.nwu.edu.<br />
[MH78] R.C. Merkle and M.E. Hellman, Hiding Information and Signatures in Trapdoor<br />
Knapsacks, IEEE Trans. Inform. Theory, vol, IT-30, 594–601, 1984.<br />
[MG02] D. Micciancio and S. Goldwasser, Complexity of Lattice Problems: A Cryptographic<br />
Perspective. Kluwer Academic Publishers, Boston, London, 2002.<br />
[Mi1896] H. Minkowski, Geometrie der Zahlen, erste Auflage, Teubner-Verlag, Leipzig, 1896.<br />
[Mi1911] H. Minkowski, Gesammelte Abhandlungen, Band I <strong>und</strong> II, Teubner-Verlag, Leipzig, 1911.<br />
[Mis93] B. Mishra, Algorithmic Algebra, Texts and Monographs in Computer Science, Springer-<br />
Verlag, New-York, 1993.<br />
[NS06] P. Nguyen and D. Stehlé, LLL on the average. In Proc. ANTS-VII, LNCS 4076, Springer-<br />
Verlag, Berlin New York, pp. 238–356, 2006.<br />
[O90]<br />
A. M. Odlyzko, The rise and fall of knapsack cryptosystems. In Cryptology and Computational<br />
Number Theory, C. Pomerance ed., Proc. Symp. Appl. Math. 12 Amer. Math,<br />
Soc, Providence, 1990, 75–88,
112 LITERATURVERZEICHNIS<br />
[PS87]<br />
A. Paz and C.P.Schnorr, Approximating integer lattices by lattices with cyclic factor<br />
groups. Proceedings 14th International Colloquium on Automata, Languages and Programming<br />
(ICALP), LNCS 267, Springer-Verlag, Berlin New York, pp. 386–393, 1987.<br />
[R89] J.A. Rush, A lower bo<strong>und</strong> on packing spheres. Invent. math., 98, pp. 499–509, 1989.<br />
[Ri96]<br />
[S87]<br />
[S93]<br />
[S94]<br />
[SE94]<br />
H. Ritter: Breaking Knapsack Cryptosystems by l ∞ -norm enumeration. Proceedings of 1st<br />
International Conference on the Theory and Applications of Cryptography–PragoCrypt<br />
’96, CTU Publishing House, Prag, Seiten 480–492, 1996.<br />
C.P.Schnorr, A Hierarchy of polynomial time lattice basis reduction algorithms. Theoretical<br />
Computer Science, 53, pp. 201–224, 1987.<br />
C.P.Schnorr, Factoring integers and computing discrete logarithms via Diophantine approximation.<br />
In Advances in Computational Complexity, AMS, DIMACS Series in Discrete<br />
Mathematics and Theoretical Computer Science, 13, pp. 171–182, 1993. Preliminary<br />
version in Proc. EUROCRYPT’91, LNCS 547, Springer-Verlag, Berlin New York, pp. 281–<br />
293, 1991. //www.mi.informatik.uni-frankfurt.de.<br />
C.P.Schnorr, Block reduced lattice bases and successive minima. Comb. Prob. and Comp.<br />
3, pp. 507–522, 1994.<br />
C.P. Schnorr and M. Euchner, Lattce basis reduction: Improved practical algorithms<br />
and solving subset sum problems. Mathematical Programming 66, pp. 181–199, 1994.<br />
Preliminary version in Proc. FCT’91, LNCS 591, Springer-Verlag, Berlin New York, pp.<br />
68–85, 1991. //www.mi.informatik.uni-frankfurt.de.<br />
[SH95] C.P. Schnorr and H.H. Hörner, Attacking the Chor–Rivest cryptosystem by improved<br />
lattice reduction. In Proc. EUROCRYPT’95, LNCS 921, Springer-Verlag, Berlin New<br />
York, pp. 1–12, 1995. //www.mi.informatik.uni-frankfurt.de.<br />
[S03]<br />
[S06]<br />
[S07]<br />
[S10]<br />
[Sc84]<br />
C.P. Schnorr, Lattice reduction by sampling and birthday methods. Proc. STACS<br />
2003: 20th Annual Symposium on Theoretical Aspects of Computer Science, LNCS<br />
2007, Springer-Verlag, Berlin New York, pp. 146–156, 2003. //www.mi.informatik.unifrankfurt.de<br />
C.P. Schnorr, Fast LLL-type lattice reduction. Information and Computation, 204, pp.<br />
1–25, 2006. //www.mi.informatik.uni-frankfurt.de<br />
C.P. Schnorr, Progress on LLL and lattice reduction, Proceedings LLL+25, Caen,<br />
France, June 29–July 1, 2007, Final version to appear by Springer-Verlag, 2009.<br />
//www.mi.informatik.uni-frankfurt.de<br />
C.P. Schnorr, Average Time Fast SVP <strong>und</strong> CVP Algorithms for Low Density Lattices<br />
and the Factorization of Integers. Technical Report, University Frankfurt, Sepember 2010.<br />
//www.mi.informatik.uni-frankfurt.de<br />
i<br />
C.P. Schnorr <strong>und</strong> T. Shevchenko, Solving Subset Sum Problems of Density<br />
close to 1 by randomized”BKZ-reduction. Cryptology ePrint Archiv: Report<br />
¯bitem[SS12]SS12<br />
2013/620,<br />
A. Schönhage, Factorization of Univariate Integer Polynomials by Diophantine Approximation<br />
and Improved Lattice Basis Reduction Algorithm. Proc. 11-th Coll. Automata,<br />
Languages and Programming, Antwerpen 1984, Lecture Notes in Comput. Sci., 172, Springer,<br />
New York, pp. 436–447, 1984.<br />
[Schr86] A. Schrijver, Theory of Linear and Integer Programming, Wiley-Interscience Series in<br />
discrete Mathematics and Optimization, John Wiley & Son Ltd, 1986.<br />
[Se93]<br />
M. Seysen, Simultaneous Reduction of a Lattice and its reciprocal Basis, Combinatorica,<br />
Band 13, Seiten 363–376, 1993.
LITERATURVERZEICHNIS 113<br />
[Si89]<br />
C.L. Siegel, Lectures on the Geometry of Numbers, Springer-Verlag, Berlin/Heidelberg,<br />
1989.<br />
[Sm1861] H.J.S. Smith, On Systems of linear indeterminate Equations and Congruences, Philosophical<br />
Transaction of the Royal Society of London, Band 151, Seiten 293–326, 1861.<br />
[SS76]<br />
[St96]<br />
[V82]<br />
[W66]<br />
[Ye91]<br />
E. Specker <strong>und</strong> V. Strassen, Komplexität von Entscheidungsproblemem, Lecture Notes in<br />
Computer Science, Band 43, Springer-Verlag, Berlin/Heidelberg, 1976.<br />
A. Storjohann, Faster Algorithms for Integer Lattice Basis Reduction.<br />
TR 249, Swiss Federal Institute of Technology, ETH-Zurich, Department of Computer<br />
Science, Zurich, Switzerland, July 1996.<br />
//www.inf.ethz.ch/research/publications/html.<br />
N.M. Vetchinkin, Uniqueness of Classes of positive quadratic Forms on which Values of<br />
the Hermite Constants are attained for 6 ≤ n ≤ 8, Proceedings of the Steklov Institute of<br />
Mathematics, Nr. 3, Seiten 37–95, 1982.<br />
G.L. Watson, On the Minimum of a positiv Quadratic Form in n (n ≤ 8) Variables<br />
(Verification of Blichfeldt’s Calculations), Proceeedings of the Cambrigde Philosophical<br />
Society (Mathematical and Physical Science), Band 62, Seite 719, 1966.<br />
Y. Ye, Potential Reduction Algorithm for Linear Programming, Mathematical Programming,<br />
Band 51, Seiten 239–258, 1991.