Sie sind auf Seite 1von 114

Vorlesungen von Prof. Dr. C.P.

Schnorr:
Gitter und Kryptographie
an der Johann Wolfgang Goethe-Universitat Frankfurt/Main
im Wintersemester 2005/2006

5
-Version
20. Januar 2006
2
Inhaltsverzeichnis
1 Gitter in linearen Raumen 5
1.1 Die Geometrie der Gitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Dualitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Diskretheit, Primitive Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Elementare Reduktionsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Hermite Normalform, Untergitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Sukzessive Minima und Minkowski-Satze 17
2.1 Sukzessive Minima und erster Satz von Minkowski . . . . . . . . . . . . . . . . . . 17
2.2 Packungsdichte, Hermite-Konstante, kritische Gitter . . . . . . . . . . . . . . . . . 19
2.3 Zweiter Satz von Minkowski. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 Gau-Reduktion 25
3.1 Reduzierte Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Reduktionsverfahren f ur die Euklidische Norm . . . . . . . . . . . . . . . . . . . . 26
4 LLL-reduzierte Gitterbasen 31
4.1 Denition und Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Das LLL-Reduktionsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3 LLL-Reduktion ganzzahliger Erzeugendensysteme . . . . . . . . . . . . . . . . . . . 38
4.4 LLL-Reduktion mit Gleitkomma-Arithmetik . . . . . . . . . . . . . . . . . . . . . . 39
4.5 LLL-Reduktion mit ganzzahliger Gram-Matrix . . . . . . . . . . . . . . . . . . . . 40
5 Losen von Subsetsum-Problemen durch Gitterreduktion 43
5.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Lagarias-Odlyzko-Gitterbasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3 CJLOSS-Gitterbasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6 HKZ- und -reduzierte Gitterbasen 51
6.1 HKZ-reduzierte Gitterbasen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2 -reduzierte Gitterbasen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.3 Kritische -reduzierte Basen f ur = 2, 3 . . . . . . . . . . . . . . . . . . . . . . . . 57
3
4 INHALTSVERZEICHNIS
6.4 Praktisches Verfahren zur -Reduktion . . . . . . . . . . . . . . . . . . . . . . . . . 59
7 ^{-vollstandige Gitterprobleme 61
7.1 ^{-Vollstandigkeit von Rucksack. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.2 ^{-Vollstandigkeit von SVP

, CVP

, CVP
2
. . . . . . . . . . . . . . . . . . . . 62
7.3 Zufallige Rucksack-Gitter mit grosser Dichte. . . . . . . . . . . . . . . . . . . . . . 64
8 Konstruktion eines k urzesten Gittervektors 67
8.1 Algorithmus mit vollstandiger Aufzahlung . . . . . . . . . . . . . . . . . . . . . . . 67
8.2 Algorithmus mit geschnittener Aufzahlung . . . . . . . . . . . . . . . . . . . . . . . 69
8.3 Bemerkung zur LLL-reduzierten Basis . . . . . . . . . . . . . . . . . . . . . . . . . 73
9 Gitterreduktion in beliebiger Norm 75
9.1 Grundbegrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
9.2 Reduzierte Basen zur Norm || . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
9.3 Konstruktion einer HKZ-reduzierten Gitterbasis . . . . . . . . . . . . . . . . . . . 84
9.4 Alternative zur Reduktion in || . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
9.5 Konstruktion eines ||-k urzesten Gittervektors . . . . . . . . . . . . . . . . . . . . 85
10 Anwendungen der Gitterreduktion 89
10.1 Gitterbasis zu 3-SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.2 Angri auf Damgards Hashfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . 91
10.3 Faktorisieren ganzer Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
11 Komplexitat, ^{-Vollstandigkeit 101
11.1 ^{-Vollstandigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
11.2 Schwierige, algorithmische Gitterprobleme . . . . . . . . . . . . . . . . . . . . . . . 102
Algorithmenverzeichnis 106
Index 107
Literaturverzeichnis 109
Kapitel 1
Gitter in linearen R

aumen
Gitter als Punktmengen des Vektorraums R
m
sind Gegenstand der Geometrie der Zahlen, die
Minkowski um 1900 entwickelt hat. Der ganzzahlige Losungsraum eines linearen, reellen Glei-
chungssystems ist ein Gitter, der groere reelle Losungsraum ist ein linearer Raum. Gitter sind
also ein diskretes Analogon zu linearen Raumen. Probleme der Linearen Algebra werden durch
Gitter diskretisiert. Dabei geht es insbesondere um die Konstruktion kleiner Losungen, also kur-
zer Gittervektoren. Die alteren Arbeiten von Hermite, Gau und Korkine - Zolotare behandeln
Gitter in der Sprache der quadratischen Formen.
Ein Gitter ist eine diskrete, additive Untergruppen eines reellen Vektorraums R
m
. Wir behan-
deln Gittterbasen sowie ihre Teilbasen, primitive Systeme, die Gitterdeterminante, das einer Basis
zugehorige Orthogonalsystem, isometrische Transformationen und die QR-Zerlegung von Basen.
Wir denierenen ferner duale Gitter und duale Basen, Hermite-Normalformen, sowie elementare
Algorithmen zur Reduktion von Gitterbasen. Der Leser sollte mit Linearer Algebra vertraut sein.
Gitter-Notation. Es bezeichne R die Menge der reellen Zahlen und Z die der ganzen Zahlen,
fener sei R
m
der reelle Vektorraum der Dimension m. Es seien b
1
, . . . , b
n
R
m
beliebige Vektoren
und B = [b
1
, ..., b
n
] R
mn
die Matrix mit Spaltenvektoren b
1
, . . . , b
n
. Dann bezeichnet
L(B) = L(b
1
, . . . , b
n
) =
def
Bz[z Z
n
=

n
i=1
b
i
Z
die von den Vektoren b
1
, ..., b
n
erzeugte additive Untergruppe des R
n
. Sind die Vektoren b
1
, ..., b
n
linear unabhangig, so nennen wir L(B) ein Gitter mit Basis b
1
, ..., b
n
bzw. B und Dimension
oder Rang dim(L) =
def
rang(B). Der vom Gitter L = L(B) aufgespannte lineare Raum ist
span(L) =
def
Bz[z R
n
=

n
i=1
b
i
R. Alle Basen B von L erzeugen denselben linearen Raum
span(L) und haben damit denselben Rang.
1.1 Die Geometrie der Gitter
Es sei ', ` : R
m
R
m
R das Standard-Skalarprodukt, 'x, y` = x
t
y. Es bezeichne |x| =

'x, x`
die Lange des Vektors x. Die multiplikative Gruppe GL
n
(Z) der ganzzahligen nn-Matrizen mit
Determinante 1 nennt man die allgemeine lineare Gruppe uber Z. Die Matrizen U GL
n
(Z)
heien unimodular. Die Basen

B eines Gitters sind die transformierten einer beliebigen Basis
B R
mn
, transformiert durch unimodulare Matrizen.
Satz 1.1.1
Die Basen des Gitters L(B) mit B R
mn
sind genau die Matrizen BU mit U GL
n
(Z).
5
6 KAPITEL 1. GITTER IN LINEAREN R

AUMEN
Beweis. Sei

B eine weitere Basis zu L(B). Dann gibt es ein U Z
nn
mit

B = BU, denn
jeder Spaltenvektor von

B ist ganzzahlige Linearkombination von Spaltenvektoren von B. Wegen
rang(

B) = rang(B) gilt det U = 0, und somit

BU
1
= B. Wegen L(

B) = L(B) ist U
1
ganzzahlig,
und somit [ det U[ = 1 und U GL
n
(Z).
Umgekehrt gilt f ur U GL
n
(Z) oenbar dass L(BU) = L(B), somit ist BU Basis zu L(B).
-

- -

-
-

-
-

-
-
-

b
a
0
Abbildung 1.1.1: Grundmasche des Gitters mit Basis a, b R
2
Grundmasche, Gram-Matrix, Determinante. Die Grundmasche zur Basis B = [b
1
, . . . , b
n
]
ist das Parallelepiped
{ = {(B) =

n
i=1
t
i
b
i
[ 0 t
1
, . . . , t
n
< 1 span(L) .
Jeder Punkt x span(L) hat eine eindeutige Zerlegung x = b + m mit m { und b L.
Damit ist der Raum span(L) zerlegt in die verschobenen Maschen b + {(B) mit b L und es
gilt span(L) =

b1
b + {(B) = { + L. Die Gram-Matrix zur Basis B ist die n n-Matrix
B
t
B = ['b
i
, b
j
`]
1i,jn
bestehend aus den Skalarprodukten der Basisvektoren.
Die Determinante det L des Gitters L = L(B) R
m
ist das Volumen von {(B) span(L),
det L =
def
vol {(B) = ( det B
t
B)
1
2
.
Die Gleichheit vol {(B) = ( det B
t
B)
1
2
gilt oenbar f ur Basen B R
nn
. Sie gilt allgemein weil
sie bei Isometrie erhalten bleibt, siehe Lemma 1.1.3.
Die Determinante det(B
t
B) ist unabhangig von der Wahl der Basis B von L. Denn seien B,

B
Basen des Gitters mit

B = BU, U GL
n
(Z). Wegen [ det U[ = 1 und der Multiplikativitat der
Determinante gilt det(B
t
B)
1
2
= det(U
t
B
t
BU)
1
2
= det(

B
t
B )
1
2
.
Theorem 1.1.2
Sei L R
m
Gitter und B
n
(0, r) span(L) die Kugel mit Mittelpunkt 0 und Radius r. Dann gilt
lim
r
[ L B
n
(0, r) [/vol B
n
(0, r) = 1/det L(B),
d.h. det L(B) ist der Kehrwert der Dichte der Gitterpunkte.
Beweis. Sei L = L(B) Gitter mit Grundmasche {(B), dim(L) = n. Dann ist span(L) die disjunk-
te Vereinigung der um Gitterpunkte b verschobenen Grundmasche, span(L) =

b1
b +{(B).
Da b + {(B) nur den Gitterpunkt b enthalt, gibt es pro det L Volumeneinheiten genau einen
Gitterpunkt. Diejenigen Gitterpunkte b, deren Maschen b+{(B) die Kugel B
n
(0, r) echt schnei-
den, konnen entweder in L B
n
(0, r) oder im Komplement liegen. Dies f uhrt in der Gleichung
[ L B
n
(0, r) [/vol B
n
(0, r) = 1/det L(B) + O(
n
r
) zu einem Fehler O(
n
r
), der proportional zum
Verhaltnis Oberache zu Volumen von B
n
(0, r) ist.
1.1. DIE GEOMETRIE DER GITTER 7
Beispiel-Gitter. Wir behandeln Gitter zu dichtesten Kugelpackungen. Das erste sukzessive Mini-
mum
1
ist die Lange des k urzesten Gittervektors ungleich 0. Die (Packungs-) Dichte des Gitters
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.
Einheitskugel, siehe Abschnitt 3.2.. Das Gitter
A
n
:=

(x
0
, x
1
, . . . , x
n
) Z
n+1

n
i=0
x
i
= 0

hat die Basis


B =

1 0 0 0
1 1 0 0
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1 0
0 0 1 1
0 0 1

Z
(n+1)n
.
Oenbar gilt
1
=

2, det A
n
=

n + 1. Die Dichte ist (A
n
) = V
n
2
n/2
(n + 1)
1/2
.
Das Schachbrettgitter
D
n
:= (x
1
, . . . , x
n
) Z
n
[

n
i=1
x
i
= 0 mod 2
hat die Basis
B =

2 1 0 0
0 1 1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1 1 0
0 0 1 1
0 0 0 1

Z
nn
.
Oenbar gilt
1
=

2 und det(D
n
) = 2. Die Dichte ist (D
n
) = V
n
2
n/21
.
Das folgende Gitter E
n
ist f ur n = 0 mod 4 Untergitter von D
n
:
E
n
:=

(x
1
, . . . , x
n
) Z
n

n
i=1
x
i
= 0 mod 4 und
x
j
= x
j+1
mod 2 f ur 1 j < n.

Es hat die Basen


B =

4 2 0 0 1
0 2 2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 0
.
.
.
.
.
.
.
.
. 2 2 1
0 0 2 1
0 0 0 1

4 2 2 2 1
0 2 0 0 1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 2 0 1
0 0 2 1
0 0 0 1

Z
nn
.
Oenbar gilt f ur n 8 dass
1
=

8 und det E
n
= 2
n
, (E
n
) = V
n
2
n/2
.
Die Gitter E
6
, E
7
sind Untergitter von E
8
,
E
6
:= x E
8
[ x
6
= x
7
= x
8
, E
7
:= x E
8
[ x
7
= x
8
.
Isometrie, orthogonale Matrix,

Aquivalenz. Eine lineare Abbildung T : V W mit linearen
Raumen V, W heit isometrisch, bzw. eine Isometrie (von V ), wenn T das Skalarprodukt erhalt,
8 KAPITEL 1. GITTER IN LINEAREN R

AUMEN
d.h. wenn 'b, b
t
` = 'T(b), T(b
t
)` f ur alle b, b
t
V . Eine Matrix Q R
mn
, m n, heit
isometrisch, bzw.Isometrie, wenn die Abbildung x Qx isometrisch ist. Damit ist Q R
mn
genau dann isometrisch, wenn Q
t
Q = I
n
die Einheitsmatrix I
n
R
nn
ist. Das Produkt von
isometrischen Matrizen ist isometrisch. Eine isometrische Quadratmatrix Q R
nn
bezeichnet
man als orthogonale Matrix. Q ist orthogonal genau dann, wenn Q
1
= Q
t
. Mit Q ist auch Q
t
orthogonal. Damit ist Q R
mn
genau dann isometrisch, wenn Q durch Hinzunahme von Spalten
zu einer orthogonalen Matrix erganzbar ist.
Zwei Gitter L,

L heien isometrisch, wenn es eine Isometrie T von span(L) gibt mit T(L) =

L.
Zwei Basen B,

B heien isometrisch, wenn es eine Isometrie Q gibt mit

B = QB. Oenbar sind

B, B genau dann isometrisch, wenn B


t
B =

B
t

B. Oenbar erzeugen isometrische Basen B,

B
isometrische Gitter L(B), L(

B). Umgekehrt haben isometrische Gitter stets isometrische Basen.
Zwei Gitter L,

L heien aquivalent oder ahnlich, wenn es ein c > 0 gibt so dass L und c

L
isometrisch sind, Bez.: L

=

L. Die Gitter L, cL heien proportional oder bis auf Skalierung gleich.
Z.B. gilt D
3

= A
3
. Z.B. sind folgende Basen isometrisch:
B :=

2 1/

2
0

3/2

,

B :=

1 0
1 1
0 1

, B
t
B =

B
t

B =

2 1
1 2

.
Geometrische Groen sind Groen, die bei isometrischen Abbildungen erhalten bleiben, also Inva-
rianten von Isometrien. Volumeninhalte, Determinanten, Skalarprodukte und Langen von Vektoren
sind geometrische Groen. Ein Gitter L R
m
heit vollstandig, wenn dimL = m. Vollstandige
Gitter reichen f ur geometrische Betrachtungen aus, weil jedes Gitter nach Lemma 1.1.3(2) isome-
trisch zu einem vollstandigen Gitter ist. F ur kombinatorische und algorithmische Untersuchungen
reichen vollstandige Gitter dagegen nicht. Isometrische Abbildungen erhalten nicht die Ganzzah-
ligkeit von Vektoren.
Orthogonalsystem, orthogonale Projektion. Zur Basis b
1
, ..., b
n
R
m
bezeichne

i
: R
m
span(b
1
, . . . , b
i1
)

die orthogonale Projektion, derart dass f ur alle b R


m

i
(b) span(b
1
, . . . , b
i1
)

, b
i
(b) span(b
1
, . . . , b
i1
) .
Oenbar sind die Vektoren

b
i
:=
i
(b
i
) f ur i = 1, ..., n paarweise orthogonal. Man berechnet

b
1
, . . . ,

b
n
durch das Gram-Schmidt-Verfahren

b
1
:= b
1
,

b
i
:=
i
(b
i
) = b
i

i1
j=1
bi,

bj)

bj,

bj)

b
j
f ur i = 2, 3, . . . , n.
F ur die Gram-Schmidt-Koezienten
i,j
:=
bi,

bj)

bj,

bj)
gilt insbesondere
i,i
= 1 und
i,j
= 0 f ur
j > i, sowie b
i
=

b
i
+

i1
j=1

i,j

b
j
f ur i = 1, ..., n. In Matrizenschreibweise bedeutet dies
[b
1
, . . . , b
n
] = [

b
1
, . . . ,

b
n
] [
i,j
]
t
1i,jn
.
QR-Zerlegung und geometrische Normalform (GNF). Die QR-Zerlegung B = QR der Ba-
sis B = [b
1
, ..., b
n
] R
mn
ist die eindeutige Zerlegung B = QR, so dass Q R
mn
isometrisch ist
und R R
nn
obere Dreiecksmatrix mit positiven Diagonalelementen. Wir nennen R die geome-
trische Normalform (GNF) der Basis, Bez.: R = GNF(B). Es gilt Q := [

b
1
/|

b
1
|, ...,

b
n
/|

b
n
|]
R
mn
und f ur R = [r
i,j
]
1i,jn
gilt r
i,i
= |

b
i
|,
j,i
= r
i,j
/r
i,i
,
R :=

b
1
| 0 0
0 |

b
2
| 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. |

b
n1
| 0
0 0 |

b
n
|

1
2,1

3,1

n,1
0 1
3,2

n,2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1
n,n1
0 0 1

.
1.2. DUALIT

AT 9
Lemma 1.1.3
1. Zwei Basen B,

B sind genau dann isometrisch, wenn GNF(B) = GNF(

B), dh. wenn
B
t
B =

B
t

B. Insbesondere ist R = GNF(B) eindeutig bestimmt.
2. L(B) ist isometrisch zum vollstandigen Gitter L(R) mit R = GNF(B).
Beweis. 1. Aus B
t
B =

B
t

B mit QR-Zerlegungen B = QR und

B =

Q

R folgt R
t
R =

R
t

R. Weil
R,

R obere Dreiecksmatrizen mit positiven Diagonalelementen sind, folgt R =

R. Umgekehrt folgt
aus GNF(B) = R = GNF(

B), dass B
t
B = R
t
R =

B
t

B, und damit sind B,

B isometrisch.
3. F ur jede QR-Zerlegung B = QR sind L(B), L(R) isometrisch mit der Isometrie Q.
F ur beliebige Basen B = QR gilt det(B
t
B) = det(R
t
R) =

n
i=1
|

b
i
|
2
. Insbesondere bleibt
det L(B) = (det B
t
B)
1
2
, bei Isometrie erhalten.
Das orthogonale Gitter. Das zum Vektor a = (a
1
, . . . , a
n
)
t
Z
n
` 0 orthogonale Gitter ist
L
a
:= span(a)

Z
n
= z Z
n
[ 'a, z` = 0 .
Wir zeigen det L
a
= |a| / ggT(a
1
, . . . , a
n
).
Oenbar gilt dimL
a
= n 1. Sei b
2
, b
3
, . . . , b
n
eine Basis von L
a
. Wegen span(L
a
) Z
n
=
L
a
ist diese Basis nach Satz 1.3.3 zu einer Basis von Z
n
erganzbar. Es gibt ein b
1
Z mit
L(b
1
, . . . , b
n
) = Z
n
. Die Eintrage des Vektors b
1
sind teilerfremd, da b
1
ein primitiver Vektor von
Z
n
ist. Der Anteil von b
1
, der senkrecht auf L
a
steht, ist
b1,a)
a
2
a und hat die Lange
]b1,a)]
a
. Die
Grundmasche {(B) von Z
n
hat die Grundache det L
a
und Hohe
]b1,a)]
a
. Die Determinante von
Z
n
ist vol(Grundmasche) = Flache Hohe, 1 = det Z
n
= (det L
a
)
]b1,a)]
a
. Also gilt det L
a
=
|a|/[ 'b
1
, a` [.
Nach Konstruktion von b
1
ist ['b
1
, a`[ die kleinste, positive, ganze Zahl in

n
i=1
Za
i
=
Z ggT(a
1
, . . . , a
n
). Somit gilt [ 'b
1
, a` [ = [ ggT(a
1
, . . . , a
n
) [ und die Behauptung.
1.2 Dualitat
Duales Gitter. Das duale ( bzw. polare, reziproke) Gitter L

zum Gitter L ist


L

=
def
x span(L) [ 'x, b` Z f ur alle b L.
Aufgrund der Identitat (A
1
)
t
= (A
t
)
1
f ur A R
nn
, k urzen wir ab A
t
:= (A
1
)
t
. Es gilt
(AB)
1
= B
1
A
1
, (AB)
t
= B
t
A
t
und somit (AB)
t
= A
t
B
t
.
Satz 1.2.1
1. F ur jede Basismatrix mit QR-Zerlegung B = QR R
mn
gilt L(B)

= L(QR
t
),
2. dimL

= dimL, 3. det L

= 1/ det L, 4. (L

= L,
5. Ist B
t
B Gram-Matrix zu L dann ist (B
t
B)
1
= B
1
B
t
Gram-Matrix zu L

.
Die Basis B ist genau dann invertierbar, wenn L(B) vollstandig ist. F ur invertierbare B gilt
oenbar L(B)

= L(B
t
).
Beweis. 1. Oenbar gilt f ur

B := QR
t
wegen Q
t
Q = I
n
dass
B
t

B = (QR)
t
QR
t
= R
t
Q
t
QR
t
= I
n
.
Wegen B
t

B = I
n
liefern die Vektoren

b L(

B) alle ganzzahligen Vektoren ('b
1
,

b`, ..., 'b
n
,

b`)
Z
n
zu den Basisvektoren b
1
, ..., b
n
. Damit gilt L

= L(

B).
10 KAPITEL 1. GITTER IN LINEAREN R

AUMEN
2. - 5. Aus dimL = rang(R) = rang(R
1
) folgt dimL

= dimL. Weiter folgt det L

= 1/ det L
aus det L = det R = 1/ det R
t
. Mit (R
t
)
t
= R gilt somit (L

= L. Schlielich gilt 5. wegen

B
t

B = R
1
R
t
= (R
t
R)
1
= (B
t
B)
1
.
Duale Basis. Zur Basis b
1
, . . . , b
n
R
m
von L ist die duale Basis b

1
, . . . , b

n
von L

deniert
durch 'b
i
, b

nj+1
` =
i,j
. Die QR-Zerlegung B = QR liefert die duale Basis B

= QR
t
U
n
. Die
Multiplikation mit U
n
=
def

R
nn
, der Matrix mit Einsen in der Gegendiagonalen,
invertiert die Spaltenreihenfolge der Basis QR
t
, so dass R
t
U
n
obere Dreiecksmatrix ist.
Die QR-Zerlegung der dualen Basis B

zu B = QR ist B

= (QU
n
) (U
n
R
t
U
n
).
Denn zur QR-Zerlegung B = QR ist R
t
untere Dreiecksmatrix und U
n
R
t
U
n
obere Dreiecks-
matrix. Der

Ubergang von R
t
nach U
n
R
t
U
n
invertiert die Spalten- und die Zeilenreihenfolge in
R
t
. Wegen U
t
n
= U
n
= U
1
n
ist QU
n
isometrisch.
Korollar 1.2.2
Zur Basis b
1
, . . . , b
n
mit Orthogonalsystem

b
1
, . . . ,

b
n
ist

b
n
/|

b
n
|
2
, . . . ,

b
1
/|

b
1
|
2
das Orthogo-
nalsystem der dualen Basis b

1
, . . . , b

n
.
Beweis. Es gilt '

b
i
,

b
j
` |

b
j
|
2
=
i,j
f ur 1 i, j n.
Satz 1.2.3
F ur jedes Gitter L und jede Isometrie T von span(L) gilt T(L

) = T(L)

.
Beweis. Sei L = L(B) mit QR-Zerlegung B = QR R
mn
und sei T : x

Qx eine Isometrie.
Weil QR
t
Basis von L

ist, gilt nach Satz 1.2.1


L

= L(QR
t
), T(L

) = L(

QQR
t
).
Andererseits ist

QQ isometrisch und damit ist (

QQ) R die QR-Zerlegung der Basis

QQR von
T(L). Es folgt T(L)

= L(

QQR)

= L(

QQR
t
) = T(L

).
Selbstduale und ganze Gitter. Ein Gitter L heit selbstdual oder unimodular, wenn L = L

.
Oenbar gilt L = L

gdw die Gram-Matrix B


t
B unimodular ist, d.h., B
t
B ist ganzzahlig und
det B
t
B = 1. Die Gitter Z
n
und die geschichteten Gitter
8

= E
8
,

2
24
sind selbstdual.
Ein Gitter L heit ganz (integral), wenn B
t
B ganzzahlig ist. Ein Gitter L ist also genau dann
ganz, wenn L L

.
1.3 Diskretheit, Primitive Systeme
Diskretheit. Eine Menge S R
m
heit diskret, wenn S keinen Haufungspunkt in R
m
hat.
F ur jede additive Untergruppe G R
m
sind oenbar folgende Aussagen aquivalent:
1. G ist diskret,
2. 0 ist kein Haufungdpunkt von G,
3. Es gibt einen k urzesten Vektor in G` 0.
Jedes Gitter ist diskret. Zum Nachweis der Diskretheit sei : R
n
span(L(B)) R
m
die
lineare Abbildung : z Bz. ist ein Isomorphismus der Vektorraume R
n
und span(L) mit
(Z
n
) = L. Weil Z
n
diskret und
1
stetig auf span(L), ist auch L diskret.
1.3. DISKRETHEIT, PRIMITIVE SYSTEME 11
Umgekehrt, ist jede diskrete additive Untergruppe von R
m
ein Gitter. Die Diskretheit charak-
terisiert also die Gitter unter den additiven Untergruppen des R
m
.
Satz 1.3.1
Jede diskrete, additive Untergruppe des R
m
ist ein Gitter erzeugt von einer Basis.
Beweis. Sei L R
m
eine diskrete, additive Untergruppe und n die Maximalzahl linear unabhangi-
ger Vektoren in L. Oenbar gilt n m. Durch Induktion uber n zeigen wir die Existenz einer
Basis.
n = 1: Sei b L ein k urzester Vektor mit b = 0 (ein solcher Vektor existiert, da 0 kein
Haufungspunkt von L ist). Dann gilt L(b) = L.
n > 1: Wahle b
1
L ` 0 derart dass
1
k
b
1
L f ur alle k 2. Oenbar gilt L(b
1
) =
Lspan(b
1
). Betrachte die orthogonale Projektion : R
m
span(b
1
)

mit (b) = b
b1,b)
b1,b1)
b
1
.
Die Induktionsbehauptung ergibt sich aus den beiden Aussagen
1. (L) ist diskret und ein Gitter vom Rang n 1,
2. F ur jede Basis (b
2
), . . . , (b
n
) von (L) mit b
2
, . . . , b
n
L gilt L = L(b
1
, . . . , b
n
).
Beweis von 1. Wir zeigen, dass 0 kein Haufungspunkt von (L) ist. Angenommen, die paarweise
verschiedenen Vektoren (y
(i)
) mit y
(i)
L konvergieren gegen 0. Wir konstruieren unendlich viele
kurze Vektoren in L, im Widerspruch zur Diskretheit von L.
Zu den Vektoren (y
(i)
) erhalten wir kurze -Urbilder y
(i)
L nach der Vorschrift y
(i)
:=
y
(i)

y
(i)
, b
1

/'b
1
, b
1
`

b
1
. Dabei bezeichnet r| := r
1
2
| die nachste ganze Zahl zur reellen
Zahl r. Oenbar gilt | y
(i)
(y
(i)
)|
1
2
|b
1
|. Wegen lim
i
|( y
(i)
)| = 0 gibt es unendlich viele
Vektoren y
(i)
L mit |( y
(i)
)| |b
1
|, im Widerspruch zur Diskretheit von L.
Beweis zu 2. Die Maximalzahl der linear unabhangigen Vektoren in (L) ist n 1. Nach
Induktionsvoraussetzung ist (L) ein Gitter vom Rang n 1. Sei (b
2
), . . . , (b
n
) eine Basis
von (L) mit b
2
, . . . , b
n
L. Die Vektoren b
1
, ..., b
n
sind linear unabhangig. Wir zeigen, dass
L L(b
1
, . . . , b
n
). Zu beliebigem b L gilt (b) (L) = L((b
2
), . . . , (b
n
)), somit gibt
es ein

b L(b
2
, . . . , b
n
) mit (b) = (

b ). Es gilt b

b span(b
1
). Nach Wahl von b
1
gilt
L(b
1
) = L span(b
1
) und somit b

b L(b
1
). Es folgt b L(b
1
, . . . , b
n
).
Primitive Systeme. Wir charakterisieren Teilbasen b
1
, ..., b
k
mit k n von Gitterbasen b
1
, ..., b
n
.
Oenbar gilt f ur Teilbasen b
1
, ..., b
k
dass
1. b
1
, . . . , b
k
sind linear unabhangig, 2. span(b
1
, . . . , b
k
) L = L(b
1
, . . . , b
k
).
Eine Menge von Gittervektoren b
1
, ..., b
k
nennt man ein primitives System zum Gitter L, wenn
1. und 2. gilt. Ein einzelner Vektor b L ist primitiv, wenn
1
k
b L f ur alle k Z ` 0.
Satz 1.3.2
Genau dann konnen die Gittervektoren b
1
, . . . , b
k
zu einer Basis von L erganzt werden, wenn sie
ein primitives System zu L bilden.
Beweis. Teilbasen bilden oenbar primitive Systeme. Sei nun umgekehrt b
1
, . . . , b
k
ein primitives
System und : span(L) span(b
1
, . . . , b
k
)

die orthogonale Projektion. Aus dem Beweis zu


Satz 1.3.1 folgt, dass (L) ein Gitter der Dimension n k ist. Das Gitter (L) habe die Basis
(b
k+1
), . . . , (b
n
) mit b
k+1
, . . . , b
n
L.
Wir zeigen, dass b
1
, ..., b
n
Basis von L ist. Nach Konstruktion sind b
1
, ..., b
k
linear unabhangig.
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

AUMEN
(b), also ist b

b span(b
1
, . . . , b
k
). Weil b
1
, . . . , b
k
nach Voraussetzung ein primitives System
bildet, gilt b

b L(b
1
, . . . , b
k
). Somit gilt b L(b
1
, . . . , b
n
) und b
1
, ..., b
n
ist Basis von L.
1.4 Elementare Reduktionsverfahren
Ziel der Reduktionsverfahren sind Gitterbasen bestehend aus kurzen Gittervektoren.
Def inition 1.4.1
Die Basis b
1
, . . . , b
n
ist langenreduziert, wenn [
i,j
[
1
2
f ur 1 j < i n.
F ur jede langenreduzierte Basis b
1
, . . . , b
n
gilt wegen b
i
=

b
i
+

i1
j=1

i,j

b
j
und [
i,j
[
1
2
|b
i
|
2
|

b
i
|
2
+
1
4

i1
j=1
|

b
j
|
2
f ur i = 1, . . . , n.
Algorithmus 1.4.1 zur Langenreduktion
EINGABE: Basis b
1
, . . . , b
n
R
m
FOR i = 2, . . . , n DO
FOR j = i 1, . . . , 1 DO b
i
:= b
i

i,j
| b
j
AUSGABE: langenreduzierte Basis b
1
, . . . , b
n
Korrektheit.
1. Der Schritt b
i
:= b
i

i,j
|b
j
bewirkt, dass
neu
i,j
:=
alt
i,j

alt
i,j
|
j,j
=
alt
i,j

alt
i,j
|.
2. Insbesondere gilt

neu
i,j


1
2
, und die
i,
bleiben f ur > j unverandert.
Die Orthogonalvektoren bleiben erhalten. Die Langenreduktion ist nur eine schwache Reduktion.
Def inition 1.4.2
Die Vektoren b
1
, . . . , b
n
R
n
` 0 nennen wir paarweise reduziert, wenn
1.
] bi,bj) ]
bj
2

1
2
f ur 1 j < i n, 2. |b
1
| |b
2
| |b
n
| .
Die Eigenschaft 1. bezieht sich nicht auf den Gram-Schmidt-Koezienten
i,j
=
'bi,

bj`

bj
2
. Sie ist
aquivalent zu |b
i
| |b
i
b
j
| f ur 1 j < i n, denn wegen
|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
|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
.
Korrektheit. Algorithmus 1.4.2 terminiert und bei Abbruch des Verfahrens sind die Vektoren
paarweise reduziert. Bei jedem Reduktionsschritt wird namlich der Vektor b
i
echt kleiner, und die
ubrigen Vektoren bleiben unverandert. Somit hat jedes Gitter eine paarweise reduzierte Basis.
Die Laufzeit der paarweisen Reduktion ist nicht polynomial. Aber es gibt hochstens polynomial
viele Schritte b
i
:= b
i
r|b
j
, welche |b
i
| um mindestens |b
i
| f ur festes > 0 erniedrigen.
Satz 1.4.3
Algorithmus 1.4.2 sichert nach hochstens log
1/(1)
(

n
i=1
|b
i
|) Schritten b
i
:= b
i
r|b
j
mit
|b
i
|
neu
|b
i
|(1 ) dass |b
i
|(1 ) |b
i
b
j
| f ur 1 j < i n.
1.5. HERMITE NORMALFORM, UNTERGITTER 13
Algorithmus 1.4.2 zur paarweise Reduktion
EINGABE: Vektoren b
1
, . . . , b
n
Z
m
(moglicherweise linear abhangig)
1. Ordne b
1
, . . . , b
n
so, dass 1 |b
1
| |b
n
|
2. FOR i = 1, . . . , n DO
FOR j = 1, . . . , i 1 DO
r := 'b
i
, b
j
` |b
j
|
2
IF [r[ >
1
2
THEN [ b
i
:= b
i
r|b
j
falls b
i
= 0 entferne b
i
und erniedrige n, GO TO 1.
AUSGABE: paarweise reduzierte Vektoren b
1
, . . . , b
n
(

n
i=1
b
i
Z bleibt erhalten)
1.5 Hermite Normalform, Untergitter
Ganzzahlige und rationale Matrizen haben eine eindeutig bestimmte Hermite-Normalform (HNF).
F ur reelle Matrizen und relle Gitterbasen gilt dies nicht. Aus der HNF einer Transformationsmatrix
T Z
nn
kann man det L(B)/ det L(BT) = [ det T[ ablesen.
Def inition 1.5.1
Eine Matrix A = [a
ij
] R
mn
mit n m ist in Hermite-Normalform (kurz HNF), wenn
1. a
ij
= 0 f ur j > i, d.h. A ist eine untere Dreiecksmatrix.
2. a
ii
> 0 f ur i = 1, 2, . . . , m.
3. 0 a
ij
< a
ii
f ur j < i.
Die Hermite-Normalform ist eine reduzierte Basis, in dem Sinne dass der i-te Basisvektor die
i-te Koordinate minimiert unter der Bedingung, dass seine ersten i 1 Koordinaten Null sind. F ur
eine HNF A = [a
ij
] = [a
1
, ..., a
n
] mit Spaltenvektoren a
1
, ..., a
n
ist a
ii
also die absolut kleinste
i-te Koordinate = 0 der Vektoren in L(a
i
, ..., a
n
). Dabei ist L(a
i
, ..., a
n
) das Teilgitter, dessen
Vektoren in den ersten i 1 Koordinaten Null sind.
In der Denition der HNF kann man statt einer unteren Dreiecksmatrix ebenso gut eine
obere Dreiecksmatrix verlangen. Der zulassige Bereich der Zahlen a
ij
in 3. ist ein Intervall der
Lange [a
ii
[, die Lage dieses Intervals ist willk urlich. In [DKT87] fordern die Autoren
a
ij
0 und [a
ij
[ < a
ii
f ur j < i.
A. Paz und C.P. Schnorr [PaSchn87] fordern, dass die Elemente links der Diagonalen betragsmaig
minimal sind:
[a
ij
[ <
1
2
[a
ii
[ f ur j < i.
Die verschiedenen Varianten von Hermite-Normalformen sind einfach ineinander uberf uhrbar. Ist
z.B. A R
mn
untere Dreiecksmatrix, dann ist U
m
AU
n
obere Dreiecksmatrix f ur die Matrizen
U
m
, U
n
mit Einsen auf der Gegendiagonalen.
Nach C. Hermite [Hermite1850] gilt folgender Satz.
Satz 1.5.2 (Hermite 1850)
Zu jeder Matrix A Q
mn
mit Rang(A) = n gibt es genau eine HNF AU mit U GL
n
(Z).
14 KAPITEL 1. GITTER IN LINEAREN R

AUMEN
Beweis. Konstruktion der HNF. Sei L(A) R
m
das Gitter zur Basis A. Konstruiere die Vektoren
a
t
1
, ...., a
t
n
L(A), [a
t
1
, ...., a
t
n
] = [a
t
ij
] R
mn
so dass
a
t
ii
= min [a
i
[ [ (a
1
, ..., a
n
)
t
L(A), a
1
= = a
i1
= 0, a
i
= 0.
Weil A rational ist, existiert das Minimum der Absolutwerte [a
i
[. Wegen der Dreiecksform von
[a
t
1
, ...., a
t
j
] ist a
t
1
, ..., a
t
j
ein primitives System, und a
t
1
, ..., a
t
n
ist Basis zu L(A). a
t
:= [a
t
1
, ..., a
t
n
]
hat die HNF-Eigenschaften 1. und 2. Um die HNF-Eigenschaft 3. zu sichern, transformiert man
a
t
2
, ..., a
t
n
gema
a
t
i
:= a
t
i
a
t
ij
/a
t
jj
| a
t
j
f ur j = 1, ..., i 1.
Eindeutigkeit der HNF. Die Diagonalelemente a
t
ii
der HNF sind oenbar durch obige Formel
eindeutig bestimmt. Angenommen 0 < a
t
ij
< a
tt
ij
< a
t
ii
sind verschiedene Elemente zweier HNFs
mit j < i und i ist minimal gewahlt. Dann gilt f ur j
t
< j dass a
t
ij
= a
tt
ij
und es folgt [a
t
ij
a
tt
ij
[ a
t
ii
,
im Widerspruch zu [a
t
ij
a
tt
ij
[ < a
t
ii
.
Reelle Matrizen haben im allgemeinen keine HNF, weil die Koordinaten der Gittervektoren
kein absolutes Minimum annehmen m ussen. Die Basis
A :=

1

2
3 4

R
22
.
erzeugt ein Gitter L(A) mit absolut beliebig kleinen ersten Koordinaten der Gittervektoren.
Teilgitter, Untergitter. Sind L
t
, L Gitter mit L
t
L, so heit L
t
Teilgitter von L. Haben L
t
und L gleichen Rang, dann heit L
t
Untergitter von L.
Die Basis A =

2 0
0 2

erzeugt das Untergitter 2 Z


2
von Z
2
. Die Faktorgruppe Z
2
/L(A) besteht
aus den vier

Aquivalenzklassen, [Z
n
: L(A)] = 4.
(0,0) (2,0) (4,0) (6,0)
(0,2)
(0,4)
(0,6)
(2,2)
(2,4)
(2,6)
(4,2)
(4,4)
(4,6)
(6,2)
(6,4)
(6,6)
Abbildung 1.5.1: Untergitter L(A) von Z
2
Lemma 1.5.3
Sei L = L(B) Gitter und L
t
= L(BT) Untergitter von L mit T Z
nn
. Dann gilt
det L
t
= det L [det T[.
Index des Untergitters. Die ganze Zahl [det T[ =
det 1

det 1
aus Lemma 1.5.3 ist die Elementzahl
und Ordnung der Faktorgruppe L/L
t
, genannt der Index des Untergitters L
t
in L, Bez.: [L : L
t
].
1.5. HERMITE NORMALFORM, UNTERGITTER 15
Sei L
t
= L(BT) Untergitter von L = L(B) und T = [t
ij
] Z
nn
eine obere (bzw. untere)
Dreiecksmatrix. Dann gilt
[L : L
t
] =
det L
t
det L
= det T =

n
i=1
[t
ii
[ .
Insbesondere gilt L
t
= L genau dann wenn [det T[ = 1.
Korollar 1.5.4
Zu a = (a
1
, . . . , a
n
) Z
n
` 0, b N hat das Gitter L
a,b
= x Z
n
[ x
t
a = 0 (mod b) die
Determinante det L
a,b
= b/ ggT(a
1
, . . . , a
n
, b) .
Beweis. L
a,b
Z
n
ist oenbar Gitter der Dimension n. Sei O.B.d.A. ggT(a
1
, ..., a
n
, b) = 1, denn
durch Herausdividieren des ggT aus a
1
, ..., a
n
, b andert sich L
a,b
nicht. Die Faktorgruppe Z
n
/ L
a,b
besteht den Restklassen
R
i
:=

x Z
n

x
t
a = i (mod b)

f ur i = 0, ..., b 1.
Oenbar sind diese Restklassen nicht leer. Es folgt [Z
n
: L
a,b
] = b und damit det L
a,b
= b.
Satz 1.5.5
Sei L
t
ein Untergitter von L = L(B). Dann gibt es eine untere (bzw. obere) Dreiecksmatrix T
Z
nn
mit L
t
= L(BT). Umgekehrt gibt es zu jeder Basis B
t
von L
t
eine Basis

B von L und eine
untere (bzw. obere) Dreiecksmatrix T Z
nn
mit B
t
=

BT.
Beweis. Wir weisen die unteren Dreiecksmatrizen nach, Die oberen Dreiecksmatrizen erhalt man
durch Transfomation mit Umkehrmatrizen U
n
, U
m
. Sei

B
t
eine beliebige Basis zu L
t
und

B
t
= BT
mit T Z
nn
. Dann gibt es ein S GL
n
(Z) so dass T S eine HNF von T ist. Es folgt

B
t
S = B(TS)
und TS ist untere Dreiecksmatrix. Also ist die Basis B
t
:=

B
t
S von L
t
von der gew unschten Form.
Ist umgekehrt B
t
gegeben und B von der Form B
t
= BT, dann wahlt man S GL
n
(Z) so dass
S T eine untere Dreiecksmatrix ist. Zur Basis B von L ist dann BS
1
eine Basis der gew unschten
Form.
16 KAPITEL 1. GITTER IN LINEAREN R

AUMEN
Kapitel 2
Minkowski-S

atze,
Hermite-Konstante
Die sukzessiven Minima
1
...
n
eines Gitters der Dimension n sind wichtige geometrische
Invarianten. Eine Gitterbasis gilt als reduziert, wenn die Lange des i-ten Vektors proportional zu

i
ist. F ur Gitter L der Dimension n gilt
1

n
det(L)
1/n
, dabei ist
n
die Hermite-Konstante.
2.1 Sukzessive Minima und erster Satz von Minkowski
Sukzessive Minima. Eine allgemeine Norm || : R
m
R
0
istdurch ihren Eichkorper
K = x R
m
[ |x| 1 deniert. K R
m
ist eine beliebige kompakte, konvexe, nullsymmetrische
Menge. Es gilt |x| = minr R
0
[ x rK. Der Eichkorper der
2
-Norm ist die Einheitskugel
B
m
(0, 1), der Eichkorper der sup-Norm

ist der W urfel mit Seitenlangen 2.


Zu einem Gitter L R
m
mit dimL = n sind die sukzessiven Minima
1
, . . . ,
n
bez uglich der
Norm || deniert durch

i
=
i
(L) := inf

r > 0

linear unabhangige a
1
, . . . , a
i
L
mit |a
1
|, ..., |a
i
| r

Oenbar gilt
1

2

n
. Die Denition der sukzessiven Minima geht auf H. Minkowski
zur uck. Wenn nicht anders vermerkt bezieht sich
i
stets auf die Euklidische Norm,
i,
(L) bezieht
sich auf die sup-Norm | |

. Die sukzessiven Minima zur Euklidischen Norm sind geometrische


Invarianten, sie bleiben bei isometrischen Transformationen erhalten. Die Groe
1,
(L) ist keine
geometrische Invariante. F ur Gitter L R
m
und x R
m
gilt |x|

|x|

m |x|

.
Die sukzessiven Minima sind Mastab f ur die Reduziertheit einer Gitterbasis. Eine Basis gilt
als

reduziert, wenn die Groen |b


i
| /
i
f ur i = 1, . . . , n

klein sind. F ur reduzierte Basen sind


deren Vektoren nahezu orthogonal. Im allgemeinen gibt es keine Basis b
1
, . . . , b
n
mit |b
i
| =
i
f ur i = 1, . . . , n. Betrachte beispielsweise das Gitter L := Z
n
+ Z(
1
2
, . . . ,
1
2
)
t
. F ur n 5 ist

1
=
2
= =
n
= 1, doch die kanonischen Einheitsvektoren bilden keine Basis. Damit gibt es
keine Basis bestehend aus Vektoren der Lange 1.
Lemma 2.1.1 (Blichfeldt 1914)
Sei L Gitter und S span(L) kompakt mit vol (S) det L. Dann gibt es ein b L ` 0 mit
S (S +b) = , d.h. es existieren x, y S mit x y L ` 0.
Beweis. Zu i N sind die Mengen

1 +
1
i

S und

1 +
1
i

S +b
i
mit b
i
L ` 0 nicht paarweise
disjunkt, weil das Volumen von

1 +
1
i

S das der Grundmasche ubersteigt. Zu jedem i gibt es ein


17
18 KAPITEL 2. SUKZESSIVE MINIMA UND MINKOWSKI-S

ATZE
b
i
L ` 0, so dass der folgende Durchschnitt nicht leer ist und somit ein y
i
enthalt:
y
i

1 +
1
i

1 +
1
i

S +b
i

f ur i = 1, 2, . . .
Da S kompakt ist, hat die Folge (y
i
)
iN
einen Haufungspunkt y S, so dass eine Teilfolge

b
(i)

iN
L gegen y konvergiert. Die Folge

b
(i)

iN
L ist beschrankt und durchlauft nur
endlich viele Gitterpunkte. Mindestens ein Gitterpunkt b L`0 wird unendlich oft durchlaufen.
Es folgt: y S (S +b).
Satz 2.1.2 (Erster Satz von Minkowski 1893)
Sei L R
n
Gitter mit dimL = n und K R
n
sei Eichkorper zur Norm | |. Dann gilt

1,
(L) 2 vol (K)
1/n
(det L)
1/n
.
Beweis. F ur S := (det L/ vol (K))
1/n
K gilt vol (S) = det L. Nach Lemma 2.1.1 existiert ein
b L `0 mit S(S+b) = . Sei y im Durchschnitt, also b, by S. Die Dreiecksungleichung
liefert |b| |b y| +|y| 2 (det L/ vol (K))
1/n
.
Satz 2.1.3
Sei L R
m
Gitter mit dimL = n und K R
m
Eichkorper zur Norm | |. Dann gilt

1,
(L) 2 vol (K span(L))
1/n
det L
1/n
.
Beweis. Sei f : R
n
R
m
Vektorraum-Isomorphismus mit det f = 1. Die Norm auf R
n
sei
durch den Eichkorper K
t
:= f
1
(K span(L)) erklart. Dann gilt |x| = |f(x)| und vol (K
t
) =
vol (K span(L)). Das Gitter L
t
:= f
1
(L) hat det L
t
= det L. und nach Satz 2.1.1 gilt

1,
(L) =
1,
(L
t
) 2 vol (K
t
)
1/n
(det L)
1/n
= 2 vol (K L)
1/n
(det L)
1/n
.
Im Falle der Norm

gilt in Satz 2.1.3 dass vol (K span(L)) 2


n
, denn f ur isometrische Q ist
vol (K span(QL)) minimal f ur span(QL) = R
n
, also im Fall m = n. Damit liefert Satz 2.1.3 die
scharfe Schranke
1,
(L) (det L)
1
n
. Es gilt
1,
(Z
n
) = 1 = (det Z
n
)
1
n
.
Satz 2.1.4 (Dirichlet 1842)
Zu beliebigen reellen Zahlen
1
, . . . ,
n
und

0,
1
2

gibt es ganze Zahlen p


1
, . . . , p
n
und q mit
0 < q
n
, so dass [
i
p
i
/q [ /q f ur i = 1, . . . , n.
Diesen Satz uber die simultane Approximation reeller Zahlen durch rationale Zahlen bewies Di-
richlet inkonstruktiv mit dem Schubfachprinzip.
Beweis. Eine Losung (p
1
, ..., p
n
, q) ndet man durch Konstruktion eines k urzesten Vektors in der
sup-Norm

zum Gitter L(B) mit folgender Gitterbasis


B =

1 0 0
1
0 1
.
.
.
.
.
.
2
.
.
.
.
.
.
.
.
. 0
.
.
.
0 0 1
n
0 0
n+1

Z
(n+1)
2
.
Wegen det B =
n+1
gilt nach Satz 2.1.3
1,
(L(B)) (det B)
1
n+1
= . F ur jeden | |

-k urzesten
Gittervektor B(p
1
, ..., p
n
, q)
t
gilt also [p
i

i
q [ und [q
n+1
[ und somit [q[
n
.
2.2. PACKUNGSDICHTE, HERMITE-KONSTANTE, KRITISCHE GITTER 19
2.2 Packungsdichte, Hermite-Konstante, kritische Gitter
Es bezeichne B
n
(b, r) = x R
n
: |x b| r die n-dimensionale Kugel mit Radius r und
Mittelpunkt b in span(L). Ihr Volumen ist mit e =

n=0
1/n! :
V
n
r
n
:= r
n

n
2
/ (1 +
n
2
) = r
n
(
2 e
n
)
n
2
(
1
n
)
1/2
(1 (
1
n
)). (2.1)
Dabei gilt

1
2

=

, (n + 1) = n!, (x + 1) = x (x) f ur n N, x R. F ur x R
>0
gilt
nach Stirling (x + 1) =

2x (
x
e
)
x
(1 +
1
12x
+ (
1
x
2
)) [Knuth 71, Sektion 1.2.5, 1.2.11.2].
Gitterartige Kugelpackung. Die gitterartige Kugelpackung

b1
B
n
(b,
1
/2) zum Gitter L
besteht aus allen Kugeln B
n
(b,
1
/2) mit Radius
1
/2 und Mittelpunkten b L.
Dichte des Gitters. Die (Packungs-)Dichte (L) des Gitters L ist der Volumenanteil der Kugeln
der gitterartigen Kugelpackung zu L bezogen auf span(L) und
n
ihr Supremum f ur dimL = n:
(L) =
def

n
1
2
n
V
n
/ det L,
n
=
def
sup(L) [ dimL = n.
(L) ist invariant gegen

Aquivalenz, bleibt also bei Isometrie und Skalierung von L erhalten. F ur
konstante n und det(L) ist die Dichte genau dann maximal, wenn
1
maximal ist.
Der analoge Kode zum Gitter L. Nachrichten werden in Gittervektoren b L kodiert. Die
Kodeworte b L werden mit reellen Fehlervektoren e span(L) ubertragen. Ein gestortes
Kodewort b + e ist genau dann eindeutig dekodierbar, wenn |e| <
1
/2. Dann ist b namlich
nachster Gittervektor zu b + e. Mit der Dichte (L) von L wachst also das Korrekturpotential
des analogen Kodes.
Hermite-Konstante. Die Hermite-Invariante zum Gitter L der Dimension n ist
(L) :=
1
(L)
2
/(det L)
2
n
= ((L)2
n
/V
n
)
2/n
.
Die Hermite-Konstante
n
der Dimension n ist

n
=
def
sup(L) [ dimL = n = 4 (
n
/V
n
)
2/n
.
Es gen ugt das Supremum uber die vollstandigen Gitter L mit
1
(L) = 1 (bzw. mit det L = 1) zu
nehmen, denn (L) bleibt bei

Aquivalenz erhalten. Weil beschrankte Basen dieser Gitter uber einen
kompakten Bereich des R
nn
variieren, wird das Supremum angenommen, ist also ein Maximum.
Global extreme, kritische Gitter. Ein Gitter L mit dim(L) = n heit global extrem oder
kritisch, wenn (L) =
n
, d.h., wenn (L) =
n
.
Extreme Gitter. Ein Gitter L heit extrem, wenn (L), bzw. (L) bei innitesimal kleiner
Veranderung der Basisvektoren nicht zunimmt. Diese Eigenschaft hangt nicht von der Wahl der
Basis von L ab. Jedes kritische Gitter ist extrem, aber die Umkehrung gilt nicht.
Satz 2.2.1

n
= 4 (
n
/V
n
)
2/n
<
4

1 +
n
2
2
n
<
2n
e
+
1
4
ln n f ur n > n
0
.
Beweis. Sei L Gitter mit dim(L) = n und (L) =
n
, (L) =
n
sowie det L = 1. Nach
Abbildung 2.2.1 ergeben die 2
n
Kugelteile in der Grundmasche des Gitters zusammen gerade eine
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
und
n
=
2
1
= 4 (
n
/V
n
)
2/n
<
4

1 +
n
2
2
n

n/2
e
+
2
e
ln n +O(
ln
2
n
n
) (nach Stirling).
Der Beweis von Satz 2.2.1 benutzt nur
n
1. Blichfeldt [Blich14] zeigt
n
(

2 +o(1))
n
und damit die bessere Schranke

n

2

2 +
n
2
2
n

n
e
+ (3 + o(1)) ln n. (2.2)
20 KAPITEL 2. SUKZESSIVE MINIMA UND MINKOWSKI-S

ATZE
]

1
/2
Abbildung 2.2.1: Veranschaulichung von V
n
(
1
/2)
n
< det L
Zum Beispiel gilt
10

2

(6!)
0,2
2, 373. Kabatiansky und Levenshtein [KaLe78] zeigen f ur n n
0

n

1,744
2e
n.
Satz 2.2.2 (Minkowski, Hlawka)

k=1
k
n
2
n+1
> 2
n+1
und
n
>
n+ln n
2e
f ur n n
0
.
Minkowski bewies 1905
n
> 2
n+1
inkonstruktiv, siehe auch [Hlawka, 44]. Explizite Gitter mit
Dichte (L) 2
n+1
sind nur f ur einige Dimensionen n < 200 bekannt. Aus
n
> 2
n+1
folgt
mit der Stirling Approximation

n
= 4(
n
/V
n
)
2/n
(2/V
n
)
2/n
=
n
2e
(n)
1/n
(1 + (n
2
)) >
n+ln n
2e
f ur n n
0
.
Umgekehrt zeigt die Gausche Volumen-Heuristik dass
n
V
2/n
n

n
2e
. F ur Gitter L R
n
mit dimL = n, det L = 1 und zufallige r R
n
gilt namlich:
E[[L B
n
(r, (2/V
n
)
1/n
)[] = V
n
(2/V
n
)
n/n
= 2.
Verhalt sich r = 0 wie ein zufalliges r dann gilt
1
(L) (2/V
n
)
1/n
, also
n
(2/V
n
)
2/n

n+ln n
2e
.
Vermutlich gilt also
n

n+ln n
2e
und somit
n
= 2
n
n
O(1)
. Vermutlich sind die Hermite-
Konstanten
n
als Funktion in n monoton wachsend. Weder dies noch die Existenz des Grenzwertes
lim
n

n
/n ist bewiesen.
n 2 3 4 5 6 7 8 24

n
n
4
3
2 4 8 2
6
/3 2
6
2
8
2
48

n
0, 907 0, 740 0, 617 0, 465 0, 373 0, 295 0, 254 V
24
(
e
12
)
12
krit. Gitter A
2
A
3

= D
3
D
4
D
5
E
6
E
7
E
8
Leech G.
24
Tabelle 2.2.2
Die bekannten Hermite-Konstanten. Die Hermite-Konstanten
3
,
4
,
5
wurden von Gau
(
3
) sowie Korkine und Zolotare (
4
,
5
) [KoZo1872, KoZo1873, KoZo1877] bestimmt. Blich-
feldt [Blich35] hat
6
,
7
,
8
ermittelt. Blichfeldts Beweis ist kompliziert und wurde von Watson
[Watson66] und Vetchinkin [Vetchin82] bestatigt. F ur Dimension n 8 sind die kritischen Git-
ter bis auf

Aquivalenz (Isometrie und Skalierung) eindeutig bestimmt. Dies wurde von Barnes
[Barnes59] und Vetchinkin [Vetchin82] bewiesen. Cohn [Co05] hat
24
bestimmt und gezeigt, dass
das Leech-Gitter
24
kritisch und bis aud

Aquivalenz eindeutig ist. Die Tabelle 2.2.2 zeigt die
bewiesenen
n
n
, die gerundeten maximalen Dichten
n
, sowie kritische Gitter.
2.2. PACKUNGSDICHTE, HERMITE-KONSTANTE, KRITISCHE GITTER 21
Einfache GNFs und Gram-Matrizen der kritischen Gitter. Die kritischen Gitter der
Dimension n = 1, ..., 8, skaliert zu
1
=

2 haben Basen mit einfacher GNF R
n
= [r
1
, ..., r
n
]:
R
8
:=

2

1
1
2
1
2
0 0 0 0 0
0
1
2

3
1
2

3
1

3
0 0 0 0
0 0

2
3
1

23
1
2

3
2
0 0 0
0 0 0
1

2
1
2

2
1

2
0 0
0 0 0 0
1

2
1
2

2
1

2
0
0 0 0 0 0
1
2

3
2
1

23

2
3
0 0 0 0 0 0
1

3
1
2
1

3
0 0 0 0 0 0 0
1
2

.
Es gilt R
1
R
2
R
8
, dabei bedeutet obere linke Teilmatrix. F ur die Gram-Matrizen
R
t
n
R
n
= ['r
i
, r
j
`]
1i,jn
gilt
'r
i
, r
j
` =

2 f ur i = j
1 f ur 1 [i j[ 2 f ur 1 i, j n und n = 1, ..., 8.
0 sonst
(2.3)
R
t
8
R
8
:=

2 1 1 0 0
1 2 1
.
.
.
.
.
.
.
.
.
1 1 2
.
.
.
.
.
.
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 0
.
.
.
.
.
.
.
.
. 2 1 1
.
.
.
.
.
.
.
.
. 1 2 1
0 0 1 1 2

Z
88
.
Nach Lemma 2.2.3 gilt
1
(R
n
) =

2. Man rechnet leicht nach, dass
n
n
=
2n
1
det(L(R
n
))
2
f ur
die
n
n
, n 8 von Tabelle 2.2.2. Diese Gitter
n
:= L(R
n
) realisieren die Hermite-Konstanten
n
.
Sie sind kritisch und aquivalent sind zu Z, A
2
, ..., E
8
.
Die Gram-Matrizen R
t
n
R
n
kann man so nicht auf n = 9 fortsetzen, denn dann gilt det(R
t
9
R
9
) =
0. Das Gitter
8
ist wegen det R
8
= 1 selbstdual, es gilt
8
=

8
. Damit ist jeder Vektor
b span(
8
) mit 'r
i
, b` Z f ur i = 1, ..., 8 bereits in
8
. Die nach Def. 2.2.5 geschichteten Gitter

n
haben, skaliert zu
1
=

2, GNFs R
n
mit R
8
R
n
und R
t
n
R
n

1
2
Z
nn
, siehe [CoSl88,
Figur 4.13]. Man erhalt R
9
z.B. mit 'r
9
, r
i
` =
1
2
f ur i = 1, ..., 8 oder mit 'r
9
, r
4
` = 'r
9
, r
6
` = 1 ,
1
2
= 'r
9
, r
5
` und 'r
9
, r
i
` = 0 sonst.
Lemma 2.2.3
F ur jede ganze Gram-Matrix B
t
B Z
nn
mit |b
1
|
2
= = |b
n
|
2
= 2 gilt
1
(L(B)) =

2.
Beweis. Wegen |b
1
| =

2 gilt
1
(L)

2. Oenbar gilt |b|


2
2 Z f ur alle b L
|

n
i=1
t
i
b
i
|
2
=

1i,jn
t
i
t
j
'b
i
, b
j
`=

n
i=1
t
2
i
'b
i
, b
i
` + 2

j<i
t
i
t
j
'b
i
, b
j
` 2 Z.
22 KAPITEL 2. SUKZESSIVE MINIMA UND MINKOWSKI-S

ATZE
Es folgt |

n
i=1
t
i
b
i
|
2
2Z und somit
1
=

2.
Def inition 2.2.4
Der Punkt z span(L) heit tiefes Loch des Gitters L, wenn
|z L| = max|z
t
L| : z
t
span(L).
Der Abstand |z L| = min|z y| : y L zum tiefen Loch z ist der

Uberdeckungsradius
(covering radius) von L.
tiefe Locher
L(b
1
, b
2
)

b
2
tiefes Loch
L(b
1
)
Abbildung 2.2.2: Tiefe Locher in
1
und
2
Def inition 2.2.5
Das Gitter L(b
1
, . . . , b
n
) ist geschichtet (laminated) bez uglich L(b
1
, . . . , b
n1
), wenn
b
n

b
n
span(b
1
, . . . , b
n1
) tiefes Loch des Gitters L(b
1
, . . . , b
n1
) ist.
Die Erweiterungen R
n1
R
n
und
n1

n
kann man so beschreiben, dass
n
f ur n
8 geschichtetes Gitter zu
n1
nach Def. 2.2.5 ist. Der Prozess der Schichtung ist in beliebige
Dimension n fortsetzbar. Die Gitter
n
f ur n = 1, ..., 8 sind aquivalent zu den geschichteten
Gittern
n
in [CoSl88] und sind dort zu
1
= 2 skaliert. Zu ihrer Konstruktion, wahlen wir
b
1
=

2(1, 0, . . . , 0)
t
R
n
und b
2
, . . . , b
n
so dass jeweils b
n

b
n
tiefes Loch von L(b
1
, . . . , b
n1
)
ist und |b
n
|
2
= 2. Oenbar liefert diese Konstruktion geschichtete Gitter
n
beliebiger Dimension.
F ur n = 11, 12, 13 und n > 24 gibt es jedoch mehrere Isometrieklassen geschichteter Gitter, siehe
[CoSl88, Figur 6.1].
2.3 Zweiter Satz von Minkowski.
Satz 2.3.1
F ur jedes Gitter L R
m
mit dimL = n gilt f ur die
2
-Norm

n
i=1

i
(L)
n/2
n
det L.
Satz 2.3.1 verscharft die Ungleichung
2
1

n
(det L)
2/n
. F ur kritische Gitter L gilt
n
1
=
n/2
n
det L
und wegen
i

1
folgt somit
1
=
2
= =
n
.
Beweis. Seien a
1
, ..., a
n
L linear unabhangige Vektoren, so dass |a
i
| =
i
f ur i = 1, . . . , n.
L(a
1
, . . . , a
n
) ist ein Untergitter von L. Wahle die Basis b
1
, ..., b
n
von L so dass mit einer oberen
Dreiecksmatrix T Z
nn
nach Satz 1.5.5 gilt [b
1
, . . . , b
n
] T = [a
1
, . . . , a
n
]. Es gilt dann
b L(b
1
, . . . , b
n
) ` L(b
1
, . . . , b
s1
) = |b|
s
f ur s = 2, ..., n, (2.4)
weil b / span(b
1
, . . . , b
s1
) = span(a
1
, . . . , a
s1
).
Wir setzen

b
i
:=

i
j=1

i,j

b
j
/
j
f ur 1 i n,

L := L


b
1
, . . . ,

b
n

und zeigen
1
(

L) 1.
Sei

b :=

s
i=1
t
i

b
i


L ` 0 ein beliebiger Vektor, t
s
= 0 und b :=

s
i=1
t
i
b
i
. Dann gilt

2
=

s
j=1
(

s
i=j
t
i

i,j
)
2
|

b
j
|
2

2
j


s
j=1
(

s
i=j
t
i

i,j
)
2
|

b
j
|
2

2
s
=
2
s
|b|
2
,
2.3. ZWEITER SATZ VON MINKOWSKI. 23
so dass wegen (2.4) und t
s
= 0 die Behauptung |

b|
2
1 und damit
1
(

L) 1 folgt.
Aus det

L = det L/

n
i=1

i
sowie
1
(

L) 1 und nach Denition von
n
folgt
1
1
(

L)
2

n
(det

L)
2/n
=
n
(det L)
2/n
(

n
i=1

i
)
2/n
.
Erhebt man diese Ungleichung in die Potenz n/2 und multipliziert mit

n
i=1

i
, so folgt die Be-
hauptung

n
i=1

i
(L)
n/2
n
det L.
Lemma 2.3.2
F ur jedes Gitter L mit dim L = n gilt f ur die
2
-Norm

n
i=1

i
det L.
Beweis. Seien a
1
, . . . , a
n
linear unabhangige Gittervektoren mit |a
i
| =
i
f ur i = 1, . . . , n. Weil
L(a
1
, . . . , a
n
) ein Untergitter von L ist, gilt det L(a
1
, . . . , a
n
) det L. Ferner liefert die Unglei-
chung von Hadamard

n
i=1

i
=

n
i=1
|a
i
| det L(a
1
, . . . , a
n
).
Somit folgt die Behauptung

n
i=1

i
det L.
Satz 2.3.1 verallgemeinert auf eine allgemeine Norm mit Eichkorper K lautet:
Satz 2.3.3
Seien
1
, . . . ,
n
die sukzessiven Minima des Gitters L R
m
mit dimL = n bez uglich einer
beliebigen Norm mit Eichkorper K, dann gilt det L/n! vol (K span(L)) 2
n

n
i=1

i
det L.
Beweis. Der Satz stammt von Minkowski 1907, siehe Paragraph 9.1, Kapitel 2, [GrLek87]. Zur
oberen Schranke siehe auch Theorem 16 [Siegel89].
Im Fall der sup-Norm

gilt vol (K L) 2
n
f ur K := x R
m
: |x|

< 1 und dimL =


n. Es gilt somit

n
i=1

i,
det L. Diese Schranke ist scharf, denn f ur L = Z
n
gilt
i,
= 1 und
det L = 1. Die Scharfe der Schranke folgt daraus, dass die dichteste Gitterpackung des R
n
mit
dem Eichkorper K eine Zerlegung des R
n
ist, namlich R
n
=
b2 Z
nK +b.
F ur vollstandige Gitter L kann man die Satze 2.1.3, 2.3.3 verbessern durch Ber ucksichtigung
des Volumenanteils
n
(K) der dichtesten Gitterpackung
b1
K + b R
n
f ur Gitter L
t
R
n
.
Der Beweis von Satz 2.2.1 zeigt namlich f ur vollstandige Gitter L R
n
dass

n
1,
(L) 2
n

n
(K) vol (K span(L)) det L.
Hierzu ersetze man im Beweis von Satz 2.2.1 die Kugel B
n
(0,
1
/2) durch (
1
/2)K und V
n
(
1
/2)
n
durch vol (K) (
1
/2)
n
. Analog gilt weiter dass
n

i=1

n
i,
(L) 2
n

n
(K) vol (K span(L)) det L.
24 KAPITEL 2. SUKZESSIVE MINIMA UND MINKOWSKI-S

ATZE
Kapitel 3
Gau-Reduktion
Ziel ist es, f ur Gitter der Dimension 2 eine Basis a, b zu nden, bestehend aus einem k urzesten
Vektor a = 0 und einem dazu k urzesten, linear unabhangigen Vektor b. F ur beliebige Norm | |
sind dies genau die Basen mit |a| |b| |ab|. Wir behandeln Reduktionsverfahren, erst f ur
die Euklidische Norm dann f ur eine allgemeine Norm.
3.1 Reduzierte Basis
Reduzierte Basis. Sei | | : R
n
R
0
eine beliebige Norm. Eine geordnete Gitterbasis
a, b R
n
ist reduziert bez uglich der Norm || wenn |a| |b| |a b| .
Ist die Basis a, b reduziert, so sind auch a, b reduzierte Basen des Gitters L(a, b). Abge-
sehen von Ausnahmegittern gibt es nur diese vier reduzierten Basen. Die Basen a, b sind in
nat urlicher Weise aquivalent. Wir nennen zwei Basen a, b und a
t
, b
t
aquivalent, wenn a = a
t
,
b = b
t
. Zwei der reduzierten Basen a, b erf ullen die Zusatzbedingung |a b| |a + b|.
Der folgende Satz gilt f ur eine allgemeine Norm | |.
Satz 3.1.1
F ur jede reduzierte Basis a, b R
n
ist a ein k urzester Gittervektor = 0 und b ein dazu linear
unabhangiger k urzester Gittervektor.
Beweis. Zu zeigen ist f ur allgemeine Norm
|a| |ra +sb| for all(r, s) Z
2
` (0, 0) ,
|b| |ra +sb| for all(r, s) Z
2
` (0, 0), (1, 0) , s = 0.
Abb. 4.1.1 illustriert die Lage einer reduzierten Basis a, b. Betrachte das Parallelepiped {
mit den Eckpunkten ab. Die Reduktionsbedingungen bedeuten, dass auf jeder der vier dicken
Kanten von { der mittlere Gitterpunkt a, b minimale Norm gegen uber den beiden Eckpunkten
hat:
|a b| |a| |a +b|
|a b| |b| |a a| .
F ur eine allgemeine Norm und c > 0 ist der Bereich der Vektoren K
c
= x[ |x| c konvex.
Wegen dieser Konvexitat hat die Norm auf jeder der vier Grenzgeraden von {, den Geraden
a +tb, b +ta f ur t R, ihr Minimum jeweils auf der Kante des Randes von {. Damit nimmt
die Norm in jedem der vier gepunkteten Bereiche der Abb. 4.1.1 ihr Minimum im jeweiligen
Eckpunkt a b an. Daher sind a, b oenbar zwei kleinste, linear unabhangige Gitterpunkte.

25
26 KAPITEL 3. GAUSS-REDUKTION

-
s
0
a
b
+a +b
a +b
1
a b
b
+a b
Abbildung 3.1.1: Reduzierte Basis a, b
3.2 Reduktionsverfahren f ur die Euklidische Norm
F ur die Euklidischen Norm |x| =

x
t
x gilt oenbar mit
2,1
= a
t
b |a|
2
dass

2,1

1
2
|b| |a b| ,

2,1
0 |a b| |a +b| .
Damit ist die Basis a, b genau dann reduziert, wenn |a| |b| , [
2,1
[
1
2
. Wir betrachten nur
reduzierte Basen mit der Zusatzbedingung
2,1
0.
-
-
a
Y

2,1
=
1
2
)
|a| = |b|
R

2,1
= 0

b
Abbildung 3.2.1: Bereich der reduzierten Basen a, b mit
2,1
0
Abbildung 3.2.1 zeigt zu festem a den gepunkteten Bereich der Vektoren b der reduzierten
Basen a, b mit
2,1
0. Sei = (a, b) der Winkel zwischen den Gittervektoren a, b, cos =
a
t
b
ab
. F ur reduzierte Basen a, b gilt 60

90

.
Im Fall
2,1
=
1
2
ist mit a, b auch a, a b reduziert. Im Fall |a| = |b| ist mit a, b auch b, a
reduziert. In den ubrigen Fallen gibt es nur die reduzierten Basen a, b.
3.2. REDUKTIONSVERFAHREN F

UR DIE EUKLIDISCHE NORM 27


Algorithmus 3.2.1 Gau-Reduktionsverfahren f ur die Euklidische Norm
EINGABE: Gitterbasis b
1
, b
2
R
n
mit |b
1
| |b
2
|
WHILE [
2,1
[ >
1
2
DO / 2,1 = b

1
b2b1
2
/
1. b
2
:= b
2
sign(
2,1
) / wir erreichen 2,1 0 /
2. b
2
:= b
2

2,1
|b
1
3. IF |b
1
| > |b
2
| THEN vertausche b
1
und b
2
AUSGABE: Reduzierte Basis b
1
, b
2
Eine Runde der Schritte 1. 2. 3. sichert in Schritt 1. durch Vorzeichenwahl von b
2
dass

2,1
0, reduziert in Schritt 2. gema b
2
:= b
2

2,1
|b
1
und vertauscht in Schritt 3. sofern
nicht schon |b
1
| |b
2
| gilt. Nach Schritt 1. gilt stets |b
1
| |b
2
| und
2,1
0. Die Schritte 2.
3. lauten bei Vertauschung in Matrizenschreibweise
[b
1
, b
2
] := [b
1
, b
2
]

2,1
| 1
1 0

.
In Schritt 3. wird bis auf die letzte Runde notwendigerweise vertauscht.
Zu gegebener reduzierten Ausgabebasis b
1
, b
2
und Rundenzahl k der Gau-Reduktion identi-
zieren wir eine minimale Eingabebasis, welche in k Runden auf b
1
, b
2
reduziert wird. Die Mini-
malitat der Basis bedeutet, dass ihre Vektoren minimale Lange haben. Eine solche Eingabebasis
heit eine minimale k-te Vorgangerbasis zu b
1
, b
2
.
Satz 3.2.1
1. Zur reduzierten Basis b
1
, b
2
und Rundenzahl k ist [b
1
, b
2
] A
k
minimale k-te Vorgangerbasis
mit A
k
=
def

0 1
1 1

0 1
1 2

k2

0 1
1 1

.
2. Algorithmus 3.2.1 macht zur Eingabe b
1
, b
2
hochstens log
1+

2
(|b
1
| /
2
) + 2.54 Runden.
Wohlgeordnete Basis. Eine Basis b
1
, b
2
heit wohlgeordnet wenn |b
1
| |b
1
b
2
| < |b
2
|.
Dies ist f ur die Euklidischen Norm aquivalent zu 0 <
2,1

1
2
, |b
1
| < |b
2
|. In Schritt 1. wird
also eine wohlgeordnete Basis erzeugt, es sei denn die Basis ist schon reduziert. Oenbar gelten
folgende Aussagen.
Lemma 3.2.2
F ur jede nicht reduzierte Basis mit |b
1
| |b
2
| ist genau eine der Basen b
1
, b
2
wohlgeordnet.
Lemma 3.2.3
Wendet man die Schritte 2. 3. an auf zwei aquivalente Basen b
1
, b
2
und b
t
1
, b
t
2
, so bleibt die

Aquivalenz erhalten.
Wegen Lemma 4.2.3 gibt es zu gegebener reduzierten Basis eine minimale k-te Vorgangerbasis,
bei deren Reduktion das Vorzeichen von b
2
in Schritt 1. nie verandert wird. Dies folgt aus dem
Lemma, weil aquivalente Basen in der Lange der Vektoren gleich sind.
Die Gau-Reduktion mit k Runden erzeugt in Schritt 1. eine Folge wohlgeordneter Basen
(b
k+1
, b
k+2
), (b
k
, b
k+1
), . . . , (b
2
, b
3
) und schlielich die reduzierte Basis (b
1
, b
2
). Bleibt das Vor-
28 KAPITEL 3. GAUSS-REDUKTION
zeichen von b
2
in Schritt 1. stets unverandert, und wird in der letzten Runde in Schritt 3. ge-
tauscht, dann ist die k-te Vorgangerbasis (b
k+1
, b
k+2
) zur reduzierten Basis (b
1
, b
2
) von der Form
[b
k
, b
k+1
] = [b
1
, b
2
]

i=1,...,k

0 1
1
(i)

.
Dabei ist
(i)
=
2,1
| der ganzzahlige Reduktionskoezient der i-ten Runde. Die behauptete
Form von (b
k+1
, b
k+2
) folgt, weil

0 1
1
(i)

die Inverse zur Matrix

(i)
1
1 0

ist, welche die


Schritte 2. 3. beschreibt. Wegen
2,1
>
1
2
gilt
(i)
1.
Lemma 3.2.4
Sei b
1
, b
2
R
n
wohlgeordnete Basis, welche durch die Schritte 2. 3. in die wohlgeordnete Basis
b
t
1
= b
2

2,1
|b
1
, b
t
2
= b
1
transformiert wird. Im Fall (b
1
, b
t
1
) < 30
o
gilt
t
2,1
>
3
2
.
Im Fall (b
1
, b
t
1
) 30
o
gibt es eine reduzierte Basis bestehend aus den Vektoren b
t
1
, b
t
2
, b
t
2
b
t
1
.
Das Lemma zeigt, dass der ganzzahlige Reduktionskoezient
(i)
=
2,1
| stets mindestens 2
ist, ausgenommen die erste und letzte Runde.
Beweis. Wir betrachten nur den Fall dass 'b
1
, b
t
1
`|b
1
|
2
=
1
2
, weil dann |b
t
1
|/|b
1
| maximal
ist.
Abbildung 3.1: Der Fall (b
1
, b
t
1
) = 30, 'b
1
, b
t
1
`|b
1
|
2
=
1
2
Im Fall (b
1
, b
t
1
) = 30
o
gilt
3
4
|b
t
1
|
2
=
1
4
|b
1
|
2
. Daher gilt im Falle (b
1
, b
t
1
) < 30
o
oenbar
|b
1
|
2
< 3 |b
t
1
|
2
. Es folgt die Behauptung

t
2,1
= 'b
1
, b
t
1
`|b
t
1
|
2
3 'b
1
, b
t
1
`|b
1
|
2
>
3
2
.
Im Falle (b
1
, b
t
1
) > 30
o
gilt
1
2
<
t
2,1
<
3
2
. Sofern die Basis b
t
1
, b
t
2
nicht schon reduziert ist,
wird in der nachsten Runde b
t
2
b
t
1
gebildet und die Reduktion bricht ab.
Beweis von Satz 4.2.1. Betrachte nun den Fall dass (b
2
, b
3
) = (b
t
1
, b
t
2
) direkte Vorganger-
basis ist zur reduzierten Basis b
1
, b
2
gema Lemma 4.2.4. Es sei also b
1
, b
2
eine Auswahl von
b
t
1
, b
t
2
, b
t
2
b
t
1
. Dann ist
[b
k+1
, b
k+2
] = [b
1
, b
2
]

0 1
1 1

0 1
1 2

k2

0 1
1 1

.
eine minimale k-te Vorgangerbasis (b
k+1
, b
k+2
) zur reduzierten Basis (b
1
, b
2
). Wegen Lemma
4.2.4 gilt namlich
(i)
2 f ur die ganzzahligen Reduktionskoezienten mit 1 < i < k und

(1)
=
(k)
= 1. Oenbar wird b
k+1
, b
k+2
minimal, wenn in der letzten Runde in Schritt 3.
getauscht wird.
Die Koezienten a
k
der Matrix

0 1
1 2

k
=

a
k2
a
k1
a
k1
a
k

gen ugen der Rekursion


a
0
= 0, a
1
= 1, a
2
= 2 und a
k
= 5 a
k2
+2 a
k3
f ur k 3. Es gilt 2a
k3
+a
k2
1.5 (1+

2)
k3
.
Somit gilt
[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
3.2. REDUKTIONSVERFAHREN F

UR DIE EUKLIDISCHE NORM 29


f ur die Matrix A
k
=

a
k2
a
k2
+a
k3
a
k4
+a
k3
a
k4
+ 2a
k3
+a
k2

. Wegen 'b
1
, b
2
` 0 folgt
|b
k+1
| (a
k4
+ 2a
k3
+a
k2
)|b
2
| 1.5 (1 +

2)
k3

2
.
Somit gilt k 2.54 + log
1+

2
(|b
k+1
|/
2
), weil 2.54 > 3 log 1.5/ log(1 +

2).
Algorithmus 3.2.2 Gau-Reduktionsverfahren f ur beliebige Norm
EINGABE: Wohlgeordnete Gitterbasis b
1
, b
2
R
n
mit |b
1
| |b
2
|
WHILE |b
2
| > |b
1
b
2
| DO
1. b
2
:= b
2
b
1
mit Z derart, dass |b
2
b
1
| minimal ist
2. IF |b
1
+b
2
| < |b
1
b
2
| THEN b
2
:= b
2
3. vertausche b
1
und b
2
AUSGABE: Reduzierte Basis b
1
, b
2
Korrektheit. Nach Schritt 1. gilt |[b
2
|[ |b
1
b
2
|, nach Schritt 2. gilt |b
2
| |b
1
b
2
|
|b
1
+ b
2
| und nach Schritt 3. gilt |b
1
| |b
1
b
2
| |b
1
+ b
2
|. Falls nach Schritt 3. |b
2
|
|b
1
b
2
| gilt, dann gilt auch |b
1
|, |b
2
| |b
1
b
2
|.
Die Rundenzahl f ur dieses Verfahren ist beschrankt durch log
1+

2
(|b
1
|/
2,
) +O(1). Dabei
ist
2,
das zweite sukzessive Minimum zur Norm | |. Eine ausf uhrliche Analyse ndet sich in
[KaSchn96] sowie in [Kaib94]. Dort werden eziente Algorithmen f ur den Schritt 1. in der l
1
- und
sup-Norm vorgestellt.
30 KAPITEL 3. GAUSS-REDUKTION
Kapitel 4
LLL-reduzierte Gitterbasen
Der LLL-Reduktionsbegri f ur geordnete Gitterbasen b
1
, . . . , b
n
R
m
beliebigen Ranges n wurde
1982 von A.K. Lenstra, H.W. Lenstra und L. Lovasz [LLL82] vorgeschlagen. Das Verfahren zur
LLL-Reduktion ist das erste Reduktionsverfahren f ur ganzzahlige Gitterbasen mit einer polyno-
miellen Laufzeit. Es basiert auf der Gau-Reduktion in Dimension n = 2.
4.1 Denition und Eigenschaften
Wir f uhren den Begri der LLL-reduzierten Basis ein und zeigen, dass die Langen der Basisvektoren
die sukzessiven Minima des Gitters grob approximieren. Seien

b
1
, ...,

b
n
das der Basis b
1
, ..., b
n
zugeordnete Orthogonalsystem und
i,j
die Gram-Schmidt-Koezienten.
Def inition 4.1.1 (LLL-reduzierte Basis)
Eine geordnete Gitterbasis b
1
, ..., b
n
R
m
heit LLL-reduziert mit ,
1
4
< 1, wenn
1. [
i,j
[
1
2
f ur 1 j < i n,
2. |

b
k1
|
2
|

b
k
|
2
+
2
k,k1
|

b
k1
|
2
f ur k = 2, . . . , n.
Basen mit der Eigenschaft 1. heien langenreduziert. Der Parameter kontrolliert die G ute der
reduzierten Basis: je kleiner um so schwacher ist die Reduktion. A.K. Lenstra, H.W. Lenstra
und L. Lovasz [LLL82] studieren die LLL-Reduktion speziell f ur den Parameter =
3
4
. F ur < 1
hat das LLL-Reduktionsverfahren polynomielle Laufzeit.
F ur = 1 und n = 2 ist eine Basis LLL-reduziert mit genau dann wenn sie Gau-reduziert ist.
Mit der orthogonalen Projektion
k
: R
m
span(b
1
, ..., b
k1
)

ist die Bedingung |

b
k1
|
2

b
k
|
2
+
2
k,k1
|

b
k1
|
2
aquivalent zu |
k1
(b
k1
)|
2
|
k1
(b
k
)|
2
. Eine Basis b
1
, ..., b
n
ist somit
LLL-reduziert mit wenn sie langenreduziert ist und wenn die Basen
k1
(b
k1
),
k1
(b
k
) LLL-
reduziert sind mit . Letzteres bedeutet dass die Spalten der 22-Matrix

b
k1
|
k,k1
|

b
k1
|
0 |

b
k
|

LLL-reduziert sind mit .


Lemma 4.1.2
Ist b
1
, ..., b
n
LLL-reduziert mit , dann gilt mit = (
1
4
)
1
dass
|

b
i
|
2

ji
|

b
j
|
2
f ur 1 i j n.
31
32 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN
F ur =
3
4
, = 2, i = 1 gilt |b
1
|
2
2
j1
|

b
j
|
2
, so dass die Langenquadrate |

b
j
|
2
f ur groe j
nicht beliebig klein werden.
Beweis. Die Eigenschaften einer LLL-reduzierten Basis implizieren
|

b
i
|
2
2
|

b
i+1
|
2
+
2
i+1,i
|

b
i
|
2
1
|

b
i+1
|
2
+
1
4
|

b
i
|
2
,
und somit


1
4

. .. .
=1/
|

b
i
|
2
|

b
i+1
|
2
. Durch Induktion uber j i folgt |

b
i
|
2

ji
|

b
j
|
2
.
Lemma 4.1.3
F ur jede Basis b
1
, . . . , b
n
des Gitters L gilt
j
(L) min
i=j,...,n
|

b
i
| f ur j = 1, ..., n.
Beweis. Es gibt linear unabhangige Vektoren a
1
, . . . , a
n
L, so dass |a
j
| =
j
(L) f ur j =
1, . . . , n. Sei
a
k
=

n
i=1
t
ik
b
i
=

n
i=1
t
ik

b
i
f ur k = 1, . . . , n.
Dabei sind die Koezienten t
ik
ganzzahlig und die t
ik
reell. Sei (k) := max i : t
ik
= 0.
Wegen b
i
=

i
j=1

i,j

b
j
und
i,i
= 1, ist t
(k),k
= t
(k),k
ganzzahlig. Wegen der linearen
Unabhangigkeit der Vektoren a
1
, . . . , a
j
gibt es zu jedem j ein k j mit (k) j. Denn aus der
Annahme (k) < j f ur k = 1, . . . , j folgt a
1
, . . . , a
j
span(b
1
, . . . , b
j1
), so dass a
1
, . . . , a
j
linear
abhangig sind Widerspruch. Aus k j, (k) j folgt

2
j

2
k
= |a
k
|
2
t
2
(k),k
|

b
(k)
|
2
|

b
(k)
|
2
min
i=j,...,n
|

b
i
|
2
.
Die untere Schranke zu
j
in Lemma 4.1.3 gilt f ur beliebige Basen. F ur LLL-reduzierten Basen ist
|b
j
| grobe Approximation zu
j
, es gilt namlich
Satz 4.1.4 (Lenstra, Lenstra, Lovasz 1982)
Jede mit LLL-reduzierte Basis b
1
, ..., b
n
des Gitters L erf ullt mit = (
1
4
)
1
1.
1j
|

b
j
|
2

j
(L)
2
f ur j = 1, . . . , n,
2. |b
j
|
2

j
(L)
2

n1
f ur j = 1, . . . , n,
3. |b
k
|
2

j1
|

b
j
|
2
f ur k j.
Beweis. Wir zeigen zunachst die erste und dritte Aussage. Oenbar gibt es ein k mit 1 k j
und
j
|b
k
|. Es folgt

2
j
|b
k
|
2
|

b
k
|
2
+
1
4

k1
i=1
|

b
i
|
2
|

b
j
|
2
(
jk
+
1
4

k1
i=1

ji
) (nach Lemma 4.1.2)
= |

b
j
|
2

j1
(
1k
+
1
4

k1
i=1

1i
).
Damit gilt die obere Schranke f ur |b
k
|
2
f ur alle k und j mit k j. Es bleibt noch zu zeigen, dass

1k
+
1
4

k1
i=1

1i
1.
F ur k = 1 gilt die Ungleichung oenbar. F ur k 2 gilt mit
1
=
1
4

3
4
dass

1k
+
1
4

k1
i=1

1i
. .. .
geom. Reihe

3
4

k1
+
1
4
1(
3
4
)
k1
1
3
4
=
1
4
1
1
3
4
= 1.
4.2. DAS LLL-REDUKTIONSVERFAHREN 33
Damit sind die erste und die dritte Behauptung gezeigt. Nach Lemma 4.1.3 gibt es ein k j, so
dass
j
|

b
k
|. Es folgt

2
j
|

b
k
|
2

k+j
|

b
j
|
2
(wegen Lemma 4.1.2)

k+1
|b
j
|
2
(wegen 3. Aussage des Satzes mit k = j)

n+1
|b
j
|
2
(wegen k n und 1)

Korollar 4.1.5
Jede mit LLL-reduzierte Basis b
1
, . . . , b
n
erf ullt
1. |b
1
|
2

n1
2
(det L)
2
n
,
2.
n

i=1
|b
i
|
2

(
n
2
)
(det L)
2
.
Beweis. Aus

n
i=1
|

b
i
|
2
= (det L)
2
und |b
1
|
2
|

b
i
|
2

i1
( Lemma 4.1.2 ) folgt
|b
1
|
2n

1

2

n1

n
i=1
|

b
i
|
2
=
(
n
2
)
(det L)
2
,
und somit
|b
1
|
2

n1
2
(det L)
2
n
.
Die zweite Aussage folgt aus

n
i=1
|

b
i
|
2
= (det L)
2
und |b
i
|
2
|

b
i
|
2

i1
, der dritten Aussage
von Satz 4.1.4 f ur k = j = i.
4.2 Das LLL-Reduktionsverfahren
Wir beschreiben ein Verfahren zur LLL-Reduktion von ganzzahligen Gitterbasen mit polynomieller
Laufzeit. Es handelt sich bis auf kleine Verbesserungen um das Verfahren von A.K. Lenstra,
H.W. Lenstra und L. Lovasz [LLL82]. Wir zahlen die Anzahl der arithmetischen Schritte auf
ganzen Zahlen und beschranken den Absolutwert der im Verfahren auftretenden ganzen Zahlen.
4.2.1 LLL-Verfahren
Algorithmus 4.2.1 transformiert eine ganzzahlige Gitterbasis in eine mit LLL-reduzierte Basis
desselben Gitters. Der Algorithmus reduziert sukzessive einen moglichst groen Anfangsabschnitt
b
1
, ..., b
k1
der Basis. Bei Eintritt in Stufe k ist die Basis b
1
, . . . , b
k1
stets LLL-reduziert mit .
Am Ende ist k = n + 1 und die gesamte Basis b
1
, . . . , b
n
ist reduziert.
Das Verfahren ist wohldeniert, und operiert auf Stufe k mit den rationalen Zahlen
i,j
, |

b
i
|
2
f ur 1 i, j k und den ganzzahligen Vektoren b
1
, ..., b
k
, siehe Lemma 4.2.2. Die Langenreduktion
von b
k
sichert, dass die im Verfahren auftretenden ganzen Zahlen polynomielle Bitlange zur Lange
der Eingabe haben. Dies gilt insbesondere f ur Zahler und Nenner der rationalen Zahlen
k,j
, |

b
k
|
2
,
siehe Satz 4.2.6. Es bezeichne
M := max( |b
1
|
2
, ..., |b
n
|
2
),
D
i
:= det L(b
1
, . . . , b
i
)
2
= det ['b
s
, b
t
`]
1s,ti
=

i
j=1
|

b
j
|
2
N, (4.1)
D :=

n1
i=1
D
i
, M := max
i=1,...,n
( |b
i
|
2
, D
i
).
34 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN
Algorithmus 4.2.1 zur LLL-Reduktion
EINGABE: Gitterbasis b
1
, . . . , b
n
Z
m
, mit
1
4
< < 1
1. k := 2, |

b
1
|
2
:= |b
1
|
2
/ k ist die Stufe /
2. WHILE k n DO
/ b1, . . . , b
k1
ist stets LLL-reduziert /
berechne
k,j
f ur j = 1, . . . , k und |

b
k
|
2
gema Lemma 4.2.2
Langenreduziere b
k
, aktualisiere
k,1
, . . . ,
k,k1
IF |

b
k1
|
2
> |

b
k
|
2
+
2
k,k1
|

b
k1
|
2
THEN vertausche b
k1
und b
k
/ kurz b
k1
b
k
/
IF k = 2 THEN aktualisiere |

b
1
|
2
k := max(k 1, 2)
ELSE k := k + 1 end while
AUSGABE: LLL-reduzierte Basis b
1
, ..., b
n
.
Die Gram-Determinante D
i
ist die Determinante der Gram-Matrix der Teilbasis b
1
, ..., b
i
. Die
Groen M, M beziehen sich im Folgenden immer auf die Eingabebasis, wahrend D
i
und D sich
bei Basistransformationen andern. D
Start
ist der Wert von D zur Eingabe.
Korrektheit. Auf Stufe k ist die Teilbasis b
1
, ..., b
k1
stets LLL-reduziert. Dies folgt durch In-
duktion uber die Abfolge der Iterationen. Eine Iteration ist die Abfolge der Schritte der WHILE-
Schleife bis zur Aktualisierung von k.
Lemma 4.2.1
Die LLL-Reduktion f uhrt zu gegebener ganzzahligen Basis b
1
, ..., b
n
Z
m
hochstens
log
1/

D
Start

nlog
1/
M Austausche b
k1
b
k
durch.
Beweis. Die Gram-Determinante D
i
ist ganzzahlig und positiv. Wir zeigen, dass jeder Austausch
b
k1
b
k
D um den Faktor erniedrigt, D
neu
D
alt
. Wegen D
Ende
N folgt dann
D
Start
D
Ende
(1/)
#Austausche
(1/)
#Austausche
. (4.2)
Die Gitter L(b
1
, . . . , b
i
) mit i = k 1 werden beim Austausch b
k1
b
k
nicht verandert. Also
bleiben die Determinanten D
i
mit i = k 1 erhalten. Im LLL-Verfahren wird nur ausgetauscht
wenn
|

b
k1
|
2
> |

b
k
|
2
+
2
k,k1
|

b
k1
|
2
= |

b
neu
k1
|
2
.
Wegen D
k1
=

k1
i=1
|

b
i
|
2
bewirkt der Austausch b
k1
b
k
, dass
D
neu
k1
D
alt
k1
und D
neu
D
alt
.
Nach (4.2) ist die Anzahl der Austausche hochstens log
1/

D
Start

. Wegen D
Start
i
D
i
M
folgt D
Start
=

n1
i=1
D
i
M
n1
und somit #Austausche (n 1) log
1/
M.
Wieviele arithmetische Schritte f uhrt das LLL-Verfahren pro Austausch durch ? Wieviele
Schritte kostet die Berechnung von
k,1
, ...,
k,k
und |

b
k
|
2
auf Stufe k ?
4.2. DAS LLL-REDUKTIONSVERFAHREN 35
Lemma 4.2.2
Die Berechnung von
k,1
, ...,
k,k
und |

b
k
|
2
, sowie die Langenreduktion von b
k
auf Stufe k gehen
in O(k m) arithmetischen Schritten.
Beweis. Die
k,j
f ur j = 1, ..., k und |

b
k
|
2
werden durch folgende O(k m) Schritte berechnet
FOR j = 1, . . . , k 1 DO
k,j
:= ('b
k
, b
j
`

j1
i=1

k,i

j,i
|

b
i
|
2
)/|

b
j
|
2
,

k,k
:= 1, |

b
k
|
2
:= 'b
k
, b
k
`

k1
j=1

2
k,j
|

b
j
|
2
.
Die Langenreduktion von b
k
geht mit folgenden O(k m) Schritten
FOR j = k 1, ..., 1 DO b
k
:= b
k

k,j
|b
j
,
k,i
:=
k,i

k,j
|
j,i
f ur i = 1, ..., k.

Aufgrund von Lemma 4.2.1 und 4.2.2 f uhrt das LLL-Verfahren hochstens O(n
2
mlog
1/
M)
arithmetischen Schritte aus, siehe Satz 4.2.6. Wie gro werden aber die wahrend des LLL-Verfahrens
auftretenden ganzen Zahlen ? Wir schatzen in den nachsten drei Lemmata die Absolutwerte der
Zahler und Nenner der rationalen Zahlen
j,i
, |

b
i
|
2
wahrend der LLL-Reduktion ab.
Lemma 4.2.3
F ur jede ganzzahlige Eingabebasis b
1
, ..., b
n
Z
m
gilt 1. D
i1

b
i
Z
m
, 2. D
j

i,j
Z.
Beweis. 1. Aus [b
1
, ..., b
n
] = [

b
1
, . . . ,

b
n
] [
i,j
]
T
folgt f ur [
i,j
] := [
i,j
]
1
dass
[

b
1
, . . . ,

b
n
] = [b
1
, ..., b
n
] [
i,j
]
T
.
Dabei sind [
i,j
]

, [
i,j
]

Q
nn
obere Dreiecksmatrizen mit Einsen auf der Diagonalen.
Wegen '

b
i
, b
j
` = 0 f ur j = 1, 2, . . . , i 1 folgt aus

b
i
= b
i
+

i1
t=1

i,t
b
t
und
i,i
= 1 dass
'b
i
, b
j
` =
i1

t=1

i,t
'b
t
, b
j
` f ur j = 1, 2, . . . , i 1.
Diese i 1 Gleichungen denieren
i,1
,
i,2
, . . . ,
i,i1
. Die Determinante des Gleichungssy-
stems ist D
i1
= det ['b
j
, b
k
`]
1j,ki1
= 0. Nach der Cramerschen Regel gilt
D
i1

i,j
Z f ur j = 1, . . . , i 1.
Aus

b
i
= b
i
+

i1
j=1

i,j
b
j
folgt D
i1

b
i
Z
m
.
2. Wegen D
j
=

j
i=1
|

b
i
|
2
gilt
D
j

i,j
= D
j
'b
i
,

b
j
`
|

b
j
|
2
= D
j1
'b
i
,

b
j
` = 'b
i
, D
j1

b
j
`.
Aus D
j1

b
j
Z
m
folgt somit D
j

i,j
Z.

Lemma 4.2.4
Auf Stufe k des LLL-Verfahrens gilt stets
1. |b
i
|
2

i+3
4
M f ur i = 1, . . . , k,
2. [
i,j
[
2

i+3
4
M
j1
f ur 1 j < i < k.
36 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN
Beweis. 1. Im LLL-Verfahren bleiben bis auf die Langenreduktion von b
k
auf Stufe k die
Langen der Basisvektoren unverandert. Nach der Langenreduktion von b
k
gilt
|b
k
|
2
=

k
j=1

2
k,j
|

b
j
|
2
|

b
k
|
2
+
k1
4
max( |

b
1
|, ..., |

b
k1
|
2
)
k+3
4
M.
Denn im LLL-Verfahren gilt stets max
i
|

b
i
|
2
M := max( |b
1
|
2
, ..., |b
n
|
2
).
F ur jeden Austausch b
k1
b
k
gilt namlich |

b
neu
k1
|
2
|

b
alt
k1
|
2
, |

b
neu
k
|
2
|

b
alt
k1
|
2
.
2. Nach Denition der Gram-Schmidt-Koezienten und der Cauchy-Schwarz-Ungleichung gilt
[
i,j
[
2
=
['b
i
,

b
j
`
2
[
|

b
j
|
4

|b
i
|
2
|

b
j
|
2
|

b
j
|
4

|b
i
|
2
|

b
j
|
2
.
Weil b
1
, ..., b
k1
LLL-reduziert ist, gilt
[
i,j
[
2

i+3
4
M |

b
j
|
2
(wegen |b
i
|
2

i+3
4
M)

i+3
4
M
j1
|

b
1
|
2
(nach Lemma 4.1.2)

i+3
4
M
j1
(weil |b
1
|
2
= |

b
1
|
2
Z).

Lemma 4.2.5
Wahrend der Langenreduktion von b
k
auf Stufe k gilt [
k,j
[
2

k+3
4
M

9
4

k1
f ur j < k.
Beweis. Der Reduktionsschritt
b
k
:= b
k

k,i
| b
i
f ur i < k
der Langenreduktion wird begleitet von

k,j
:=
k,j

k,i
|
i,j
....
]i,j]1/2
f ur j = 1, 2, ..., k 1. (4.3)
Jeder dieser k 1 Schritte verandert M
k
:= max
j<k
[
k,j
[ wegen
k,i
| M
k
+
1
2
derart dass
M
neu
k
M
alt
k
+
1
2

M
alt
k
+
1
2


3
2
M
alt
k
+
1
4
(4.4)
Nach Lemma 4.2.4 gilt vor der Langenreduktion von b
k
dass
M
k

k+3
4
M
k1
.
Wegen (4.4) erhoht sich die Groe M
k
wahrend der Langenreduktion von b
k
hochstens um den
Faktor

3
2

k1
(der Summand
1
4
kann vernachlassigt werden). Also gilt
[
k,j
[
2

3
2

2(k1)

k+3
4
M
k1

=
k+3
4
M

9
4

k1
.

Satz 4.2.6
Zu gegebener ganzzahliger Basis b
1
, . . . , b
n
Z
m
liefert Algorithmus 4.2.1 eine LLL-reduzierte
Basis. Mit M := max
i
(|b
i
|
2
, D
i
) macht der Algorithmus hochstens O(n
2
mlog
1/
M) arithme-
tische Schritte auf den Koordinaten der b
i
und den rationalen Zahlen
i,j
, |

b
i
|
2
. Die Bitlange
der auftretenden ganzen Zahlen, insbesondere der Zahler und Nenner von
i,j
, |

b
i
|
2
ist hochstens
O(n + log
2
M).
4.3. LLL-REDUKTION GANZZAHLIGER ERZEUGENDENSYSTEME 37
Beweis. Nach Lemma 4.2.1 gilt
#Austausche log
1/
D
Start
(n 1) log
1/
M

n
2

log
2
M.
Die LLL-Reduktion beginnt mit Stufe k = 2 und endet mit Stufe k = n + 1. Jeder Austausch
erniedrigt die Stufe k gema k := min(k 1, 2). Zu jeder Iteration mit Austausch und Stufener-
niedrigung gibt es hochstens eine Iteration mit Stufenerhohung k := k + 1 ohne Austausch. Es
folgt
#Iterationen n 1 + 2 #Austausche = n + 2nlog
1/
M.
Jede Iteration erfordert O(km) = O(nm) arithmetische Schritte. Damit ist die Schrittzahl hochstens
O(n
3
mlog
1/
M).
Nach Lemma 4.2.3, 4.2.4 und 4.2.5 sind die auftretenden Zahlen wie folgt beschrankt
[
k,j
[
2

k+3
4
M

9
4

k1
, |b
k
|
2
k
k+3
4
M

9
4

k1
,
und f ur i < k:
[
i,j
[
2

i+3
4
M
j1
, |b
i
|
2

i+3
4
M.
Der Nenner von
i,j
ist absolut beschrankt durch D
j1
M. Damit ist der Zahler von
i,j
absolut beschrankt durch

n+3
4
M
1
2

9
4

n1
2
M.
Zahler und Nenner von |

b
j
|
2
=
Dj
Dj1
sind durch M beschrankt. Damit sind alle im Verfahren
auftretenden, ganzen Zahlen absolut beschrankt durch
nM
1
2

9
4

n1
2
M
und haben somit eine Bitlange O(n + log
2
M) mit einer O-Konstante nahe 1,5 f ur 1.
Nach dem Austausch b
k1
b
k
kann man die Gram-Schmidt-Koezienten
k1,1
, ...,
k1,k2
,
sowie das Langenquadrat |

b
k1
|
2
schnell aktualisieren. Die Aktualisierung erfordert nur O(1) Re-
chenschritte und O(k) Datentransporte wahrend die Neuberechnung nach Lemma 4.2.2 O(k m)
Rechenschritte erfordert. .
Lemma 4.2.7
Der Austausch b
k1
b
k
bewirkt mit :=
k,k1
dass
1.
neu
=
|

b
k1
|
2
|

b
neu
k1
|
2
mit |

b
neu
k
|
2
=
2
|

b
k1
|
2
+|

b
k
|
2
,
2. [
neu
k,i
,
neu
k1,i
] = [
k1,i
,
k,i
] f ur i = 1, . . . , k 2.
Beweis. 1. Es gilt
neu
=
b
neu
k
,

b
neu
k1
)

b
neu
k1

2
=

k1
(b
neu
k1
),
k1
(b
neu
k
))

b
neu
k1

2
.
Weil '
k1
(b
k1
),
k1
(b
k
)` bei der Vertauschung b
k1
b
k
erhalten bleibt, folgt dass
neu
=
|

b
k1
|
2
/|

b
neu
k1
|
2
. 2. ist oensichtlich.
38 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN
Algorithmus 4.3.1 LLL-Reduktion von ganzzahligen Erzeugendensystemen
EINGABE: Erzeugendensystem b
1
, . . . , b
n
Z
m
` 0, mit
1
4
< < 1
/ L :=

n
i=1
biZ ist ein Gitter /
1. k := 2, |

b
1
|
2
:= |b
1
|
2
/ k ist die Stufe /
2. WHILE k n DO
/ b1, . . . , b
k1
ist LLL-reduziert /
berechne
k,j
f ur j = 1, . . . , k und |

b
k
|
2
gema Lemma 4.2.2
Langenreduziere b
k
, aktualisiere
k,1
, . . . ,
k,k1
IF b
k
= 0 THEN entferne b
k
aus dem Erzeugendensystem, n := n 1 RETURN
IF |

b
k1
|
2
> |

b
k
|
2
+
2
k,k1
|

b
k1
|
2
THEN vertausche b
k1
und b
k
/ kurz b
k1
b
k
/
IF k = 2 THEN aktualisiere |

b
1
|
2
k := max(k 1, 2)
ELSE k := k + 1 end while
AUSGABE: LLL-reduzierte Basis b
1
, ..., b
n
des Gitters L.
4.3 LLL-Reduktion ganzzahliger Erzeugendensysteme
Wir erweitern die LLL-Reduktion auf ganzzahlige Erzeugendensysteme b
1
, . . . , b
n
Z
m
` 0. Es
gen ugt, die im LLL-Verfahren entstehenden Nullvektoren zu eliminieren. Der Nullvektor kann nur
durch Langenreduktion von b
k
auf Stufe k entstehen.
Korrektheit. Algorithmus 4.3.1 ist wohldeniert und operiert auf Stufe k mit den rationalen
Zahlen
i,j
, |

b
i
|
2
f ur i, j k und den ganzzahligen Basisvektoren. Das Verfahren ist korrekt, weil
die Vektoren b
1
, . . . , b
k1
auf Stufe k stets linear unabhangig und somit LLL-reduziert sind. Sind
namlich nach der Langereduktion von b
k
die Vektoren b
1
, . . . , b
k
erstmals linear abhangig, so gilt
b
k
L(b
1
, . . . , b
k1
). Die Langenreduktion von b
k
erzeugt den Nullvektor. Dieser wird sofort ent-
fernt.
Laufzeitanalyse. Zu den Teilgittern L(b
1
, . . . , b
i
) =

i
j=1
b
j
Z und den Gram-Determinanten
D
i
= (det L(b
1
, . . . , b
i
))
2
setzt man wieder
D :=

n1
i=1
D
i
,
M := max
i
|b
i
|, M := max
i
(|b
i
|
2
, D
i
) .
Dann gilt
#Austausche log
1/
D
Start
(n 1) log
1/
M
#Iterationen n 1 + 2 #Austausche n + 2n log
1/
M
#arithm. Schritte = O(n
2
mlog
1/
M).
Damit ubertragt sich der Beweis von Satz 4.2.6. Insbesondere gelten die Zahlen-Schranken von
Lemma 4.2.3 4.2.4 und 4.2.5 auch f ur die Werte im Verlauf von Algorithmus 4.3.1. Somit gilt der
4.4. LLL-REDUKTION MIT GLEITKOMMA-ARITHMETIK 39
Satz 4.3.1
Zu gegebenen ganzzahligen Vektoren b
1
, ..., b
n
Z
m
`0 liefert Algorithmus 4.3.1 eine LLL-reduzierte
Basis des von b
1
, ..., b
n
erzeugten Gitters. Mit M := max
i
(|b
i
|
2
, D
i
) macht das LLL-Verfahren
hochstens O(n
2
mlog
1/
M) arithmetische Schritte auf den Koordinaten der b
i
und den rationa-
len Zahlen
i,j
, |

b
i
|
2
. Die Bitlange der auftretenden ganzen Zahlen, insbesondere der Zahler und
Nenner von
i,j
, |

b
i
|
2
ist hochstens O(n + log
2
M).
4.4 LLL-Reduktion mit Gleitkomma-Arithmetik
F ur eine schnelle LLL-Reduktion mu man die Rechnung uberwiegend in Gleitkomma-Arithmetik
durchf uhren. Ein Schritt in Gleitkomma-Arithmetik geht in einem Maschinenzyklus, die Arithme-
tik auf langen ganzen Zahlen erfordert dagegen spezielle Software und ist recht langsam. Die
Rechnung auf den Basisvektoren b
1
, . . . , b
n
wird in exakter Arithmetik durchgef uhrt. F ur die
Rechnung auf den rationalen Zahlen
i,j
, |

b
i
|
2
f ur i, j k gen ugen dagegen gute Naherungen
in Gleitkomma-Arithmetik.
Def inition 4.4.1 (Relativer Fehler)
Eine Naherung f
t
zu f R hat relativen Fehler > 0, wenn [f f
t
[ min([f[, [f
t
[).
1
Wir betrachten die LLL-Reduktion nach Algorithmus 4.2.1 f ur den Fall, dass alle rationalen
Zahlen
i,j
, |

b
j
|
2
mit relativem Fehler berechnet werden. Dann f uhrt die Langenreduktion des
Vektors b
k
nur zu [
k,j
[
1
2
+ anstelle von [
k,j
[
1
2
f ur j = 1, . . . , k 1. Wir vernachlassigen
diese geringf ugige Abschwachung der Langenreduktion.
Satz 4.4.2
Haben bei der LLL-Reduktion mit die rationalen Zahlen |
k1
(b
k1
)|
2
, |
k1
(b
k
)|
2
bei der Ent-
scheidung uber den Austausch b
k1
b
k
stets relativen Fehler , dann ist die Ausgabebasis LLL-
reduziert mit

:= (1)/(1+). Die Anzahl der Austausche b


k1
b
k
ist hochstens nlog
1/+
M
mit
+
:= (1 +)/(1 ), sofern
+
< 1.
Beweis. Angenommen, bei der LLL-Reduktion mit

und exakter Rechnung erfolgt ein Aus-


tausch b
k1
b
k
. Dann gilt

|
k1
(b
k1
)|
2
> |
k1
(b
k
)|
2
. F ur die Naherungen mit relativem
Fehler folgt es bezeichnet stets f
t
eine Naherung zu f:

(1 +)|
k1
(b
k1
)|
t2
> |
k1
(b
k
)|
t2
(1 ).
Somit erfolgt der Austausch b
k1
b
k
auch mit =

(1 + )/(1 ) und Naherungen. Weil


alle Austausche b
k1
b
k
der LLL-Reduktion mit

und exakter Rechnung korrekt ausgef uhrt


werden, ist die Ausgabebasis LLL-reduziert mit

Wir zeigen noch, dass die LLL-Reduktion mit Naherungen abbricht sofern
+
< 1. Erfolgt
namlich ein Austausch b
k1
b
k
mit und Naherungen, dann gilt
|
k1
(b
k1
)|
t2
> |
k1
(b
k
)|
t2
und somit (1+)|
k1
(b
k1
)|
2
> |
k1
(b
k
)|
2
(1). Dann wird D
k1
beim Austausch b
k1
b
k
um den Faktor
+
= (1+)/(1) erniedrigt, sofern
+
< 1. Damit ist die Anzahl der Austausche
hochstens nlog
1/+
(M).
Wegen Satz 4.4.2 gilt es bei der LLL-Reduktion mit Gleitkomma-Zahlen
i,j
, |

b
j
| den relativen
Fehler zu begrenzen. Wichtigste Punkte dabei sind
1
Wir denieren den relativen Fehler von f

zu f symmetrisch in f und f

, ublich ist es nur |f f

| |f| zu
fordern.
40 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN
1. War vor der Langenreduktion von b
k
auf Stufe k [
k,j
[ 2
m
, dann gehen bei der Reduktion
auf [
k,j
[
1
2
die m + 1 f uhrenden Bits der Gleitkomma-Zahl
t
k,j
verloren. Man kann den
relativen Fehler von
t
k,j
wieder klein machen durch Neuberechnung von
k,j
gema Lemma
4.2.2.
2. Bei der Neuberechnung von
k,j
gema Lemma 4.2.2 rechnet man 'b
t
k
, b
t
j
` in Gleitkomma.
Im Falle dass ['b
k
, b
j
`[ 2
m
|b
k
||b
j
|, gehen dabei m Prazisionsbits verloren. Ist m zu gro,
rechnet man besser 'b
k
, b
j
` exakt.
Mit diesen Manahmen haben Schnorr, Euchner [SchnEu91] ein LLL-Verfahren implementiert.
Dieser Algorithmus ist stabil, etwa bis zur Dimension 350.
Auf Stufe k sind die
i,j
mit i, j > k im allgemeinen sehr gro. Statt der Schranke von
Lemma 4.2.4 gilt nur [
i,j
[
2

i+3
4
D
j1
. Unsere Variante des LLL-Verfahrens vermeidet die Gram-
Schmidt-Koezienten
i,j
mit i, j > k und rechnet auf Stufe k nur mit den Groen
i,j
, |

b
j
|
2
mit 1 j i k nach den Formeln von Lemma 4.2.2. Diese sind geeignet f ur das Rechnen mit
Gleitkommazahlen
i,j
, |

b
j
|
2
. Weil die Basis b
1
, . . . , b
k1
stets LLL-reduziert ist, gilt nach Lemma
4.1.2
|

b
j
|
2
|b
1
|
2

1j
f ur j = 1, . . . , k 1.
Die Divisoren |

b
j
|
2
bei der Berechnung von
k,j
gema Lemma 4.2.2 sind daher nicht beliebig
klein. Dies ist wichtig f ur die Begrenzung von Gleitkommafehlern.
4.5 LLL-Reduktion mit ganzzahliger Gram-Matrix
F ur die LLL-Reduktion einer Basismatrix B R
mn
in ganzzahliger Arithmetik ist es nicht
erforderlich, da B ganzzahlig ist. Es gen ugt, die Ganzzahligkeit der Gram-Matrix B

B. Ist
B

B Z
nn
gegeben, so kann man mit den Eintragen von B

B rechnen. Genauer gesagt, gen ugen


die

n+1
2

Eintrage 'b
i
, b
j
` f ur 1 i j n. Gegebenenfalls f uhrt man auch die Transformations-
matrix T Z
nn
mit, welche die Startbasis B
Start
in die aktuelle Basis B uberf uhrt, B = B
Start
T.
Aktualisierung von B

B. Beim Schritt b
k
:= b
k
b
j
der Langenreduktion von b
k
auf Stufe k
wird B

B wie folgt aktualisiert:


'b
k
, b
i
` := 'b
k
, b
i
` 'b
j
, b
i
` f ur i = 1, . . . , n, i = k
'b
k
, b
k
` := 'b
k
, b
k
` 2'b
k
, b
j
` +
2
'b
j
, b
j
`
Die Aktualisierung von B

B bei der Langenreduktion von b


k
geht in O(kn) arithmetischen Schrit-
ten.
Aktualisierung von T. Die Aktualisierung von T = [t
i,j
]
1i,jn
beim Schritt b
k
:= b
k
b
j
geht in O(n) Schritten
t
j,i
:= t
j,i
+t
k,i
f ur i = 1, . . . , n.
Dann geht die Aktualisierung von T bei der Langenreduktion von b
k
in O(kn) arithmetischen
Schritten. Beim Austausch b
k1
b
k
werden B

B und T durch O(n) Datentransporte aktua-


lisiert, indem O(n) Eintrage in B

B und T getauscht werden. Damit kostet eine Iteration der


LLL-Reduktion O(n
2
) Schritte und es folgt der
Satz 4.5.1
Zu gegebener ganzzahliger Gram-Matrix B

B Z
nn
geht die LLL-Reduktion gema Alg. 4.2.1
in O(n
3
log
1/
M) arithmetischen Schritten auf ganzen Zahlen der Bitlange O(n + log
2
M).
4.5. LLL-REDUKTION MIT GANZZAHLIGER GRAM-MATRIX 41
Dabei ist M wie f ur ganzzahlige Eingabebasen erklart. Im Falle einer ganzzahligen Basis B Z
mn
mit m >> n ist es wegen Satz 4.5.1 g unstig, vorweg B

B in O(n
2
m) Schritten zu berechnen. Die
LLL-Reduktion geht so in O(n
2
m+n
3
log
1/
M) Schritten, gegen uber O(n
2
mlog
1/
M) Schritten
von Algorithmus 4.2.1.
42 KAPITEL 4. LLL-REDUZIERTE GITTERBASEN
Kapitel 5
L

osen von Subsetsum-Problemen


durch Gitterreduktion
In diesem Kapitel lernen wir die erste Anwendung der Gitterreduktion kennen: Wir nehmen an,
es gabe ein Gitterorakel, da uns den k urzesten, nichttrivialen Gittervektor liefert und reduzieren
das Subsetsum-Problem auf das Finden eines k urzesten Gittervektors. Wir stellen zunachst die
Lagarias-Odlyzko- und anschlieend die verbesserte CJLOSS-Gitterbasis vor. F ur kleine Dimen-
sionen konnen wir das Gitterorakel durch Reduktionsalgorithmen annahrend ersetzen.
5.1 Einleitung
Wir versuchen, die folgende Aufgabe mit Hilfe eines Gitterorakels bzw. durch Gitterreduktion zu
losen:
Def inition 5.1.1 (Subsetsum-Problem)
Das Subsetsum-Problem lautet:
Gegeben: n N, Gewichte a
1
, . . . , a
n
N und s N
Finde e 0, 1
n
mit
n

i=1
a
i
e
i
= s oder zeige, da kein solcher Vektor existiert.
Das Subsetsum-Problem nennt man in der Literatur auch Knapsack- bzw. Rucksack-Problem.
Nach Satz 11.2.5 auf Seite 103 ist das Subsetsum-Problem ^{-vollstandig.
Sei A N eine beliebige Konstante. Wir betrachten Gewichte (a
1
, . . . , a
n
), welche uber dem
Bereich [1, A]
n
variieren. Zusatzlich setzen wir voraus, da stets eine Losung existiert: Sei e =
(e
1
, . . . , e
n
) 0, 1
n
` 0
n
beliebig, aber fest. Setze
s :=
n

i=1
a
i
e
i
Die Wahrscheinlichkeiten und die

fast alle-Aussagen in diesem Kapitel beziehen sich auf rein


zufallig gewahlte Tupel aus [1, A]
n
. Zur Subsetsum-Aufgabe formulieren wir das inverse Problem:
Def inition 5.1.2 (Inverses Subsetsum-Problem)
Die inverse Aufgabe zu einem Subsetsum-Problem lautet:
43
44 KAPITEL 5. L

OSEN VON SUBSETSUM-PROBLEMEN DURCH GITTERREDUKTION


Gegeben: n N, Gewichte a
1
, . . . , a
n
N und s N
Finde e 0, 1
n
mit
n

i=1
a
i
e
i
=
n

i=1
a
i
s =: s oder zeige, da kein solcher Vektor existiert.
Sei e eine Losung zum Subsetsum-Problem und e zum Inversen. Dann gilt:
e
i
:= 1 e
i
i = 1, . . . , n
Aus der Losung zum inversen Problem erhalten wir unmittelbar eine Losung des Ausgangspro-
blems. Durch den moglichen

Ubergang zum inversen Problem konnen wir stets erreichen, da die
Summe der Einsen im Losungsvektor e bzw. e maximal
n
2
betragt.
Um die Aufgabe zu losen, setzen wir ein Gitterorakel voraus. Das Gitterorakel liefert zu gege-
bener, ganzzahliger Basis zum Gitter L einen Vektor x L mit |x| =
1
(L) (Euklidische Norm).
Wir werden zeigen, da wir mit dem Gitterorakel die Aufgabe fast immer losen konnen (also die
Wahrscheinlichkeit, da wir es nicht losen konnen, fallt mit n gegen unendlich gegen 0), wenn die
Dichte niedrig ist:
Def inition 5.1.3 (Dichte eines Subsetsum-Problems)
Zu einem Subsetsum-Problem mit Gewichten a
1
, . . . , a
n
N denieren wir die Dichte d als:
d :=
n
log
2

max
i=1,...,n
a
i

F ur Dichte d 1 gibt es bei zufalliger Wahl der Gewichte a


1
, . . . , a
n
und der Summe s

in der
Regel viele Losungen, als am schwierigsten gelten zufallige Subsetsum-Problem mit Dichte etwa
1. Aus gegebener Dichte d und der Anzahl n erhalten wir eine untere Schranke f ur die Gewichte
a
1
, . . . , a
n
:
max
i=1,...,n
a
i
2
n
d
(5.1)
In der Praxis versucht man, statt durch Fragen an das Orakels, einen der k urzesten Gittervektor
mit Hilfe der Gitterbasenreduktion zu nden (siehe u.a. [SchnHo95, SchnEu91, Horner94]). Dies
bietet auch eine Angrismoglichkeit auf Kryptographie-Schemata, die auf Subsetsum-Problemen
basieren. C.P. Schnorr und H.H. Horner [SchnHo95, Horner94] haben das Chor-Rivest-System
[CR88] mittels Gitterreduktion angegrien.
5.2 Lagarias-Odlyzko-Gitterbasis
J.C. Lagarias und A.M. Odlyzko [LaOd85] haben 1985 eine Gitterbasis vorgestellt, um Subsetsum-
Aufgaben mit Hilfe eines Gitterorakels zu losen. Unsere Darstellung orientiert sich an [CJLOSS92].
Die Lagarias-Odlyzko-Gitterbasis besteht aus folgenden n +1 ganzzahligen Zeilenvektoren, wobei
N eine hinreichend groe Zahl ist:

b
1
b
2
.
.
.
b
n
b
n+1

:=

1 0 0 Na
1
0 1 0 Na
2
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 Na
n
0 0 0 Ns

(5.2)
5.2. LAGARIAS-ODLYZKO-GITTERBASIS 45
Im Beweis wahlen wir N >

1
2
n. Die Motivation: Ein kurzer Gittervektor hat dann in der
letzten Komponente den Wert 0, und wir erhalten aus den ersten n Komponenten eine Losung
des Subsetsum-Problems. Sei
L
LO
:= L(b
1
, . . . , b
n+1
)
Der Losung e des Subsetsum-Problems, die nach Voraussetzung existiert, ist der folgende Losungs-
vektor zugeordnet:
e :=

i=1
e
i
b
i

b
n+1
= (e
1
, . . . , e
n
, 0) (5.3)
Satz 5.2.1
Sei A > 0 beliebig, aber fest. Die Subsetsum-Aufgabe wird f ur hinreichend groe n f ur fast alle
ganzzahligen Gewichte (a
1
, . . . , a
n
)
R
[1, A]
n
mit Dichte d < 0, 6463 durch zweifache Anwendung
des Gitterorakels auf die Lagarias-Odlyzko-Basis ezient gelost.
Beweis. Wir wenden das Orakel auf das Problem und sein inverses Problem an: Zuvor entfernen
wir diejenigen Gewichte, die wir im voraus einer Losung zuordnen konnen.
Sei t :=

n
i=1
a
i
. Wir reduzieren das Problem: Solange ein a
i
mit a
i
> min(s, t s) existiert,
entferne dieses Gewichte aus der Liste, vermindere n um 1 und aktualisiere s und t. Ein a
i
mit
a
i
> t s mu Summand in

n
i=1
e
i
a
i
sein. Ein a
i
mit a
i
> s mu Summand in

n
i=1
(1 e
i
)a
i
sein.
Jede Losung des reduzierten Problems liefert eine Losung der Aufgabe. F ur die reduzierte
Aufgabe gilt
(5.4)
1
n
t s t
1
n
t,
weil alle kleineren und groeren Gewichte entfernt wurden. Die Ungleichung bleibt bestehen, wenn
man auf das inverse Problem ubergeht. Die folgende Analyse bezieht sich auf dasjenige Problem
mit

n
i=1
e
i

1
2
n.
Es bleibt die Wahrscheinlichkeit abzuschatzen, da das Orakel einen k urzesten Gittervektor
x = (x
1
, . . . , x
n+1
) = e ausgibt, da wir dann aus der Antwort nicht die gesuchte Subsetsum-
Losung erhalten. F ur den Vektor x gilt:
| x| | e|

1
2
n
x L
LO
= L(b
1
, . . . , b
n+1
) (5.5)
x / 0, e
F ur N >

1
2
n folgt, da x
n+1
= 0 ist. Setze
x := (x
1
, . . . , x
n
) (5.6)
Deniere:
y :=
1
s
n

i=1
x
i
a
i
(5.7)
Dann gilt
[y[ n

1
2
n, (5.8)
46 KAPITEL 5. L

OSEN VON SUBSETSUM-PROBLEMEN DURCH GITTERREDUKTION


da aus der Cauchy-Schwarz-Ungleichung und a N
n
[y[ =
['x, a`[
s

|x| |a|
s

|x| |a|
1
s

|x|
s

n

i=1
a
i
folgt und wir wegen t =

n
i=1
a
i
sowie (5.4),(5.5) und x
n+1
= 0 erhalten:
[y[
t |x|
s
n

1
2
n
Es bezeichne im weiteren
P(n) := Ws[ Es existiert ein x mit (5.5)]
die Wahrscheinlichkeit bez uglich zufalliger, gleichverteilter und unabhangiger (a
1
, . . . , a
n
) aus
[1, A]
n
. Zu zeigen: F ur Dichte d < 0, 6463 gilt lim
n
P(n) = 0. Es ist:
P(n) = Ws

x L
LO
, y Z, so da:
| x| | e|, [y[ n

1
2
n, x / 0, e,
n

i=1
a
i
x
i
= ys

Faktor 1
. .. .
Ws

i=1
a
i
x
i
= ys, x Z
n
und y Z fest, |x| | e|, [y[ n

1
2
n, x / 0, e

x Z
n
: |x|

1
2
n

. .. .
Faktor 2

y Z : [y[ n

1
2
n

. .. .
Faktor 3
Wir schatzen die drei Faktoren nach oben ab:
1. Seien x Z
n
und y Z beliebig, aber fest mit den angegebenen Eigenschaften. Mit z
i
:=
x
i
ye
i
f ur i = 1, . . . , n gilt wegen

n
i=1
e
i
a
i
= s:
n

i=1
a
i
x
i
= ys
n

i=1
a
i
z
i
= 0
Der Vektor z = (z
1
, . . . , z
n
) ist fest. Es gilt z = 0, da sonst aus x = y e und x / 0, e folgt
[y[ 2 und |x| 2| e| Widerspruch zu |x| | e|.
Sei z
j
= 0 f ur ein festes j. F ur fest gewahlte a
i
mit i = j ist die Gleichung

n
i=1
a
i
z
i
= 0 f ur
hochstens ein a
j
[1, A] erf ullt. Es folgt:
Faktor 1 Ws

i=1
a
i
z
i
= 0


1
A
2. J.C.Lagarias und A.M. Odlyzko [LaOd85] haben gezeigt, da f ur hinreichend groe n gilt:

x Z
n
: |x|

1
2
n

2
c0n
mit c
0
= 1, 54725
3. Es gilt:

y Z : [y[ n

1
2
n

1 + 2

1
2
n

5.3. CJLOSS-GITTERBASIS 47
Damit ergibt sich:
P(n)
2
c0n
A

1 + 2n

1
2
n

Wegen
1
d
> 1, 547269 > c
0
und der unteren Schranke (5.1) auf Seite 44
A max
i=1,...,n
a
i
2
n
d
,
gilt lim
n
P(n) = 0.
5.3 CJLOSS-Gitterbasis
1992 haben M.J. Coster, A. Joux, B.A. LaMacchina, A.M. Odlyzko, C.P. Schnorr und und J. Stern
[CJLOSS92] durch Modikation des Vektors b
n+1
der Lagarias-Odlyzko-Basis die Grenzdichte auf
0, 9408 erhoht. Die CJLOSS-Basis erhalt man aus der Lagarias-Odlyzko-Gitterbasis (5.2), indem
der Zeilenvektor b
n+1
durch b
t
n+1
:= (
1
2
, . . . ,
1
2
, Ns) ersetzt wird:

b
1
b
2
.
.
.
b
n
b
t
n+1

:=

1 0 0 Na
1
0 1 0 Na
2
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 Na
n
1
2
1
2

1
2
Ns

(5.9)
N ist eine hinreichend groe Zahl, im Beweis wahlen wir N >
1
2

n. Sei
L
CJLOSS
:= L(b
1
, . . . , b
n+1
)
Der Losung e des Subsetsum-Problems, die nach Voraussetzung existiert, ist der folgende Losungs-
vektor zugeordnet:
e
t
:=

i=1
e
i
b
i

b
t
n+1
=

e
1

1
2
, e
2

1
2
, . . . , e
n

1
2
, 0

(5.10)
Da e
i
0, 1, gilt | e
t
| =
1
2

n. Im Vergleich zum Losungsvektor e der Lagarias-Odlyzko-Basis


(5.3) ist e
t
= e
i

1
2
. Der Vorteil der CJLOSS-Basis liegt darin, da ihr Losungsvektor bis zu einem
Faktor

2 kleiner als der Losungsvektor e der Lagarias-Odlyzko-Basis ist.
Satz 5.3.1
Sei A > 0 beliebig, aber fest. Die Subsetsum-Aufgabe wird f ur hinreichend groe n f ur fast alle
ganzzahligen Gewichte (a
1
, . . . , a
n
)
R
[1, A]
n
mit Dichte d < 0, 9408 durch zweifache Anwendung
des Gitterorakels auf die CJLOSS-Basis ezient gelost.
Beweis. Wir schatzen die Wahrscheinlichkeit ab, da das Orakel einen k urzesten Gittervektor
x = (x
1
, . . . , x
n+1
) = e
t
liefert. F ur den Vektor x gilt:
| x| | e
t
|
1
2

n
x L
CJLOSS
= L(b
1
, . . . , b
n
, b
t
n+1
) (5.11)
x / 0, e
t

Seien y
1
, . . . , y
n
, y Z die Koezienten der Darstellung von x als Linearkombination der Basis-
vektoren:
x =
n

i=1
y
i
b
i
+yb
t
n+1
48 KAPITEL 5. L

OSEN VON SUBSETSUM-PROBLEMEN DURCH GITTERREDUKTION


Betrachten wir die letzte Komponente: Wegen

n
i=1
y
i
a
i
+ys Z gilt f ur N >
1
2

n, da x
n+1
= 0
ist. Ferner gilt:
x
i
= y
i
+
1
2
y f ur i = 1, . . . , n (5.12)
x
n+1
= N

i=1
a
i
y
i
+ys

(5.13)
Wegen x
n+1
= 0 folgt aus (5.13):
n

i=1
a
i
y
i
= ys (5.14)
Wir erhalten mit t :=

n
i=1
a
i
:
n

i=1
x
i
a
i
=
n

i=1
a
i

y
i
+
1
2
y

(wegen (5.12))
=
n

i=1
y
i
a
i
+
1
2
y
n

i=1
a
i
= ys +
1
2
yt (wegen (5.14))
=
1
2
y (t 2s)
Aus diesem Resultat folgt mit := max
i=1,...,n
a
i
:
[y(t 2s)[ 2
n

i=1
[x
i
a
i
[ (Dreiecksungleichung) (5.15)
2 | x|
1
(wobei ||
1
die 1-Norm ist)
2

n | x|
2
(wobei ||
2
die Euklidische Norm ist)
n (wegen (5.11): | x| | e
t
| =
1
2

n)
Um eine geeignete Schranke f ur [y[ zu erhalten, reduzieren wir die Subsetsum-Aufgabe, so da
dann f ur das Problem gilt
[y[ 2n (5.16)
Falls [t 2s[
1
2
, wird nicht reduziert, da wegen (5.15) bereits [y[
n
]t2s]
2n gilt. Falls
[t 2s[ <
1
2
, dann entferne ein Gewicht a
i
mit a
i
= aus der Aufgabe. Wir konnen zwei
Probleme losen: Eines mit a
i
in der Teilmenge, die sich zu s summiert, und ein anderes mit a
i
in
der Teilmenge, die sich zu t s summiert.
F ur das erste Problem gilt mit s
neu
= s und t
neu
= t :
[t
neu
2s
neu
[ = [t 2s + 2[ >
1
2

F ur das andere Problem gilt mit s


neu
= s und t
neu
= t :
[t
neu
2s
neu
[ = [t 2s 2[ >
1
2

Beide reduzierte Probleme erf ullen die Ungleichung [t 2s[


1
2
. Aus (5.15) folgt, da die For-
derung (5.16), also [y[ 2n, erf ullt ist.
Wir wenden das Orakel, sofern reduziert wurde, auf beide Probleme an. Es bleibt die Wahr-
scheinlichkeit abzuschatzen, da das Orakel einen k urzesten Gittervektor x mit Eigenschaften
(5.11) liefert. Es bezeichne im weiteren
P(n) := Ws[ Es existiert ein x mit (5.11)]
5.3. CJLOSS-GITTERBASIS 49
die Wahrscheinlichkeit bez uglich zufalliger und gleichverteilter (a
1
, . . . , a
n
) aus [1, A]
n
. Zu zeigen:
F ur Dichte d < 0, 94080 gilt lim
n
P(n) = 0. Aus
P(n) = Ws

x L
CJLOSS
, y Z, so da:
| x| | e
t
| , [y[ 2n, x
t
/ 0, e
t
,

n
i=1
a
i
x
i
=
1
2
y(t 2s)

folgt:
P(n)
Faktor 1
. .. .
Ws

i=1
a
i
x
i
=
1
2
y(t 2s), x Z
n
+Z

1
2
, . . . ,
1
2

, y Z fest,
|x| |e| , [y[ n

2n, x / 0, e

x Z
n
+

1
2
, . . . ,
1
2

Z : |x|
1
2

. .. .
Faktor 2
[y Z : [y[ 2n[
. .. .
Faktor 3
Wir schatzen die drei Faktoren nach oben ab:
1. Seien x Z
n
+Z

1
2
, . . . ,
1
2

und y Z beliebig, aber fest mit den angegebenen Eigenschaften.


F ur
z
i
:= x
i
+y

e
i

1
2

= x
i
+ye
t
i
f ur i = 1, . . . , n
gilt:
n

i=1
a
i
x
i
=
1
2
y (t 2s)
n

i=1
a
i
z
i
= 0
Der Vektor z = (z
1
, . . . , z
n
) ist fest. Es gilt z = 0, da sonst aus x = ye
t
und x / 0, e
t

folgt [y[ 2 und |x| 2 [e


t
[ Widerspruch zu |x| |e
t
|.
Sei z
j
= 0 f ur ein festes j. F ur fest gewahlte a
i
mit i = j ist die Gleichung

n
i=1
a
i
z
i
= 0 f ur
hochstens ein a
j
[1, A] erf ullt. Es folgt:
Faktor 1 Ws

i=1
a
i
z
i
= 0


1
A
2. J.C.Lagraias und A.M. Odlyzko [LaOd85] haben die Anzahl der Gitterpunkte von Z
n
in
einer Kugel mit Radius

n um den Ursprung
N(n, ) :=

x Z
n
: |x|
2
n

untersucht. F ur hinreichend groe n zeigen sie, da f ur jedes u > 0 gilt


N(n, ) 2
(log
2
e)(,u)n
mit (, u) = u + ln (e
u
) und der Theta-Funktion (z) = 1 + 2

i=1
z
i
2
. F ur festes
kann man die Minimalstelle u
0
von (, u) numerisch annahern. F ur =
1
4
erhalten wir
u
0
1, 8132. Es folgt:
min
u>0

1
4
, u

1
4
; 1, 8132

0, 7367
Wir konnen daher den zweiten Faktor nach oben abschatzen durch:

x Z
n
+

1
2
, . . . ,
1
2

Z : |x|
1
2

2
c

0
n
mit c
t
0
= 1, 0629
50 KAPITEL 5. L

OSEN VON SUBSETSUM-PROBLEMEN DURCH GITTERREDUKTION


3. Es gilt:
[y Z : [y[ 2n[ 1 + 4n
Damit ergibt sich:
P(n) (4n + 1)
2
c

0
n
A
Wegen
1
d
> 1, 062925 > c
t
0
und A max
i=1,...,n
a
i
2
n
d
gilt: lim
n
P(n) = 0.
Kapitel 6
HKZ- und -reduzierte
Gitterbasen
Im Kapitel 4 haben wir den Reduktionsbegri der LLL-reduzierten Basis b
1
, . . . , b
n
kennenge-
lernt. Zwar arbeitet der Reduktionsalgorithmus ?? in Polynomialzeit, aus der Eigenschaft

LLL-
reduziert haben wir in Satz 4.1.4 nur zeigen konnen, da die Lange des k urzesten Basisvektors
maximal ein in n exponentielles Vielfaches des ersten sukzessiven Minimums ist. Aus diesem
Grund benotigen wir starkere Reduktionsbegrie. In diesem Kapitel lernen wir Begri einer HKZ-
reduzierten Gitterbasis kennen. Die Verallgemeinerung, -reduzierte Gitterbasen, umfat sowohl
LLL- als auch HKZ-reduzierte Basen.
6.1 HKZ-reduzierte Gitterbasen
Zu einer Basis b
1
, . . . , b
n
des Gitters L sind die die projizierten Gitter L
i
, i = 1, . . . , n, erklart
durch:
L
i
=
i
(L) := L(
i
(b
i
),
i
(b
i+1
), . . . ,
i
(b
n
))
C. Hermite [Hermite1850] sowie unabhangig A. Korkine und G. Zolotare [KoZo1873, KoZo1877]
haben die folgende Denition einer reduzierten Basis in der Sprache quadratischer Formen formu-
liert:
Def inition 6.1.1 (HKZ-reduzierte Basis)
Eine geordnete Basis b
1
, . . . , b
n
R
m
ist nach Hermite und Korkine-Zolotare reduziert (eine
HKZ-reduzierte Basis), wenn:
a) [
i,j
[
1
2
f ur 1 j < i n
b) |

b
i
| =
1
(L
i
) f ur i = 1, . . . , n
Insbesondere ist |b
1
| =
1
(L), d.h. der Vektor b
1
ist ein k urzester, nichttriviale Gittervektor. F ur
eine HKZ-reduzierte Basis b
1
, . . . , b
n
ist auch f ur 1 j n

j
(b
j
),
j
(b
j+1
), . . . ,
j
(b
n
)
eine HKZ-reduzierte Basis. Wie gut approximieren der Basisvektoren die k urzesten, nicht-trivialen
Gittervektoren?
51
52 KAPITEL 6. HKZ- UND -REDUZIERTE GITTERBASEN
Satz 6.1.2
F ur jede b
1
, . . . , b
n
HKZ-reduzierte Basis von L gilt f ur i = 1, . . . , n:
4
i + 3

|b
i
|
2

i
(L)
2

i + 3
4
Zum Vergleich: F ur eine LLL-reduzierte Basis b
1
, . . . , b
n
gilt nach Satz 4.1.4 auf Seite 32 mit
=
1

1
4
:

1i

b
i
|
2

i
(L)
2

|b
i
|
2

i
(L)
2

n1
Beweis (zu Satz 6.1.2). Wir zeigen zunachst die obere Schranke
bi
2
i(L)
2

i+3
4
. F ur das Gitter
L
i
=
i
(L) gilt:
|

b
i
| =
1
(L
i
)
i
(L) (6.1)
Die Gleichheit folgt aus der HKZ-Eigenschaft. Die Abschatzung gilt, denn es gibt i linear un-
abhangige Gittervektoren a
1
, . . . , a
i
L mit
|a
1
| |a
2
| |a
i
|
i
(L),
und es existiert ein j mit j i und
i
(a
j
) = 0, also
i
(a
j
) L
i
` 0. Wir erhalten aus den
Eigenschaften einer HKZ-reduzierten Basis und (6.1):
|b
i
|
2
= |

b
i
|
2
+
i1

j=1
(
i,j
)
2
|

b
j
|
2

i
(L)
2
+
1
4
i1

j=1

j
(L)
2
(wegen (6.1) und Basis langenreduziert)

i+3
4

i
(L)
2
Wir zeigen die untere Schranke
4
i+1

bi
2
i(L)
2
. Aus der Denition einer HKZ-reduzierten Basis
erhalten wir f ur j i:
|

b
j
|
2
=
1
(L
j
)
2
|
j
(b
i
)|
2
|b
i
|
2
Es gilt:
|b
j
|
2
= |

b
j
|
2
+
j1

t=1
(
j,t
)
2
|

b
t
|
2

j+3
4
|b
i
|
2
Wir erhalten die Behauptung:

i
(L)
2
max
j=1,...,i
|b
j
|
2
max
j=1,...,i

j + 3
4
|b
i
|
2


i + 3
4
|b
i
|
2

Weitere Satze uber HKZ-reduzierte Gitterbasen nden sich in der Originalarbeit [LLS90] von
J.C. Lagarias, H.W. Lenstra und C.P. Schnorr.
6.2. -REDUZIERTE GITTERBASEN 53
6.2 -reduzierte Gitterbasen
C.P. Schnorr [Schnorr87, Schnorr94a] hat die Begrie der HKZ- und der LLL-reduzierten Ba-
sen zu -reduzierten Basen verallgemeinert. Wahrend alle bekannten Reduktionsalgorithmen zu
HKZ-Basen expontielle Laufzeit haben, gibt es f ur kleine Blockgroen praktikable Reduktionsal-
gorithmen mit Laufzeiten wie bei der schwacheren LLL-Reduktion. Allerdings ist oen, ob diese
Algorithmen polynomielle Laufzeit haben.
Def inition 6.2.1 (-reduzierte Basis)
Sei b
1
, . . . , b
n
R
m
eine geordnete Basis und 2, 3, . . . , n gegeben. Die geordnete Basis
b
1
, . . . , b
n
R
m
heit -reduziert (blockreduziert mit Blockgroe ), wenn:
a) [
i,j
[
1
2
f ur 1 j < i n
b)
i
(b
i
),
i
(b
i+1
), . . . ,
i
(b
i+1
) ist HKZ-reduzierte Basis f ur i = 1, . . . , n + 1.
Jede ( + 1)-reduzierte Basis ist auch -reduziert und eine n-reduzierte Basis b
1
, . . . , b
n
ist eine
HKZ-reduzierte Basis. Die zweite Eigenschaft bedeutet:
|

b
i
|
1

L(b
1
, . . . , b
min(i+1,n)
)

Wir werden in Dention 6.4.1 im Abschnitt 6.4 den Begri der -reduzierten Basis zur (, )-
reduzierten Basis verallgemeinern. Die LLL-Reduktion ist ein Spezialfall der Blockreduktion mit
= 2:
Satz 6.2.2
Die 2-reduzierten Basen entsprechen genau den LLL-reduzierten Basen mit = 1.
Beweis. Sei b
1
, . . . , b
n
eine 2-reduzierte Basis. Dann gilt f ur i = 1, . . . , n 1:

L(
i
(b
i
),
i
(b
i+1
)

2
= |

b
i
|
2
|
i
(b
i+1
)|
2
= |

b
i+1
|
2
+
2
i+1,i
|

b
i
|
2
Mit = 1 ist dies das zweite Kriterium von LLL-reduziert:
|

b
i
|
2
|

b
i+1
|
2
+
2
i+1,i
|

b
i
|
2
f ur i = 1, . . . , n 1
Weil jede -reduzierte Basis langenreduziert ist, erf ullt b
1
, . . . , b
n
die LLL-Eigenschaften.
Umgekehrt zeigen wir, jede mit = 1 LLL-reduzierte Basis b
1
, . . . , b
n
ist auch 2-reduziert, also
jeder Vektor in L(
i
(b
i
),
i
(b
i+1
)) ungleich dem Nullvektor ist nicht k urzer als
i
(b
i
) =

b
i
. Wegen
|u
i
(b
i
) +v
i
(b
i+1
)|
2
= (u +v
i+1,i
)
2
|

b
i
|
2
+v
2
|

b
i+1
|
2
ist zu zeigen, da f ur alle (u, v) Z
2
` (0, 0) gilt:
(u +v
i+1,i
)
2
|

b
i
|
2
+v
2
|

b
i+1
|
2
|

b
i
|
2
(6.2)
Die Ungleichung (6.2) gilt f ur v = 0, da dann der Koezient u Z ungleich Null ist. Da die Basis
mit Parameter = 1 LLL-reduziert ist, gilt nach dem zweiten LLL-Kriterium

....
=1
|

b
i
|
2
|

b
i+1
|
2
+
2
i+1,i
|

b
i
|
2
(6.3)
und wir erhalten unmittelbar Ungleichung (6.2) den Fall v = 1. Da die Basis langenreduziert ist,
gilt
2
i+1,i

1
4
und nach (6.3) folgt
3
4
|

b
i
|
2
|

b
i+1
|
2
. F ur den Fall [v[ 2 erhalten wir aus
(u +v
i+1,i
)
2
|

b
i
|
2
+v
2
|

b
i+1
|
2
v
2
|

b
i+1
|
2
4 |

b
i+1
|
2
3 |

b
i
|
2
die Ungleichung (6.2).
54 KAPITEL 6. HKZ- UND -REDUZIERTE GITTERBASEN
Wir untersuchen die Eigenschaften -reduzierter Basen. Wir geben zwei Satze uber -reduzierte
Basen an, die wir spater in diesem Abschnitt beweisen werden:
Satz 6.2.3
F ur jede -reduzierte Basis b
1
, . . . , b
n
des Gitters L gilt:
a)
|

b
i
|
2

i
(L)
2
(

)
2
ni
1
f ur i = 1, . . . , n
b)
|b
i
|
2

i
(L)
2
(

)
2
ni
1

i + 3
4
f ur i = 1, . . . , n
Dabei ist

die Hermite-Konstante der Dimension .


Wir betrachten eine untere Schranke f ur
bi
2
i(L)
2
, also eine obere Schranke f ur
i(L)
2
bi
2
.
Satz 6.2.4
F ur jede -reduzierte Basis b
1
, . . . , b
n
des Gitters L gilt:

i
(L)
2
|b
i
|
2
(

)
2
i1
1

i + 3
4
f ur i = 1, . . . , n.
F ur i konnen wir die Schranken der Satze 6.2.3 und 6.2.4 durch die starkeren Schranken
aus 6.1.2 ersetzen, da die -reduzierten Basen f ur i HKZ-reduzierte Basen sind. Die Werte
(

)
2
1
aus den Satzen 6.2.3 und 6.2.4 sind bekannt f ur = 2, 3, . . . , 8:
2 3 4 5 6 7 8
(

)
2
1
4
3
2
1/3
2
1/3
2
3/10
2
2/5
3
1/15
2
2/7
2
2/7
1, 333 1, 260 1, 260 1, 231 1, 226 1, 219 1, 219
Es ist ein oenes Problem, minimale Konstanten C
,n
zu nden, so da
|b
1
|
2

1
(L)
2
C
,n
f ur alle -reduzierten Basen b
1
, . . . , b
n
vom Rang n gilt. Die Schranke aus Satz 6.2.3 ist f ur n 3
nicht scharf. Bisher wei man:
C
2,n
=

4
3

n1
aus [BaKa84]
C
3,n
=

3
2

n3
f ur ungerade n 3 aus [Schnorr94a]
Es gilt:
Lemma 6.2.5
F ur jede -reduzierte Basis b
1
, . . . , b
n
R
m
gilt
|b
1
| (

)
n1
1
M
mit M := max

b
n+2
|, |

b
n+3
|, . . . , |

b
n
|

.
6.2. -REDUZIERTE GITTERBASEN 55
Beweis. Wir erweitern die Basis b
1
, . . . , b
n
durch 2 linear unabhangige Vektoren zu
b
+3
, b
+4
, . . . , b
1
, b
0
, b
1
, . . . , b
n
(6.4)
so, da gilt:
|b
i
| = |b
1
| f ur i 0 (6.5)
'b
i
, b
j
` = 0 f ur i 0, i j und j = + 3, + 4, . . . , n (6.6)
Dazu betten wir die Basis in den R
m+2
ein: Wir wahlen zum Beispiel b
+3
, b
+4
, . . . , b
1
, b
0
als |b
1
|-Vielfaches der kanonischen Einheitsvektoren in die zusatzlichen 2 Richtungen. Die
Gitterbasis (6.4) ist -reduziert und besteht aus mindestens 2( 1) Vektoren F ur jedes i mit
+ 3 i n + 1 bilden die Vektoren

i
(b
i
),
i
(b
i+1
), . . . ,
i
(b
i+1
)
eine -reduzierte und damit eine HKZ-reduzierte Basis des Gitters L

b
i
,

b
i+1
, . . . ,

b
i+1

(Be-
achte Eigenschaft (6.6)), so da gilt:
|

b
i
|
2

1

b
i
,

b
i+1
, . . . ,

b
i+1

2
Aus der Denition der Hermite-Konstanten

= sup


1
(L)
2
(det L)
2/

Rang(L) =

folgt f ur i = + 3, + 4, . . . , n + 1:
|

b
i
|

2
1

s=0
|

b
i+s
|
Durch Multiplikation der n 1 Ungleichungen erhalten wir:
n+1

i=+3
|

b
i
|

)
(n1)
2
|

b
+3
|
1
|

b
+4
|
2
. . . |

b
1
|
1
|

b
2
|

b
3
|

. . . |

b
n+1
|

b
n+2
|
1
. . . |

b
n1
|
2
|

b
n
|
1
Dies impliziert:
|

b
+3
|
1
. . . |

b
0
|
2
|

b
1
|
1
(

)
(n1)
2
|

b
n+2
|
1
|

b
n+2
|
1
. . . |

b
n1
|
2
|

b
n
|
1
(6.7)
Wegen Eigenschaft (6.5) ist |

b
i
| = |b
1
| f ur i 0, so da aus Abschatzung (6.7) folgt
|b
1
|
(

2
)
(

)
(n1)
2
M
(

2
)
mit M := max

b
n+2
|, |

b
n+3
|, . . . , |

b
n
|

. Wir erhalten die Behauptung:


|b
1
| (

)
n1
1
M

56 KAPITEL 6. HKZ- UND -REDUZIERTE GITTERBASEN


Wie gut approximiert der erste Vektor einer -reduzierten Basis einen k urzesten, nicht-trivialen
Vektor?
Korollar 6.2.6
F ur jede -reduzierte Basis b
1
, . . . , b
n
des Gitters L gilt:
|b
1
| (

)
n1
1

1
(L)
Beweis. Induktion uber n:
F ur n = ist b
1
, . . . , b
n
eine HKZ-reduzierte Basis und es gilt |b
1
| =
1
(L). Weil f ur die
Hermite-Konstante
n
1 gilt, erhalten wir die Behauptung.
Sei n > und v einer der k urzesten Gittervektoren ungleich dem Nullvektor. O.B.d.A. sei
v / L(b
1
, b
2
, . . . , b
n1
), denn sonst betrachte die Basis b
1
, . . . , b
n1
und die Behauptung folgt
aus der Induktionsannahme. Wegen v / L(b
1
, . . . , b
n1
). gilt
i
(v) = 0 f ur i = n +1, n
+ 2, . . . , n 1. Wir erhalten mit L
i
=
i
(L) f ur i = n + 1, n + 2, . . . , n:

1
(L) = |v|
1
(L
i
) = |

b
i
|
Die Gleichheit
1
(L
i
) = |

b
i
| gilt, da
n+1
(b
i
), i = n + 1, n + 2, . . . , n eine HKZ-
reduzierte Basis ist. Wegen

1
(L) max

b
i
| : i = n + 1, n + 2, . . . , n

max

b
i
| : i = n + 2, n + 3, . . . , n

= M
folgt die Behauptung unmittelbar aus Lemma 6.2.5:
|b
1
| (

)
n1
1
M (

)
n1
1

1
(L)

Beweis (zu Satz 6.2.3). Korollar 6.2.6 liefert f ur die Gitter L


i
=
i
(L) mit i = 1, . . . , n:
|

b
i
| (

)
ni
1

1
(L
i
) (6.8)
Ferner ist
1
(L
i
)
i
(L), denn es gibt i linear unabhangige Gittervektoren v, deren Lange
hochstens
i
(L) ist und von denen ein Vektor
i
(v) = 0 erf ullt. Also:

1
(L
i
)
i
(v)
i
(L)
Wir erhalten die erste Behauptung, da f ur i = 1, . . . , n gilt:
|

b
i
|
2

i
(L)
2
(

)
2
ni
1
Aus (6.8),
2
i,j

1
4
(die Basis ist langenreduziert) und
1

2

j
folgt:
|b
i
|
2
= |

b
i
|
2
+
i1

j=1
(
i,j
)
2
|

b
j
|
2
(

)
2
ni
1

i
(L)
2
+
1
4
i1

j=1
(

)
2
nj
1

j
(L)
2
(

)
2
n
1

)
2
i
1
+
1
4
i1

j=1
(

)
2
j
1


i
(L)
2
6.3. KRITISCHE -REDUZIERTE BASEN F

UR = 2, 3 57
Wir schatzen die Summanden durch (

)
2
1
1
nach oben ab und erhalten:
|b
i
|
2
(

)
2
n
1
(

)
2
1
1

1 +
i 1
4


i
(L)
2
(

)
2
n1
1

i + 3
4

i
(L)
2
Damit haben wir die zweite Behauptung auch gezeigt.
Beweis (zu Satz 6.2.4). Nach Denition der sukzessiven Minima gilt:

2
i
max
j=1,...,i
|b
j
|
2
Aus
|b
i
|
2
= |

b
i
|
2
+
i1

j=1
(
i,j
)
2
|

b
j
|
2
und
2
i,j

1
4
folgt:
|b
i
|
2

1 + (i 1)
1
4

max
j=1,...,i
|

b
j
|
2
Wir erhalten:

2
i

i+3
4
max
j=1,...,i
|

b
j
|
2
(6.9)
Lemma 6.2.5 angewandt auf die -reduzierte Basis
j
(b
j
),
j
(b
j+1
), . . . ,
j
(b
i
) liefert f ur 1 j
i + 1:
|

b
j
| (

)
ij
1
max

b
i+2
|, |

b
i+3
|, . . . , |

b
i
|

(6.10)
Andererseits gilt f ur i + 2 j i:
|

b
j
| |
j
(b
j
)| |b
i
| (6.11)
Aus (6.10) und (6.11) erhalten wir f ur 1 j i:
|

b
j
| (

)
ij
1
|b
i
|
Diese Ungleichung liefert mit (6.9) die Behauptung, da f ur i = 1, . . . , n gilt:

i
(L)
2
|b
i
|
2
(

)
2
i1
1

i + 3
4

6.3 Kritische -reduzierte Basen f ur = 2, 3


In diesem Abschnitt konstruieren wir f ur = 2, 3 kritische -reduzierte Basen.
Def inition 6.3.1 (kritische -reduzierte Basis)
Eine -reduzierte Basis b
1
, . . . , b
n
des Gitters L heit kritisch f ur n und , falls
b1
1(L)
maximal
f ur alle -reduzierten Basen vom Rang n ist.
58 KAPITEL 6. HKZ- UND -REDUZIERTE GITTERBASEN
F ur = 2 konstruieren wir die Basismatrix A
n
:= [b
1
, . . . , b
n
] M
n,n
(R) wie folgt. Sei :=

3
4
:
A
n
:=

1
1
2
0 0
0
1
2

.
.
. 0
.
.
.
.
.
. 0
2 1
2

2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 0
.
.
.
.
.
.
n2 1
2

n2
0 0
n1

(6.12)
Es gilt
A
2
:=

1
1
2
0

3
4

und f ur n 2 die Rekursion:


A
n
:=

1
1
2
0 0
0
.
.
. A
n1
0

Satz 6.3.2
Seien b
1
, . . . , b
n
die Spaltenvektoren der Matrix A
n
aus (6.12). F ur =

3
4
und das Gitter
L = L(b
1
, . . . , b
n
) gilt:
a) b
1
, . . . , b
n
ist eine kritische, 2-reduzierte Basis.
b)
|b
1
|

1
(L)
=
1

n2
=
n+2
c)
1
(L) =
2(n+2)

1
4
+
2

=
2(n+2)
Beweis. Siehe [Schnorr94a, Theorem 9].
F ur = 3 denieren wir die Basismatrix B
n
:= [b
1
, . . . , b
n
] M
n,n
(R) wie folgt (zur Konstruktion
siehe [Schnorr94a]):
B
4
:=

1
1
2
1
2
0
0

3
2
1
2

3
1
2

3
0 0

2
3
1
2

2
3
0 0 0
1

(6.13)
6.4. PRAKTISCHES VERFAHREN ZUR -REDUKTION 59
Die Matrizen B
2
, B
3
seien die 2 2- bzw. 3 3-Matrizen in der linken, oberen Ecke von B
4
. F ur
n 4 denieren wir die Basismatrix B
n
rekursiv:
B
n
:=

1
1
2
1
2
0 0 0
0

3
2
1
2

3
1
2

3
0 0
0 0
.
.
.
.
.
.

2
3
B
n2
0 0

(6.14)
Es gilt:
Satz 6.3.3
Seien b
1
, . . . , b
2k+1
die Spaltenvektoren der Basismatrix B
2k+1
aus (6.14) bzw. (6.13). Dann ist
b
1
, . . . , b
2k+1
f ur k = 1, 2, . . . eine kritische, 3-reduzierte Basis.
Beweis. Siehe [Schnorr94a, Theorem 14].
6.4 Praktisches Verfahren zur -Reduktion
Wir modizieren die Bedingung f ur -reduziert durch Einf uhrung eines Parameters f ur die Praxis
(siehe [SchnEu91, Ritter97]):
Def inition 6.4.1 ((, )-reduzierte Basis)
Sei b
1
, . . . , b
n
R
m
eine geordnete Basis, 2, 3, . . . , n und mit
1
4
< < 1 gegeben. Die
geordnete Basis b
1
, . . . , b
n
R
m
heit (, )-reduziert, wenn:
a) [
i,j
[
1
2
f ur 1 j < i n
b) |

b
j
|
2

1
(
j
(L(b
j
, b
j+1
, . . . , b
k
))
2
f ur j = 1, . . . , n
Der Algorithmus 6.4.1 aus [SchnEu91] transformiert eine gegebene Basis in eine -reduzierte
Basis des gleichen Gitters. Das Unterprogramm L
3
FP zur LLL-Reduktion f ur Gleitkommazahlen
haben wir auf Seite ?? angegeben. Das Unterprogramm ENUM (Algorithmus 8.1.1) bzw. GAUSS-
ENUM (zur geschnittenen Aufzahlung) stellen wir im nachsten Kapitel vor.
Die Variable j wird zyklisch durch die Zahlen 1, . . . , n 1 geschoben. Die Variable z zahlt die
Zahl der Positionen j, welche die Ungleichung
|

b
j
|
2

1

L(b
j
, b
j+1
, . . . , b
k
)

2
(6.15)
erf ullen. Falls diese Ungleichung nicht f ur j gilt, f ugen wir den Vektor b
neu
j
in die Basis ein, rufen
den LLL-Algorithmus auf und setzen z = 0. Den Fall j = n uberspringen wir, da (6.15) dann
trivialerweise gilt.
Oenbar ist eine Basis b
1
, . . . , b
n
(, )-reduziert, falls sie langenreduziert ist und z = n
1 gilt. Da vor Terminierung der LLL-Algorithmus aufgerufen wird, ist die ausgegebene Basis
langenreduziert. Einen Beweis, da der Algorithmus in polynomieller Zeit arbeitet, gibt es bisher
nicht. In der Praxis [SchnEu91, LARIFARI] hat sich der Algorithmus jedoch bewahrt.
60 KAPITEL 6. HKZ- UND -REDUZIERTE GITTERBASEN
Algorithmus 6.4.1 Block-Korkine-Zolotare-Reduktion (kurz BKZ)
EINGABE: Gitterbasis b
1
, . . . , b
n
Z
n
,

1
2
; 1

3, 4, . . . , n 1
1. L
3
FP(b
1
, . . . , b
n
, ), z := 0, j := 0
2. WHILE (z < n 1) DO
2.1. j := j + 1
k := min(j + 1, n)
IF j = n THEN j := 1, k :=
/ bj, bj+1, . . . , b
k
ist LLL-reduziert mit /
2.2. ENUM(j, k)
/ Finde Minimalstelle (uj, uj+1, . . . , u
k
) Z
kj+1
\ {0} zu:
cj(uj, uj+1, . . . , u
k
) :=
k

s=j
k

s=i
(uii,s)
2
cs =

i=j
uibi

2
und b
neu
j
:=
k

s=j
usbs. Sei cj der Minimalwert. /
2.3. h := min(k + 1, n)
2.4. IF c
j
> c
j
THEN
2.4.1. Erganze b
1
, . . . , b
j1
, b
neu
j
zur Basis von L(b
1
, . . . , b
h
)
2.4.2. L
3
FP

b
1
, . . . , b
j1
, b
neu
j
, b
neu
j+1
, . . . , b
neu
h
,

/ Stufe j mit F :=true /


2.4.3. z := 0
ELSE
2.4.1. z := z + 1
2.4.2. L
3
FP(b
1
, . . . , b
h
, ) / auf Stufe h 1 /
END if
END while
AUSGABE: (, )-reduzierte Basis b
1
, . . . , b
n
Kapitel 7
^{-vollst

andige Gitterprobleme
7.1 ^{-Vollstandigkeit von Rucksack.
Sei endl. Alphabet, o.B.d.A. = 0, 1. Es bezeichne { die Klasse der polynomial-Zeit ent-
scheidbaren Sprachen L

, d.h.
L { gdw Turing Maschine M, welche x
L
(x) in [x[
O(1)
Turingschrit-
ten berechnet. D.h. c > 0, so dass die Schrittzahl der Berechnung
x
L
(x) hochstens c[x[
c
ist. Dabei ist [x[ die Lange von x

.
Die Klasse ^{ der nichtdeterministischen polynomial-Zeit Sprachen:
L ^{ gdw c > 0 : R

polynomial-Zeit entscheidbar so dass


L = x

[ y : [y[ [x[
c
, (x, y) R (y ist Zeuge f ur x L).
Oenbar gilt { ^{.
Karp-Reduktion. Sei A, B

. A ist Karp-reduzierbar auf B, Bez.: A


pol
B, wenn
polynomial Zeit berechenbares f :

, so dass x A f(x) B f ur alle x

.
Fakt A
pol
B, B { A {
A
pol
B
pol
C A
pol
C.
Def inition 7.1.1
L ^{ ist ^{-vollstandig, wenn A
pol
L f ur alle A ^{.
Fakt Sei A
pol
B und A L-vollstandig, dann ist B ^{-vollstandig.
Satz 7.1.2 (Cook, Levin 1973)
F ur jedes ^{-vollstandige L gilt L { gdw { = ^{.
Cooksche Hypothese. { = ^{.
Begr undung: Schwierige ^{-Probleme sind seit Jahrhunderten bekannt, z.B. Entscheide zu
gegebenen n, s N : Primzahl p s mit p teilt n.
Satz 7.1.3 (Cook, Karp 1973)
Rucksack :=

(a
1
, . . . , a
n
, b) N
n+1

x
1
, . . . , x
n
0, 1 :

n
i=1
a
i
x
i
= b, n N

ist ^{-vollstandig.
61
62 KAPITEL 7. ^{-VOLLST

ANDIGE GITTERPROBLEME
Cook zeigte : SAT ist ^{-vollstandig, Karp zeigte: SAT
pol
Rucksack.
7.2 ^{-Vollstandigkeit von SVP

, CVP

, CVP

2
.
Siehe Micciancio, Goldwasser, Complexity of Lattice Problems, KAP 2002 [MG02], Kapitel 3, 4.
Wir formulieren SVP

, CVP

als Sprachen
CVP

= (B, y, t) Z
mn+m+1
[ x Z
n
: |Bx y| t
SVP

= (B, t) Z
mn+1
[ x Z
n
`0 : |Bx| t.
Satz 7.2.1
SVP

, CVP

sind ^{-vollstandig.
Beweis. I. Rucksack
pol
SVP

. Reduziere gema f : (a
1
, . . . , a
n
, b) (B, 1) mit
B = [b
1
, . . . , b
n+1
] =

2 1
.
.
. O
.
.
.
O 2 1
2a
1
2a
n
2b
0 0 1

Z
(n+2)(n+1)
.
Beh.: (a
1
, . . . , a
n
, b) Rucksack
1,
(L(B)) = 1.
Bew.: (trivial) Sei (x
1
, . . . , x
n
) 0, 1
n
Rucksacklosung,
n
i=1
a
i
x
i
= b. Dann gilt f ur
x := (x
1
, . . . , x
n
, 1)
t
, dass
Bx =
n
i=1
b
i
x
i
b
n+1
, |Bx|

= 1 ,
denn [2x
i
1[ = 1 f ur x
i
0, 1 und 2(
n
i=1
a
i
x
i
b) = 0.
Ang. |
n+1
i=1
x
i
b
i
|

= 1. Wir zeigen 1. x
1
, . . . , x
n
0, 1, 2.
n
i=1
a
i
x
i
= b.
1. Oenbar gilt [2x
i
1[ 1 f ur i = 1, . . . , n. Aus 2x
i
1 = 0 folgt der Widerspruch x
i
=
1
2
.
Somit gilt 2x
i
1 = 1 und x
i
1, 0 f ur i = 1, . . . , n. Oenbar sichert die letzte Zeile von B,
dass [x
n+1
[ = 1.
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
sign(x
n+1
) dass x
n+1
= 1. Aus 2 [

n
i=1
a
i
x
i
b[ 1 folgt

n
i=1
a
i
x
i
= b.
II. Rucksack
pol
CVP

: Reduziere gema f : (a
1
, . . . , a
n
, b) (B
t
, y, 1) mit
[B
t
, y] =

2 1
.
.
. O
.
.
.
O 2 1
2a
1
2a
n
2b

Z
(n+1)
2
.
Wir zeigen: (a
1
, ..., a
n
, b) Rucksack (B
t
, y, 1) CVP.
trivial. Aus |B
t
x y|

= 1 folgt (a
1
, . . . , a
n
, b) Rucksack nach Teil I des Beweises.

Satz 7.2.1 wurde von van Emde Boas [EmBoas 81] bewiesen. Er ist wichtig f ur den Fall,
dass man Quantencomputer bauen kann. F ur Quantencomputer sind Faktorisieren ganzer Zahlen,
Brechen von RSA, Diskreter Logarithmus in pol.-Zeit. Aber { = ^{, d.h. {
Qu
= ^{
Qu
gilt
wohl weiter.
7.2. ^{-VOLLST

ANDIGKEIT VON SVP

, CVP

, CVP
2
. 63
Satz 7.2.2
CVP
2
ist ^{-vollstandig.
Beweis. Wir zeigen Rucksack
pol
CVP
2
und reduzieren gema f : (a
1
, . . . , a
n
, b) (B
t
, y,

n)
mit
[B
t
, y] =

2 1
.
.
. O
.
.
.
O 2 1
2a
1
2a
n
2b

Z
(n+1)
2
.
Zu zeigen: (a
1
, . . . , a
n
, b) Rucksack (B, y,

n) CVP
2
.
Sei (a
1
, . . . , a
n
, b) Rucksack und
n
i=1
a
i
x
i
= b, x
i
0, 1 Rucksacklosung. Es folgt
|

n
i=1
b
i
x
i
b
n+1
|
2
= |(1, . . . , 1, 0)| =

n.
Ang. |
n
i=1
b
i
x
i
y|
2


n f ur x
1
, . . . , x
n
Z. Es folgt |
n
i=1
b
i
x
i
y|
2
=

n und
x
i
0, 1, somit
n
i=1
a
i
x
i
= b.
Vergleich CVP, SVP f ur die
2
-Norm. SVP ist nicht schwieriger als CVP, es gilt
SVP
pol,multi
CVP, d.h. SVP
Cook
CVP, siehe [MG02, Sektion 4]. Wir vereinfachen SVP und
CVP zu GAP-SVP

und GAP-SVP

mit 1.
GAP-SVP

-Problem. Gesucht ist ein deterministischer Algorithmus, der alle Ja-Instanzen ak-
zeptiert und alle Nein-Instanzen ablehnt und beliebig reagiert, falls die Eingabe weder Ja- noch
Nein-Instanz ist.
Ja-Instanzen sind Paare (B, t) Z
mn+1
, so dass x Z
n
`0 : |Bx| t.
Nein-Instanzen sind Paare (B, t) Z
mn+1
, so dass x Z
n
`0 : |Bx| t.
GAP-CVP

-Problem. Gesucht ist ein deterministischer Algorithmus, der alle Ja-Instanzen ak-
zeptiert und alle Nein-Instanzen ablehnt und beliebig reagiert, falls die Eingabe weder Ja- noch
Nein-Instanz ist.
Ja-Instanzen sind Tripel (B, y, t) Z
mn+m+1
mit x Z
n
: |Bx y| t.
Nein-Instanzen sind Tripel (B, y, t) Z
mn+m+1
mit x Z
n
: |Bx y| t.
Satz 7.2.3
GAP-CVP

1+4/n
ist ^{-hart.
Beweis. Wir zeigen Rucksack
pol
GAP-CVP

1+4/n
, es folgt ^{
pol
GAP-CVP

1+4/n
. Wir
reduzieren gema f : (a
1
, . . . , a
n
, b) (B
t
, y,

n) mit
[B[y] :=

2 1
.
.
. O
.
.
.
O 2 1
2a
1
2a
n
2b

Z
(n+1)
2
.
Korrektheit der Reduktion.
(a
1
, . . . , a
n
, b) Rucksack (B
t
, y,

n) Ja-Instanz, d.h. x Z
n
: |B
t
xy|

n.
(a
1
, . . . , a
n
, b) Rucksack (B
t
, y,

n) Nein-Instanz.
Wir zeigen: x Z
n
: |B
t
x y|

n + 4. Im Fall (a
1
, . . . , a
n
, b) Rucksack gilt f ur x Z
n
entweder i : x
i
0, 1, somit [2x 1[ 3, [2x
i
1[
2
9 = 1 + 8, oder

n
i=1
a
i
x
i
= b, somit
4(
n
i=1
a
i
x
i
b)
2
4. Wegen [2x
i
1[ 1 f ur x
i
Z ist (B
t
, y,

n) Nein-Instanz.
64 KAPITEL 7. ^{-VOLLST

ANDIGE GITTERPROBLEME
Dieser Beweis zeigt, dass GAP-CVP

1+8/n
^{-hart ist. Hierzu multipliziere man die (n+1)-te
Zeile von [B
t
, y] mit

2.
Satz 7.2.4 (MG02, Cor. 3.9, 3.11)
GAP-CVP

ist ^{-hart f ur = c log n und = (log n)


c
f ur alle c > 0.
Satz 7.2.5 (Ajtai 1998, Micciancio 2001, MG02, Sektion 4)
GAP-SVP

ist f ur <

2 ^{-hart bzgl. probabilistischen Karp-Reduktionen.


Probabilistische Karp-Reduktionen werden erklart wie
pol
, aber die pol. Zeit Transformation
f = f(x, w) benutzt einen M unzwurf w. Der Satz von Ajtai-Micciancio zeigt
Rucksack, ^{
pol,prob.
SVP
2
.
Die Reduktion Rucksack
pol
SVP konnte bisher nur f ur probabilistische Karp-Reduktionen
gezeigt werden. Man reduziert Rucksack auf das CVP-Problem eines Gitters L(b
1
, ..., b
n+1
) und
benotigt f ur die Korrektheit, dass
1
(L(b
1
, ..., b
n
)) >

n. Diese Bedingung kann man nur pro-
babilistisch sichern. Wir geben die Reduktion ohne diese nicht triviale Bedingung zu sichern. Wir
reduzieren Rucksack auf SVP durch die Reduktion
f : (a
1
, . . . , a
n
, b) (B,

n) mit
B = [b
1
, . . . , b
n+1
] =

2 1
.
.
. O
.
.
.
O 2 1

na
1


na
n

nb

R
(n+1)
2
Satz 7.2.6
Rucksack
pol
SVP falls f ur (a
1
, ..., a
n
, b) Rucksack und ([b
1
, ..., b
n+1
],

n) := f(a
1
, ..., a
n
, b)
gilt dass
1
(L(b
1
, ..., b
n
)) >

n und keine ganzzahligen Losungen von

n
i=1
a
i
x
i
= x
n+1
b mit
[x
n+1
[ 2 existieren.
Beweis. (a
1
, . . . , a
n
, b) Rucksack impliziert (B,

n) SVP, denn f ur jede Rucksack-Losung

n
i=1
a
i
x
i
= b, x
i
0, 1 gilt [2x
i
1[ = 1 und
|
n
i=1
b
i
x
i
b
n+1
| = |(1, . . . , 1, 0)| =

n.
Umgekehrt sichern die Nebenbedingungen (B,

n) SVP (a
1
, . . . , a
n
, b) Rucksack:
Angenommen |
n
i=1
b
i
x
i
+ b
n+1
x
n+1
|

n. Wegen
1
(L(b
1
, ..., b
n
)) >

n gilt

n
i=1
a
i
x
i
+
x
n+1
b = 0 mit x
n+1
= 0, dabei gilt [x
n+1
[ 1.
Sei O.B.d.A. x
n+1
= 1. Es folgt [2x
i
1[ = 1 f ur i = 1, . . . , n, somit x
i
0, 1. Also
(a
1
, . . . , a
n
, b) Rucksack.
7.3 Zufallige Rucksack-Gitter mit grosser Dichte.
Die Korrektheit der Reduktion f : (a
1
, . . . , a
n
, b) ([b
1
, . . . , b
n+1
],

n) zu Rucksack
pol
SVP wird in Satz 7.2.6 unter Bedingungen gezeigt. Diese werden f ur zufallige Rucksackprobleme
(a
1
, . . . , a
n
, b) der Dichte d 0, 9408 durch Satz 5.3.1 gesichert. Aus Satz 5.3.1 folgt unmittelbar
7.3. ZUF

ALLIGE RUCKSACK-GITTER MIT GROSSER DICHTE. 65


Lemma 7.3.1
Sei f : (a
1
, . . . , a
n
, b) ([b
1
, . . . , b
n+1
],

n) die Reduktion von Satz 7.2.6. F ur fast alle a


1
, . . . , a
n
[0, 2
n/d
] mit Dichte d 0, 9408 liefert der k urzeste Gittervektor in L(b
1
, . . . , b
n+1
)`0 eine
Rucksacklosung zu (a
1
, . . . , a
n
, b) Rucksack, sofern

n
i=1
a
i
2b

max a
i
.
Die Bedingung

n
i=1
a
i
2b

max a
i
wird im Beweis von Satz 5.3.1 durch Reduktion des
Rucksackproblems gesichert. F ur (a
1
, . . . , a
n
, b) Rucksack gilt f ur den k urzesten Gittervektor

n+1
i=1
b
i
x
i
L(b
1
, . . . , b
n+1
) nach (5.15), dass [x
n+1
[ max
i
a
i
[

n
i=1
a
i
2b[
1
n, und somit
[x
n+1
[ n falls [

n
i=1
a
i
2b[ max a
i
. Die Bedingung [x
n+1
[ n wird im Beweis von Satz 5.3.1
benutzt. Zu a
1
, . . . , a
n
Z bezeichne L
a1,...,an
R
n+1
das Gitter mit Basismatrix
[b
1
, . . . , b
n
] =

2
.
.
. O
O 2

na
1


na
n

R
(n+1)n
.
Korollar 7.3.2
F ur fast alle a
1
, . . . , a
n
[0, 2
n/d
] mit d 0, 9408 und n n
0
, gilt dass
1
(L
a1,...,an
) >

n und
(L
a1,...,an
) 2
1,0158 n
, also
1
n
log
2
(L
a1,...,an
) 1, 0158 n.
Beweis. Nach Lemma 7.3.1 gilt f ur fast alle a
1
, . . . , a
n
[0, 2
n/d
], dass
1
(L) >

n f ur L :=
L
a1,...,an
. Denn oenbar gibt es ein b, so dass (a
1
, . . . , a
n
, b) Rucksack und [

n
i=1
a
i
2b[
max
i
a
i
. Damit liefert der k urzeste Gittervektor in L(b
1
, . . . , b
n+1
)`0 nach Lemma 7.3.1 eine
Rucksacklosung. Der Gittervektor zur Rucksacklosung hat Lange

n. Somit mu gelten dass

1
(L) >

n, denn die Vektoren in L konnen keine Rucksacklosung liefern. Es folgt
(L) > n(det L)
2/n
mit det
2
L = 2
2n
(1 +
n
4

n
i=1
a
2
i
) = O(2
2n n
4
2
2n/d
).
Somit gilt f ur n n
0
und d < 0, 9408
(L) > n2
2
(
n
4
)
2/n
2
2/d
> 0, 05727 n.
Es folgt (L) = (L)
n/2
V
n
2
n
> (0, 05727n
e
2n
)
n/2
> 0, 4945
n
> 2
1,0158 n
wegen (0, 05727 e/2)
1/2
> 0, 4945.
Vergleich mit expliziten Konstruktionen dichter Gitter. Die unendlichen Klassenkorpert urme
von Gold, Shafarevitch, Martinet, liefern eine unendliche Folge von Gittern mit
1
n
log
2
2, 218,
siehe [CoSl88, Kap. 8, Sektion 7.4]. Eine praktische Methode zum Aunden solcher Gitter ist
nicht bekannt. Explizite Konstruktionen von Gittern gibt es [CoSl88], so dass
1
n
log
2
1, 2454 f ur n 98328,
1
n
log
2
2, 0006 f ur n 10
51
.
Verglichen damit kann man nach Kor. 7.3.2 die wesentlich grossere Dichte
1
n
log
2
(L
a1,...,an
) 1, 0158
f ur beliebige n und zufallige a
1
, . . . , a
n
[0, 2
n/d
] f ur d 0, 9408 in probabilistischer pol.-Zeit
erreichen. Es folgt die Korrektheit der Reduktion Rucksack
pol
SVP f ur fast alle a
1
, ..., a
n

[0, 2
n/d
] f ur d 0, 9408.
66 KAPITEL 7. ^{-VOLLST

ANDIGE GITTERPROBLEME
Korollar 7.3.3
F ur die Reduktion f : (a
1
, . . . , a
n
, b) ([b
1
, . . . , b
n+1
],

n) von Satz 7.2.6 gilt f ur fast alle


a
1
, . . . , a
n
[0, 2
n/d
] mit d 0, 9408 dass
1
(L(b
1
, . . . , b
n
)) >

n und
(a
1
, . . . , a
n
, b) Rucksack
1
(L(b
1
, . . . , b
n+1
))

n,
sofern

n
i=1
a
i
2b

max a
i
.
Kapitel 8
Konstruktion eines k

urzesten
Gittervektors
Im Kapitel 6.4 haben wir einen Algorithmus zur Block-Reduktion vorgestellt. Als Unterprogramm
mute der k urzeste, nicht-triviale Gittervektor berechnet werden. Wir lernen in diesem Kapitel
einen solchen Algorithmus kennen, der durch vollstandige Aufzahlung einen k urzesten Gittervek-
tor ndet. Anschlieend werden wir durch die Volumen-Heuristik versuchen, die Aufzahlung zu
beschranken. Polynomialzeit-Verfahren sind nicht bekannt.
8.1 Algorithmus mit vollstandiger Aufzahlung
Wir mochten zu einer gegebenen Gitterbasis b
1
, . . . , b
n
R
m
bez uglich der Euklidischen Norm
einen k urzesten Gittervektor konstruieren. Sei b
1
, . . . , b
n
R
m
die Basis mit zugehorigem Ortho-
gonalsystem

b
1
, . . . ,

b
n
und Gram-Schmidt-Koezienten
i,j
, also:
b
i
=
i

j=1

i,j

b
j
i = 1, . . . , n,
Zur orthogonalen Projektion
i
: R
m
span(b
1
, . . . , b
i
)

bezeichne:
c
t
(u
t
, u
t+1
, . . . , u
n
) :=

i=t
u
i
b
i

2
=

i=t
n

s=t
u
i

i,s

b
s

2
=
n

s=t

i=t
u
i

i,s

2
|

b
s
|
2
C.P. Schnorr und M. Euchner stellen in [SchnEu91] den ENUM-Algorithmus (Algorithmus
8.1.1) vor. Die Funktion a
t
:= next(a, r) liefert zu a Z und r R die in der Reihenfolge nach a
betragsmaig nachste, ganze Zahl zur reellen Zahl r (siehe Grak 8.1.1). Es gilt:
[a r[ [a
t
r[ [a r[ + 1
sign(a
t
r) = sign(a r)
Falls es zu r zwei ganze Zahlen mit Abstand
1
2
gibt, fordern wir zusatzlich, da zunachst der
kleinere Wert gewahlt wird, also aus [a r[ = [a
t
r[ folgt a < r < a
t
.
Die Korrektheit des ENUM-Algorithmus 8.1.1 folgt aus den folgenden Beobachtungen:
Stets gilt: c
t
= c
t
( u
t
, u
t+1
, . . . , u
n
). Beweis durch Induktion uber Anzahl der Iterationen.
Durch die Zuweisungen im ersten Schritt gelten die Behauptungen vor der ersten Iteration
67
68 KAPITEL 8. KONSTRUKTION EINES K

URZESTEN GITTERVEKTORS

3. 1. 2. 4.
r
Z
-
Abbildung 8.1.1: Reihenfolge der Approximationen bei next( , r)
Algorithmus 8.1.1 ENUM: k urzester Gittervektor (vollstandige Aufzahlung)
EINGABE: |

b
i
|
2
,
i,t
f ur 1 t i n
1. FOR i = 1, . . . , n DO c
i
:= u
i
:= u
i
:= y
i
:= 0
2. u
1
:= u
1
:= 1; t := 1;
3. c
min
1
:= c
1
:= |

b
1
|
2
/ stets gilt: ct = ct( ut, ut+1, . . . , un) und c
min
1
ist aktuelles Minimum der Funktion c1 /
4. WHILE t n DO
4.1. c
t
:= c
t+1
+ (y
t
+ u
t
)
2
|

b
t
|
2
4.2. IF c
t
< c
min
1
THEN
IF t > 1 THEN
t := t 1
y
t
:=
n

i=t+1
u
i

i,t
u
t
:= y
t
|
ELSE
c
min
1
= c
1
FOR i = 1, . . . , n DO u
i
:= u
i
END if
ELSE
t := t + 1
/ tmax bezeichne den bisherigen maximalen Wert von t vor Erhohung /
u
t
:=

u
t
+ 1 falls t = t
max
next( u
t
, y
t
) sonst
END if
END while
AUSGABE: Minimalstelle (u
1
, . . . , u
n
) Z
n
` 0 und Minimalwert c
min
1
f ur Funktion c
1
(Induktionsverankerung). Induktionsschlu:
c
t
( u
t
, u
t+1
, . . . , u
n
) = c
t+1
( u
t+1
, u
t+2
, . . . , u
n
)
. .. .
nach Ind.Annahme: = ct+1
+

i=t
u
i

i,t

2
|

b
t
|
2
= c
t+1
+ (y
t
+ u
t
)
2
|

b
t
|
2
8.2. ALGORITHMUS MIT GESCHNITTENER AUFZ

AHLUNG 69
Bei der letzten Umformung nutzen wir, da y
t
=
n

i=t+1
u
i

i,t
und u
t
= u
t
1 = u
t

t,t
.
Der Algorithmus zahlt (engl. enumerate) in Depth-First-Order alle Vektoren
( u
t
, u
t+1
, . . . , u
n
) Z
nt+1
` 0
f ur t = 1, . . . , n auf, f ur die gilt (c
min
1
ist das aktuelle Minimum der Funktion c
1
):
c
t
( u
t
, u
t+1
, . . . , u
n
) < c
min
1
Alle Vektoren erf ullen u
i
> 0 f ur das grote i mit u
i
= 0.
F ur feste u
t+1
, u
t+2
, . . . , u
n
gilt f ur die Folge der u
t
-Werte, erzeugt durch next( , y
t
), da
c
t
( u
t
, u
t+1
, . . . , u
n
) monoton wachsend ist. Falls die Abfrage c
t
< c negativ f ur den aktuellen
Vektor ( u
t
, u
t+1
, . . . , u
n
) ist, kann die Aufzahlung der Vektoren (u, u
t+1
, . . . , u
n
), wobei u
f ur die weiteren Werte der next( , y
t
)-Funktion steht, entfallen. Denn nach den vorherigen

Uberlegungen f uhren diese Vektoren nicht zum Minimum der c


1
-Funktion.
Am Ende des ENUM-Algorithmus gilt c
min
1
=
2
1
.
8.2 Algorithmus mit geschnittener Aufzahlung
Um die Laufzeit des Aufzahlungsverfahrens zu verk urzen, f uhren wir eine Heuristik ein, um die
Aufzahlung abzubrechen, wenn wir in diesem Teil der Aufzahlung mit hoher Wahrscheinlichkeit
keinen k urzeren Vektoren nden werden (vergleiche [SchnHo95, Ritter97]).
8.2.1 Volumen-Heuristik und Gau-ENUM
Folgende Heuristik geht auf C.F. Gau zur uck:
Lemma 8.2.1 (Volumen-Heuristik)
Sei S span(L) Jordan-mebar, z span(L) zufallig, dann gilt:
E
z
[ [(z +S) L[] =
vol (S)
det L
Beweis. Denn:
1
det L
=
Anzahl Gitterpunkte
Volumen Grundmasche
=
Anzahl Gitterpunkte
Volumeneinheit

Angenommen, wir haben ( u


t
, u
t+1
, . . . , u
n
) Z
nt+1
` 0 fest und suchen
u
1
, . . . , u
t1
Z
mit c
1
( u
1
, . . . , u
n
) < c
min
1
. Setze:
L := L(b
1
, . . . , b
t1
)
Wir mochten zu gegebenem Gittervektor b =

n
i=t
u
i
b
i
einen Vektor
b =
t1

i=1
u
i
b
i
L
70 KAPITEL 8. KONSTRUKTION EINES K

URZESTEN GITTERVEKTORS
addieren, so da

b +b

2
< c
min
1
. Wir zerlegen b in orthogonale Anteile:
b =
t1

j=1
n

i=1
u
i

i,j

b
j
. .. .
=:zspan( L )
+
n

j=t
n

i=t
u
i

i,j

b
j
. .. .
=:yspan( L )

(8.1)
Das bedeutet, wir suchen nach einem Gitterpunkt b L in

b +L

S
t1

c
min
1
c
t
, y

= L S
t1

c
min
1
c
t
, y

,
wobei S
d
(r, c) eine d-dimensionale Sphare mit Radius r und Zentrum c ist. Grak 8.2.1 verdeutlicht
die Aufgabe. Wir wenden die Volumen-Heuristik auf das Gitter L und die Sphare
S
t1

c
min
1
c
t
, y

span

an und erhalten:
E
z

( u
1
, . . . , u
t1
) Z
t1
: c
1
( u
1
, . . . , u
t1
) < c
min
1

=
vol

S
t1

c
min
1
c
t
, y

det L
Wir werden die Anwendung der Volumen-Heuristik anschlieend rechtfertigen.
O
3
9
0
y
b L
b + span

~
6
Sphare in span(L)
Punkt in b +L
S

c
1
c
1
, y

mit Radius

c
1
Abbildung 8.2.1: Volumenheuristik bei Gau-ENUM
Wir beenden die weitere Aufzahlung (engl. pruning), falls der Quotient kleiner als 2
p
, p fest
vorgegeben, ist. Je groer p, desto umfangreicher die Aufzahlung. F ur p = erhalten wir die
vollstandige Aufzahlung. Wahle
t,p
als
2
p
=
vol

S
t1

t,p

det L
.
Aus der Stirlingschen Approximation (siehe (??) auf Seite ??) erhalten wir:
2
p
=
vol

S
t1

t,p

det L
=
(
t,p
)
t1
2

1 +
t1
2

1

t1
i=1
|

b
i
|

2e
t1

t,p

t1
2

(t 1)

t1
i=1
|

b
i
|
Es folgt:

t,p
=
1

1 +
t 1
2
2
t1

2
p

t1

i=1
|

b
i
|

2
t1

t 1
2e

(t 1) 2
p

t1

i=1
|

b
i
|

2
t1
Im Algorithmus 8.1.1 (Seite 68) ersetzen wir Schritt 4.2 durch
8.2. ALGORITHMUS MIT GESCHNITTENER AUFZ

AHLUNG 71
IF c
t
< c
min
1

t,p
Den erhaltenen Algorithmus 8.2.1 nennen wir Gau-ENUM. Eine Analyse, mit welcher Wahr-
scheinlichkeit der k urzeste Gittervektor gefunden wird, erweist sich als schwierig.
Algorithmus 8.2.1 Gau-ENUM: k urzester Gittervektor (geschnittene Aufzahlung)
EINGABE: |

b
i
|
2
,
i,t
f ur 1 t i n
1. FOR i = 1, . . . , n DO c
i
:= u
i
:= u
i
:= y
i
:= 0
2. u
1
:= u
1
:= 1; t := 1;
3. c
min
1
:= c
1
:= |

b
1
|
2
/ stets gilt: ct = ct( ut, ut+1, . . . , un) und c
min
1
ist aktuelles Minimum der Funktion c1 /
4. WHILE t n DO
4.1. c
t
:= c
t+1
+ (y
t
+ u
t
)
2
|

b
t
|
2
4.2. IF c
t
< c
min
1

t,p
THEN
IF t > 1 THEN
t := t 1
y
t
:=
n

i=t+1
u
i

i,t
u
t
:= y
t
|
ELSE
c
min
1
= c
1
FOR i = 1, . . . , n DO u
i
:= u
i
END if
ELSE
t := t + 1
/ tmax bezeichne den bisherigen maximalen Wert von t vor der Erhohung /
u
t
:=

u
t
+ 1 falls t = t
max
next( u
t
, y
t
) sonst
END if
END while
AUSGABE: Wahrscheinliche Minimalstelle (u
1
, . . . , u
n
) Z
n
` 0 und Minimalwert c
min
1
f ur
die Funktion c
1
Wir m ussen noch die Anwendung der Volumen-Heuristik rechtfertigen.
Lemma 8.2.2
Sei L := L(b
1
, . . . , b
t1
), ( u
t
, u
t+1
, . . . , u
n
) Z
nt+1
` 0 fest und der Punkt z aus (8.1). Dann
72 KAPITEL 8. KONSTRUKTION EINES K

URZESTEN GITTERVEKTORS
gilt, sofern z
R
span

:
E
z

( u
1
, . . . , u
t1
) Z
t1
: c
1
( u
1
, . . . , u
n
) c
min
1

=
vol

S
t1

c
min
1
c
t
, z

det L
Weiter:
E
z

( u
1
, . . . , u
t1
) Z
t1
: c
1
( u
1
, . . . , u
n
) c
min
1

2
p
c
t
c
min
1

t,p
Beweis. Wir setzen:
S := S
t1

c
min
1

t,p

und L := L. Es gilt:
[(z +S) L[ =

( u
1
, . . . , u
t1
) Z
t1
: c
1
( u
1
, . . . , u
n
) c
min
1

Aus Lemma 8.2.1 folgt die Behauptung, da nach Voraussetzung z


R
span

.
Zu r R bezeichne r [0, 1[ die Nachkommastellen.
Def inition 8.2.3 (gleichverteilt mod L (kurz: u.d. mod L))
F ur ein Gitter L mit der Basis b
1
, . . . , b
n
heit eine Wahrscheinlichkeitsverteilung der Punkte

n
i=1
t
i
b
i
in span(L) gleichverteilt (uniformly distributed) modulo L (kurz: u.d. mod L), falls der
Vektor (t
1
, t
2
, . . . , t
n
) gleichverteilt auf [0, 1[
n
ist.
Bemerkung 8.2.4
Diese Eigenschaft bleibt bei Basiswechsel und

Ubergang zum Orthogonalsystem erhalten. In den
Lemmata 8.2.1 und 8.2.2 gen ugt es, da z gleichverteilt mod L ist, denn:
z z (mod L) [z +S L[ = [z +S L[
Wir wenden Lemma 8.2.2 und Bemerkung 8.2.4 auf die Situation in ENUM an mit:
festen u
t
, u
t+1
, . . . , u
n
,
c
t
= c
t
( u
t
, u
t+1
, . . . , u
n
),
c
min
1
> c
t
,
wir suchen einen Gitterpunkt aus L mit der Sphare

c
min
1
c
t
, z

und Zentrum:
z =
t1

j=1
n

i=t
u
i

i,j

b
j
Satz 8.2.5
Sei (
i,j
[ 1 j < i n) gleichverteilt in [0, 1[
(
n
2
)
. Dann folgt in obiger Situation f ur festes
( u
t
, u
t+1
, . . . , u
n
) Z
nt1
:
z ist uniformly distributed modulo L.
E
z

( u
1
, . . . , u
t1
) Z
t1
: c
1
( u
1
, . . . , u
n
c
min
1

8.3. BEMERKUNG ZUR LLL-REDUZIERTEN BASIS 73


Beweis. Wir nehmen an, da u
n
= 0, denn sonst konnen wir n vermindern. Die Eigenschaft

R
[0, 1[ bleibt bei Multiplikation mit einer ganzen Zahl z Z ` 0 erhalten, d.h. z
R
[0, 1[. Die Vektoren
( u
n

n,j
[ j = 1, . . . , t 1)

n
i=t
u
n

i,j

[ j = 1, . . . , t 1

sind unabhangig und gleichverteilt in [0, 1[


t1
. Daraus folgt, da

u
n

n,j

n
i=t
u
n

i,j

[ j = 1, . . . , t 1

gleichverteilt in [0, 1[
t1
ist. Die Behauptung folgt aus Lemma 8.2.2.
8.3 Bemerkung zur LLL-reduzierten Basis
Der folgende Satz zeigt, da es Verteilungen von Gitterbasen gibt, f ur die die LLL-Reduktion nur
sehr schwache Approximationen des k urzesten Gittervektors liefert (vergleiche Satz 4.1.4 auf Seite
32):
Satz 8.3.1
Sei b
1
, . . . , b
n
zufallige Gitterbasis, so da:
(
i,j
[ 1 i < j n)
R
[0, 1[
(
n1
2
)
Es gibt eine Verteilung D auf [0, 1[
(
n1
2
)
, so da die Gitterbasis b
1
, . . . , b
n
mit
(
i,j
[ 1 i < j n)
D
[0, 1[
(
n1
2
)
stets LLL-reduziert ist und f ur den Erwartungswert gilt:
E
D


2
1
|b
1
|
2

11
12

n1
2
,
wobei
n
die Hermite-Konstante der Dimension n ist.
Beweis. Sei:
(
i,j
[ 1 i < j n)
R

1
2
; +
1
2

(
n1
2
)
Deniere Basis b
1
, . . . , b
n
des Gitters L durch das zugehorige Orthogonalsystem: Wahle |

b
i
|
2
,
i = 1, . . . , n, mit:
|

b
1
| = 1
|

b
i+1
|
2
= |

b
i
|
2
(1
2
i+1,i
) i = 1, . . . , n 1
Die Basis ist LLL-reduziert mit = 1, da nach Konstruktion:
|
i
(b
i+1
)|
2
= |

b
i+1
|
2
+
2
i+1,i
|

b
i
| = |

b
i
|
2
74 KAPITEL 8. KONSTRUKTION EINES K

URZESTEN GITTERVEKTORS
Aus der Denition der Hermite-Konstanten
n
:= sup

1(L)
2
(det L)
2/n

Rang(L) = n

folgt:

2
1

n
(det L)
2
n
=
n

n

i=1
|

b
i
|
2
n
=
n
|

b
1
|
2
n

n1

i=1
(1
2
i+1,i
)
ni
n
Wir erhalten f ur x gleichverteilt in

1
2
; +
1
2

:
E
x


2
1
|b
1
|
2


n
E

n1

i=1
(1
2
i+1,i
)
ni
n

(f ur i = j sind
i+1,i
und
j+1,j
unabhangig)
=
n

n1

i=1
E
x

1 x
2

ni
n

n

n1

i=1
E
x

1 x
2

ni
n

es gilt: E
x

1 x
2

= 1
1
12
=
11
12

11
12
1
n

n1
i=1
i

n

11
12
1
n
(
n1
2
)

n

11
12

n3
2
Im letzten Schritt nutzen wir die folgende Abschatzung (da
11
12
< 1, m ussen wir f ur eine obere
Schranke den Exponenten nach unten abschatzen):
1
n

n 1
2

=
(n 1)(n 2)
2n
=
n
2
3n + 2
2n
=
n
2

3
2
+
1
n
>
n 3
2

Kapitel 9
Gitterreduktion in beliebiger
Norm
Bisher haben wir Gitter bez uglich der Euklidischen Norm reduziert. In diesem Kapitel betrachten
wir allgemeine Normen. Besonders die sup-Norm ist von Interesse (siehe Kapitel 10). Bis auf
den Gau-Reduktionsalgorithmus aus Kapitel 3 f ur aus zwei Vektoren bestehende Basen ist die
Reduktion in beliebiger Norm in der Praxis

schwierig.
9.1 Grundbegrie
Sei || : R
m
R eine beliebige Norm, d.h. es gilt f ur alle u, v R
m
und R:
|v| = [[ |v| (positive Homogenitat)
|u +v| |u| +|v| (Dreiecksungleichung)
|u| 0 f ur u = 0 (positive Denitheit)
Wir denieren zu einer gegebenen fest geordneten Gitterbasis Abstandsfunktionen:
Def inition 9.1.1 (Abstandsfunktion F
i
)
Sei b
1
, . . . , b
n
R
m
eine fest geordnete Gitterbasis. Die i-te Abstandsfunktion (auch Hohen- oder
Distanzfunktion) f ur 1 i n
F
i
: span(b
1
, . . . , b
n
) R
ist bez uglich der gegebenen Norm || deniert als:
F
1
(x) := |x|
F
i
(x) := min
t1,...,ti1R

i1
j=1
t
j
b
j

= min
tR
F
i1
(x tb
i1
) i = 2, 3, . . . , n
Die Hohe F
i
eines Vektors ist sein Abstand zu dem von b
1
, . . . , b
i1
erzeugten Unterraum.
Es gilt F
i
(x) = 0 genau dann, wenn x span(b
1
, . . . , b
i1
). Man rechnet leicht nach, da jede
Abstandsfunktion F
i
eine Norm auf span(b
1
, . . . , b
i1
)

ist. Im Fall der Euklidischen Norm ist


F
i
(b
i
) = |

b
i
|
2
. Die Determinante des Gitters L = L(b
1
, . . . , b
n
) ist:
det L =
n

i=1
|

b
i
|
2
75
76 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM
Wie sieht die Gleichung det L =

i
|

b
i
| bez uglich F
1
, . . . , F
n
aus? Zu gegebener Norm || de-
nieren wir:
S

(1) := x R
m
: |x| 1
Diese Menge ist konvex, nullsymmetrisch und abgeschlossen. Zu gegebener Norm || und Gitter-
basis b
1
, . . . , b
n
R
m
deniere
V
i
:= vol x span(b
1
, . . . , b
i
) : |x| 1
. .. .
=span(b1,...,bi)S

(1)
i = 1, . . . , n (9.1)
Man beachte, da sich Volumen stets auf die Euklidische Metrik bezieht.
Lemma 9.1.2
F ur jede Basis b
1
, . . . , b
n
R
m
gilt:
2
n
n!

n

i=1
|

b
i
|
2
F
i
(b
i
)
V
n
2
n

i=1
|

b
i
|
2
F
i
(b
i
)
Bevor wir das Lemma beweisen, eine Folgerung: Da V
n
unabhangig von der Basis ist, gilt:
Korollar 9.1.3
Seien b
1
, . . . , b
n
und b
t
1
, b
t
2
, . . . , b
t
n
Basen des Gitters L, dann gilt:
m

i=1
F
i
(b
i
) n!
m

i=1
F
t
i
(b
t
i
) oder
m

i=1
F
t
i
(b
t
i
) n!
m

i=1
F
i
(b
i
)
Beweis (zu Lemma 9.1.2). Wir zeigen durch Induktion uber n:
2
n
n!

n

i=1
|

b
i
|
2
F
i
(b
i
)
V
n
2
n

i=1
|

b
i
|
2
F
i
(b
i
)
-
0
+
b1
F1(b1)

b1
F1(b1)
Abbildung 9.1.1: Induktionsverankerung im Beweis zu Lemma 9.1.2
Induktionsverankerung n = 1: Es gilt (vergleiche Abbildung 9.1.1):
V
1
= 2
|b
1
|
2
|b
1
|
= 2
|

b
1
|
2
F
1
(b
1
)
Induktionsschlu von n 1 auf n: Wir wahlen einen Punkt z = b
n

n1
i=1
t
i
b
i
R
n
mit
|z| = F
n
(b
n
) (siehe Abbildung 9.1.2). Man erhalt eine obere Schranke f ur V
n
durch:
V
n
2 V
n1

|

b
n
|
2
F
n
(b
n
)
9.1. GRUNDBEGRIFFE 77
span(b
1
, . . . , b
n1
)
S
n1
S
n
z
6
+

bn
Fn(bn)


bn
Fn(bn)
?
0
Abbildung 9.1.2: Induktionsschlu im Beweis zu Lemma 9.1.2
Die konvexe H ulle von S
n1
und z (gepunktetes Gebiet in Abbildung 9.1.2) ist in S
n
ent-
halten. Da es sich um eine Pyramide mit Grundache S
n1
und Hohe

bn2
Fn(bn)
handelt, gilt:
V
n1
n

|

b
n
|
2
F
n
(b
n
)
= vol
n
(konvexe H ulle von S
n1
und z)
V
n
2
Es folgt wegen der Symmetrie:
2
V
n1
n

|

b
n
|
2
F
n
(b
n
)
V
n
Aus der Induktionsannahme erhalten wir:
V
n
2
V
n1
n

|

b
n
|
F
n
(b
n
)

2
n

|

b
n
|
F
n
(b
n
)

2
n1
(n 1)!

n1

i=1
|

b
i
|
2
F
i
(b
i
)

=
2
n
n!

n

i=1
|

b
i
|
2
F
i
(b
i
)
F ur die obere Schranke betrachten wir den Quader mit Grundache S
n1
und Hohe

bn
Fn(bn)
.
Da S
n
in zwei dieser Quader enthalten ist (siehe Abbildung 9.1.2), gilt:
V
n
2 V
n1

|

b
n
|
2
F
n
(b
n
)
Aus der Induktionsannahme erhalten wir:
V
n
2 V
n1

|

b
n
|
2
F
n
(b
n
)
2
|

b
n
|
2
F
n
(b
n
)
2
n1

n1

i=1
|

b
i
|
2
F
i
(b
i
)
= 2
n

i=1
|

b
i
|
2
F
i
(b
i
)

Es gilt f ur das erste sukzessive Minimum:


Satz 9.1.4 (Kaib 1994)
F ur jede Gitterbasis b
1
, . . . , b
n
R
m
gilt:
min
i=1,...,n
F
i
(b
i
)
1,

n!
n

i=1
F
i
(b
i
)
1
n
78 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM
Zum Vergleich f ur die
2
-Norm: Wir wissen aus der Minkowskischen Ungleichung 2.3.1 (Seite 22),
da wegen
1,

2,

n,
f ur das Gitter L = L(b
1
, . . . , b
n
) gilt:
min
i=1,...,n
|

b
i
|
i,2
(
n
)
1
2
(det L)
1
n
Beweis (zu Satz 9.1.4). Betrachten wir beide Abschatzungen:
Wir zeigen:
min
i=1,...,n
F
i
(b
i
)
i,
Sei b =

n
i=1
t
i
b
i
L mit |b| =
1,
. Setze s := max i [ t
i
= 0. Wegen t
s
Z ` 0 gilt:

1,
= |b| F
s
(b) = F
s
(t
s
b
s
) = [t
s
[
....
1
F
s
(b
s
) F
s
(b
s
)
Die Behauptung folgt aus:
min
i=1,...,n
F
i
(b
i
) F
s
(b
s
)
i,
Sei L = L(b
1
, . . . , b
n
). Aus dem zweiten Satz von Minkowski ?? (Seite ??) folgt wegen

1,

2,

n,
:
V
n

n
1,
2
n
det L (9.2)
Aus Lemma 9.1.2 wissen wir:
n!
2
n

n

i=1
F
i
(b
i
)
|

b
i
|
2

1
V
n
(9.3)
Aus det L =

n
i=1
|

b
i
|
2
erhalten wir:

n
1,
2
n
V
1
n

n

i=1
|

b
i
|
2
(wegen (9.2))
2
n

n!
2
n

n

i=1
F
i
(b
i
)
|

b
i
|
2

i=1
|

b
i
|
2

(wegen (9.3))
= n!
n

i=1
F
i
(b
i
)

Es gilt f ur das Produkt der sukzessiven Minima:


Satz 9.1.5
F ur jede Gitterbasis b
1
, . . . , b
n
R
m
gilt:
1
n!

n

i=1
F
i
(b
i
)
n

i=1

i,
n!
n

i=1
F
i
(b
i
)
Zum Vergleich: Die Minkowskische Ungleichung f ur die
2
-Norm, Satz 2.3.1 auf Seite 22, besagt:
n

i=1

i,2
(
n
)
n
2
det L
9.2. REDUZIERTE BASEN ZUR NORM || 79
Beweis (zu Satz 9.1.5). Die Behauptung folgt aus dem Beweis zu Satz 9.1.4 durch Anwenden
des zweiten Satzes von Minkowski ?? auf Seite ??:
det L
n!

V
n
2
n

n

i=1

i,
det L

9.2 Reduzierte Basen zur Norm ||


Analog zur Euklidischen Norm f uhren wir Reduktionsbegrie ein und versuchen, Eigenschaften
reduzierter Basen zu beweisen.
9.2.1 Denitionen
Wir ubertragen die Reduktionsbegrie auf den Fall einer beliebig vorgegebenen Norm:
Def inition 9.2.1 (HKZ-reduzierte Basis zu ||)
Eine geordnete Basis b
1
, . . . , b
n
R
m
ist eine HKZ-reduzierte Basis zur Norm ||, wenn:
a) F
j
(b
i
) F
j
(b
i
b
j
) f ur 1 j < i n (langenreduziert)
b) F
i
(b
i
) = min F
i
(b) [ b L(b
i
, b
i+1
, . . . , b
n
) ` 0 f ur i = 1, . . . , n
Beim zweiten Kriterium kann b auch aus L(b
1
, . . . , b
n
) ` 0 gewahlt werden. F ur die Eigenschaft

langenreduziert gilt mit 1 j < i n:


F
j
(b
i
) F
j
(b
i
b
j
) F
j
(b
i
) = min
tZ
F
j
(b
i
+t b
j
)
Diese

Aquivalenz nutzt die Konvexitat der Norm F
j
. Die

-Richtung folgt unmittelbar und f ur


die

-Richtung beachtet man, da gilt:


F
j
(b
i
) F
j
(b
i
b
j
) und F
j
(b
i
) F
j
(b
i
+b
j
)
Def inition 9.2.2 (-reduzierte Basis zu )
Sei b
1
, . . . , b
n
R
m
eine geordnete Basis und 2, 3, . . . , n gegeben. b
1
, . . . , b
n
R
m
heit
-reduziert (blockreduziert mit Blockgroe ) zur Norm ||, wenn:
a) F
j
(b
i
) F
j
(b
i
b
j
) f ur 1 j < i n
b) F
i
(b
i
) = min

F
i
(b)

b L(b
i
, b
i+1
, . . . , b
min(i+1,n)
) ` 0

f ur i = 1, . . . , n 1
Wir betrachten den Spezialfall einer 2-reduzierten Basis zu ||: Die geordnete Basis b
1
, . . . , b
n

R
m
ist 2-reduziert zur Norm ||, wenn:
a) F
j
(b
i
) F
j
(b
i
b
j
) f ur 1 j < i n
b) F
i
(b
i
) = min

F
i
(sb
i
+tb
i+1
)

(s, t) Z
2
` (0, 0)

f ur i = 1, . . . , n 1
Eine 2-reduzierte Basis zur
2
-Norm ist eine LLL-reduzierte Basis.
80 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM
9.2.2 Eigenschaften 2-reduzierter Gitterbasen
Wir untersuchen die Eigenschaften 2-reduzierter Basen und vergleichen die Resultate, die wir im
Spezialfall der
2
-Norm (LLL-reduziert) in Kapitel ?? (Seite ?? und folgende) bewiesen haben.
Satz 9.2.3
Sei b
1
, . . . , b
n
R
m
eine 2-reduzierte Basis zur Norm ||. Dann gilt f ur i = 1, . . . , n 1:
F
i+1
(b
i+1
)
1
2
F
i
(b
i
)
Zum Vergleich: F ur die
2
-Norm ist mit =
3
4
nach Lemma 4.1.2 auf Seite 31 |

b
i
|
2
2
2 |

b
i+1
|
2
2
,
also:
|

b
i+1
|
2

1
2
|

b
i
|
2
Beweis (zu Satz 9.2.3). Nach Denition gilt
a) F
j
(b
i
) F
j
(b
i
b
j
) f ur 1 j < i n und
b) F
i
(b
i
) = min

F
i
(sb
i
+tb
i+1
)

(s, t) Z
2
` (0, 0)

f ur i = 1, . . . , n 1.
Die Behauptung F
i
(b
i
)
1
2
F
i
(b
i+1
) erhalten wir aus:
F
i
(b
i
) F
i
(b
i+1
) (wegen Eigenschaft b))
min F
i
(b
i+1
tb
i
) [ t Z (wegen Eigenschaft a))
F
i
(b
i+1
) +
1
2
F
i
(b
i
)
Wir nutzen, da die Abstandsfunktionen F
i
jeweils Normen auf span(b
1
, . . . , b
i1
)

sind:
F
i+1
(b
i+1
) = min F
i
(b
i+1
sb
i
) [ s R (Denition)
= min

F
i

b
i+1
(r +t)b
i

t Z, r

1
2
, +
1
2

min F
i
(b
i+1
tb
i
) [ t Z +F
i

1
2
b
i

(Dreiecksungleichung)
min F
i
(b
i+1
tb
i
) [ t Z +
1
2
F
i
(b
i
) (Linearitat)

Im folgenden Satz untersuchen wir, wie gut im allgemeinen Fall der erste Vektor der 2-reduzierten
Basis das erste sukzessive Minimum approximiert.
Satz 9.2.4
Sei b
1
, . . . , b
n
R
m
eine 2-reduzierte Basis zur Norm ||. Dann gilt:
|b
1
| 2
n1

1,
Zum Vergleich: F ur die
2
-Norm wissen wir mit =
3
4
aus Satz 4.1.4 auf Seite 32:
|b
1
|
2

4
3

n1
2

1,2
9.2. REDUZIERTE BASEN ZUR NORM || 81
Beweis. Sei b =

n
i=1
t
i
b
i
||-minimaler Vektor in L = (b
1
, . . . , b
n
) ` 0. O.B.d.A. sei t
n

Z ` 0. Es gilt:
|b| F
n
(b)
= min
t1,...,tn1R

n1
j=1
t
j
b
j

(Denition)
= F
n
(t
n
b
n
)
= [t
n
[ F
n
(b
n
) (Linearitat der Norm F
n
)
F
n
(b
n
) (wegen t
n
Z ` 0)
2
n+1
F
1
(b
1
) (induktiv aus Satz 9.2.3)
= |b
1
| 2
n+1
(wegen F
1
(b
i
) = |b
i
| und

b
1
= b
1
)
Wegen
1,
= |b| folgt die Behauptung.
9.2.3 Eigenschaften HKZ-reduzierter Basen
Wir untersuchen die Eigenschaften von HKZ-Basen und vergleichen die Resultate, die wir im
Spezialfall der
2
-Norm in Kapitel 6.1 (Seite 51 und folgende) bewiesen haben. Es gilt f ur HKZ-
reduzierte Basen zur Norm ||:
Satz 9.2.5 (Lovasz, Scarf 1992)
Sei b
1
, . . . , b
n
eine HKZ-reduzierte Basis zu || des Gitters L. Es gilt f ur i = 1, . . . , n:
2
i + 1
|b
i
|
i,

i + 1
2
F
i
(b
i
)
i + 1
2
|b
i
|
Zum Vergleich: F ur die
2
-Norm wissen wir aus Satz 6.1.2 auf Seite 52, da f ur i = 1, . . . , n gilt:
i + 3
4
|b
i
|
i,2

i + 1
4
|b
i
|
Beweis (zu Satz 9.2.5). Wir zeigen die untere und obere Schranke:
Wir zeigen
2
i+1
|b
i
|
i,
f ur i = 1, . . . , n. Angenommen, h
1
, . . . , h
n
L realisieren die
sukzessiven Minima
1
, . . . ,
n
, d.h. es ist |h
i
| =
i,
f ur i = 1, . . . , n, und die Vektoren
h
1
, . . . , h
n
sind linear unabhangig. Es gilt
max
ji
F
i
(h
j
) F
i
(b
i
), (9.4)
weil:
wegen dim(span(h
1
, . . . , h
i
)) = i ist max
ji
F
i
(h
j
) = 0 und
b
1
, . . . , b
n
eine HKZ-reduzierte Basis ist, also
F
i
(b
i
) = min F
i
(b) [ b L(b
i
, . . . , b
n
) ` 0
gilt.
Wir erhalten aus (9.4) und
1,

2,

n,
:

i,
= |h
i
| = max
ji
|h
i
| F
i
(b
i
) (9.5)
82 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM
Wir wenden aus Beweis zu Satz 9.2.3 die Ungleichung
min
Z
F
j
(x + b
j
) F
j+1
(x) +
1
2
F
j
(b
j
)
rekursiv beginnend mit x := b
i
und j = i 1 an:
F
i1
(b
i
) F
i1
(b
i
+
i,i1
b
i1
) f ur alle
i,i1
Z
F
i
(b
i
) +
1
2
F
i1
(b
i1
) f ur Minimalstelle
i,i1
Z
Im nachsten Schritt sei x := b
i
+
i,i1
b
i1
mit Minimalstelle
i,i1
Z und j := i 1
usw. Nach i 1 Schritten erhalten wir mit Abschatzung (9.5) die Behauptung:
|b
i
| = F
1
(b
i
) F
1

b
i
+
i1

j=1

i,j
b
j


i + 1
2

i,
(9.6)
Wir zeigen f ur i = 1, . . . , n:

i,

i + 1
2
F
i
(b
i
)
i + 1
2
|b
i
|
Es gilt:

i,
max
ji
F
1
(b
j
) (wegen F
1
(b) = |b|)
max
ji

F
j
(b
j
) +
1
2

j1

t=1
F
t
(b
t
)

(wegen (9.6))
max
ji

j+1
2
F
j
(b
j
)

(wegen (9.6))

i+1
2
F
1
(b
i
) (wegen F
t
(b
t
) F
1
(b
j
) f ur t < j)

i+1
2
|b
i
| (wegen F
1
(b
i
) = |

b
i
| |b|)

9.2.4 Eigenschaften -reduzierter Gitterbasen


Wir untersuchen die Eigenschaften von HRZ-Basen und vergleichen die Resultate, die wir im
Spezialfall der
2
-Norm in Kapitel 6.2 (Seite 53 und folgende) bewiesen haben. Wir definieren:
Def inition 9.2.6 (

)
Wir setzen:

:= sup

|b
1
|
F

(b

b
1
, . . . , b
n
HKZ-reduzierte
Basis und || Norm

Satz 9.2.7
F ur jede -reduzierte Basis b
1
, . . . , b
n
zu || gilt:
|b
1
|

n1
1
|


1,
9.2. REDUZIERTE BASEN ZUR NORM || 83
Beweis. Sei h
i
:= F
i
(b
i
). Bestimme Index mit minimalem h

. Nach Satz 9.1.4 gilt h


1,
.
F ur j < sind die Basen b
i
, b
i+1
. . . , b
i+j
HKZ-reduzierte Basen zur Norm F
i
. Nach Denition
von

und wegen
k

k+1
gilt:
h
i

h
i+j
(9.7)
Wir erhalten durch wiederholtes Anwenden von (9.7):
h
1

h
1+1(1)

2

h
1+2(1)

3

h
1+3(1)
. . .

1
1
|

h
1+
1
1
|(1)
Insgesamt erhalten wir:
h
1

1
1
|

n1
1
|


1,

F ur die
2
-Norm zeigt C.P. Schnorr [Schnorr87, Korollar 2.5], da f ur

,2
:= sup

|b
1
|
2
|

|
: b
1
, . . . , b
n
HKZ-reduzierte Basis

(9.8)
gilt, wobei
,2
als Quadrat von (9.8) deniert und als Korkine-Zolotare-Konstante bezeichnet
wird):

,2
k
1+ln k
2
Analog zeigt man f ur beliebige Norm:

k
k(k 1)
ln(k1)
Satz 9.2.8
Jede -reduzierte Basis b
1
, . . . , b
n
erf ullt f ur i = 1, . . . , n
2
i + 1

t

i/2
1

|b
i
|

i,

i + 1
2

t

n/2
1
mit
t

= (!)
2

2
.
Zum Vergleich: In der
2
-Norm gilt f ur die Hermite-Konstante

nach Satz 6.2.3 auf Seite 54:

4
i + 3

i1
1


|b
i
|

i,2

i + 3
4

n1
1

Der Beweis zu Satz 9.2.8 ist im wesentlichen analog zum Beweis zur
2
-Norm. Wichtiger

Baustein
ist folgendes Analogon zu Lemma 6.2.5 auf Seite 54: F ur jede -reduzierte Basis b
1
, . . . , b
n
gilt:
|b
1
|
t

m/2
1
M mit M := max
n+2in
F
i
(b
i
)
84 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM
9.3 Konstruktion einer HKZ-reduzierten Gitterbasis
Gegeben sei ein Gitter L vom Rang n. Wir konstruieren eine HKZ-reduzierte Basis in zwei Schrit-
ten, wobei die Konstruktion allerdings nicht ezient ist.
1. Wir wahlen f ur i = 1, . . . , n ein b
i
L mit:
F
i
(b
i
) = min F
i
(b) [ b L, F
i
(b) = 0
Beachte, F
i
(b) ist deniert, da wir im i-ten Schritt bereits b
1
, . . . , b
i1
festgelegt haben. Es
gilt genau dann F
i
(b) = 0, wenn b / span(b
1
, . . . , b
i1
). Die Vektoren b
1
, . . . , b
n
bilden eine
Basis von L: Falls dies nicht der Fall ist, existiert ein minimales i, so da b
1
, . . . , b
i
kein
primitives System ist:
L span(b
1
, . . . , b
i1
) = L(b
1
, . . . , b
i1
) (9.9)
L span(b
1
, . . . , b
i
) L(b
1
, . . . , b
i
) (9.10)
Wegen 9.10 existiert ein b L span(b
1
, . . . , b
i
) ` L(b
1
, . . . , b
i
) mit:
b =
i1

j=1
t
j
b
j
+t
i
b
i
mit t
1
, . . . , t
i1
Z und t
i
/ Z
Sei k > 1 der Index der additiven Untergruppe L(b
1
, . . . , b
i
) in span(b
1
, . . . , b
i
) L. Wegen
(9.9) gilt:
t
i

1
k
+Z
Wahle t
t
= t
i
mod Z, d.h. t
t
=
1
k
]0, 1[. Es folgt der Widerspruch zur Minimalitat:
F
i
(t
1
b
1
+t
2
b
2
+ +t
t
b
i
) = F
i
(t
t
b
i
) = [t
t
[ F
i
(b
i
) < F
i
(b
i
).
2. Langenreduktion: F ur i = 1, . . . , n, f ur j = i 1, i 2, . . . , 1 wahle
i,j
Z, so da:
F
j
(b
i
+
i,i1
b
i1
+
i,i2
b
i2
+ +
i,j
b
j
)
minimal ist. Setze:
b
i
:= b
i
+
i1

j=1

i,j
b
j
Die Langenreduktion sichert F
j
(b
j
) F
j
(b
i
b
j
) f ur j < i.
Lemma 9.3.1
Obige Konstruktion liefert eine HKZ-reduzierte Basis b
1
, . . . , b
n
des Gitters L.
Beweis. Nachrechnen!
9.4 Alternative zur Reduktion in ||
Alternativ zur Reduktion in || kann man S

(1) durch S

E
(1) mit Ellipsoid-Norm ||
E
appro-
ximieren und die Reduktion in der Ellipsoid-Norm durchf uhren.
|x|
2
E
:= x
T
B
T
Bx
9.5. KONSTRUKTION EINES ||-K

URZESTEN GITTERVEKTORS 85
Die Satze f ur die
2
-Norm ubertragen sich. Nach [John48] gilt: Zu jeder Norm || : R
n
R gibt
es eine Ellipsoid-Norm ||
E
mit
|x|
E
|x|

n |x|
E
Dann folgt f ur die ||
E
-reduzierte Basis nach Satz 6.2.3:
1
n

4
i+3

i1
1


|b
i
|

i,
n

i+3
4

n1
1

(9.11)
Dabei geht ein Faktor

n verloren bei der Approximation von || durch ||
E
. Ein weiterer Faktor

n geht verloren durch die Approximation von


i,
durch
i,2
.
F ur kleine Blockweiten ist die Aussage (9.11) scharfer als Satz 9.2.8, weil
t

. F ur
groe Blockweiten n ist Satz 9.2.8 scharfer. F ur = n sind die Schranken f ur HKZ-reduzierte
Basen zu || um den Faktor

n besser als die Schranken (9.11).
9.5 Konstruktion eines ||-k urzesten Gittervektors
Wir ubertragen unseren Algorithmus zur Bestimmung eines k urzesten Gittervektors f ur die Eu-
klidische Norm aus Kapitel 8.1 auf beliebige Normen. H. Ritters [Ritter96, Ritter97] gibt eine

Ubersicht uber die Aufzahlung k urzester Gittervektoren in der sup-Norm.


9.5.1 ENUM-Algorithmus f ur beliebige Norm
Wir verallgemeinern Algorithmus 8.1.1 von Seite 68. Es bezeichne:
c
t
(u
t
, u
t+1
, . . . , u
n
) := F
t

i=t
u
i
b
i

Wir bezeichnen zu u
t
, u
t+1
, . . . , u
n
mit next
Ft
(u) die erste, ganzzahlige Minimalstelle u
t
von

F
t

u b
t
+
n

i=t
u
i
b
i

F
t

u
t
b
t
+
n

i=t
u
i
b
i

(9.12)
und mit next
Ft
( u
t
, u) die nachste, ganzzahlige Nullstelle von (9.12) nach u
t
. Falls S

ein Polytop
ist, z.B. f ur die 1- und sup-Norm, kann F
t
durch lineare Optimierung bestimmt werden.
9.5.2 Gau-ENUM-Algorithmus f ur beliebige Norm
Betrachten wir Schritt 2 des Algorithmus 9.5.1. Gegeben sind b
1
, . . . , b
n
sowie u
1
, . . . , u
n
und c
min
1
.
Sei L := L(b
1
, . . . , b
t1
) und setze:
z :=
n

i=t
u
i
b
i
Dann gilt:

( u
1
, . . . , u
t1
) Z
t1
: c
1
( u
1
, . . . , u
t1
) c
min
1

L +w

( c
min
1
)

( c
min
1
) +z

86 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM


Algorithmus 9.5.1 ||-ENUM: k urzester Gittervektor (vollstandige Aufzahlung)
EINGABE: Gitterbasis b
1
, . . . , b
n
R
m
1. FOR i = 1, . . . , n DO c
i
:= u
i
:= u
i
:= y
i
:= 0
2. u
1
:= u
1
:= 1; t := 1;
3. c
min
1
:= c
1
:= |b
1
|
2
/ stets gilt: ct = ct( ut, ut+1, . . . , un) und c
min
1
ist aktuelles Minimum der Funktion c1 /
4. WHILE t n DO
4.1. c
t
:= c
t
( u
t
, u
t+1
, . . . , u
n
) = F
t

i=t
u
i
b
i

4.2. IF c
t
< c
min
1
THEN
IF t > 1 THEN
t := t 1
u reelle Minimalstelle von F
t

ub
t
+
n

i=t+1
u
i
b
i

u
t
:= next
Ft
(u)
ELSE
c
min
1
:= c
1
FOR i = 1, . . . , n DO u
i
:= u
i
END if
ELSE
t := t + 1
/ tmax bezeichne den bisherigen maximalen Wert von t vor der Erhohung /
u
t
:=

u
t
+ 1 falls t = t
max
next
Ft
( u
t
, u) sonst
END if
END while
AUSGABE: Minimalstelle (u
1
, . . . , u
n
) Z ` 0 und Minimalwert c
min
1
f ur die Funktion c
1
Nach der Volumenheuristik ist:

( c
min
1
) +z


vol
t1

span

( c
min
1
) +z

det L
=
vol
t1

w + span

( c
min
1
)

det L
9.5. KONSTRUKTION EINES ||-K

URZESTEN GITTERVEKTORS 87
Wann gilt die Volumen-Heuristik streng? Hinreichende Voraussetzung: Bei festem y ist z uniformly
distributed modulo L (vergleiche Denition 8.2.3 auf Seite 72):
b =
t1

j=1
n

i=1
u
i

i,j

b
j
. .. .
=zspan( L )
+
n

j=t
n

i=t
u
i

i,j

b
j
. .. .
:=yspan( L )

Die Menge

b + span

( c
min
1
) hangt nur von z, aber nicht von y ab. Es folgt aus der
Volumenheuristik Lemma 8.2.1 (Seite 69):
Lemma 9.5.1
Angenommen, z ist uniformly distributed modulo L und unabhangig von y. Dann gilt
E

w +L

( c
min
1
)

=
vol
t1

y + span

( c
min
1
)

det L
,
wobei y + span

= b + span

.
Wir erhalten analog zu Satz 8.2.5:
Satz 9.5.2
Angenommen, (
i,j
: 1 j < i n) ist gleichverteilt in [0, 1[
(
n
2
)
. Dann gilt in Algorithmus 9.5.1
||-ENUM stets:
z ist uniformly distributed modulo L und unabhangig von y.
E

w +L

( c
min
1
)

=
vol
t1

y + span

( c
min
1
)

det L
Wir erhalten Gau-||-ENUM aus Algorithmus 9.5.1, indem wir Schritt 2 ersetzen durch:
IF
vol
t1

y + span

( c
min
1
)

det L
2
p
88 KAPITEL 9. GITTERREDUKTION IN BELIEBIGER NORM
Kapitel 10
Anwendungen der Gitterreduktion
In Kapitel 5 (Seite 43 und folgende) haben wir versucht, Subsetsum-Aufgaben durch Gitterreduk-
tion zu losen. In diesem Kapitel werden wir weitere Anwendungen der Gitterreduktion kennen-
lernen: Losen des 3-SAT-Problems, Angri auf Damgards Hashfunktion (nde zwei verschiedene
Vektoren, denen der gleiche Werte zugewiesen wird) und Faktorisieren ganzer Zahlen. F ur weitere
Anwendungen der Gitterreduktion in der Kryptographie verweisen wir auf die Arbeit [JoSt94] von
A. Joux und J. Stern.
F ur eine eziente Aufzahlung k urzester Gittervektor in der sup-Norm verweisen wir auf H. Rit-
ters Arbeit [Ritter96], in der er mit Hilfe der Gitterreduktion G. Ortons [Orton1994] Kryptosystem
basierend auf dem Subsetsum-Problem mit Dichte groer als 1 bricht. Die Methoden konnen auf
beliebige Normen
p
ubertragen werden.
10.1 Gitterbasis zu 3-SAT
Wir beschreiben zunachst die konjunktive Normalform. Seien x
1
, . . . , x
n
Boolesche Variablen. Wir
schreiben x
1
i
:= x
i
, x
1
i
:= x
i
und x
0
i
:= 0. Die Klauseln der konjunktiven Normalform (KNF)
schreiben wir als:
C
j
= x
aj1
1
x
aj2
2
x
ajn
n
mit (a
j1
, a
j2
, . . . , a
jn
) 0, 1
n
. Falls eine Variable x
i
nicht in der Klausel C
j
auftritt, setze
a
ji
:= 0. Die KNF hat folgenden Aufbau
(x
1
, . . . , x
n
) :=
m

j=1
C
j
(x
1
, . . . , x
n
)
Wir betrachten nur konjunktive Normalformen, deren Klauseln aus maximal drei Literalen be-
stehen, also

n
i=1
[a
ji
[ 3 f ur j = 1, . . . , m. Beim 3-SAT-Problem ist zu entscheiden, ob eine
erf ullende Belegung f ur die konjunktive Normalform existiert:
Def inition 10.1.1 (3-SAT)
Das 3-SAT-Problem lautet:
Gegeben: KNF (x
1
, . . . , x
n
) :=
m

j=1
C
j
(x
1
, . . . , x
n
) mit max. 3 Literalen pro Klausel
Finde (y
1
, . . . , y
n
) 0, 1
n
mit (y
1
, . . . , y
n
) = 1 oder zeige, da keine erf ullende Belegung
existiert.
89
90 KAPITEL 10. ANWENDUNGEN DER GITTERREDUKTION
Das 3-SAT-Problem ist ^{-vollstandig [GaJo79]. Wir ordnen dem 3-SAT-Problem eine Gitter-
basis zu und versuchen, durch Gitterreduktion in der sup-Norm eine erf ullende Belegung der
konjunktiven Normalform zu bestimmen.
Wir reduzieren zunachst 3-SAT auf 0, 1-Integer-Programming, indem wir ein aquivalentes
Ungleichungssystem bilden:
c
j
:= 2 [i : a
ji
= 1[ 1 f ur j = 1, . . . , m
Betrachte das folgende Ungleichungssystem in den Unbekannten y
1
, . . . , y
n
0, 1:

i=1
a
ji
y
i
c
j

1 f ur j = 1, . . . , m (10.1)
Beispiel:
x
1
x
2
x
3
[y
1
+y
2
+y
3
2[ 1
x
1
x
2
x
3
[y
1
+y
2
+y
3
1[ 1
Wir konnen jede Restriktion in zwei -Relationen aufspalten. Durch Fallunterscheidung uber die
Anzahl negierter/nicht-negierter Literale in der Klausel folgt:
Lemma 10.1.2
Die 0, 1-IP-Aufgabe (10.1) hat genau dann eine Losung y 0, 1
n
, wenn (y) = 1.
Die Gitterbasis zum 3-SAT-Problem besteht aus den folgenden n+1 ganzzahligen Zeilenvektoren
b
1
, . . . , b
n+1
Z
n+m+1
:

b
1
b
2
.
.
.
b
n
b
n+1

:=

2 0 0 a
11
a
21
a
m1
0
0 2 0 a
12
a
22
a
m2
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 2 a
1n
a
2n
a
mn
0
1 1 1 c
1
c
2
c
m
+1

(10.2)
Sei y = (y
1
, . . . , y
n
) eine erf ullende Belegung der KNF. Der zugehorige Losungsvektor ist:
b(y) =
n

i=1
y
i
b
i
+b
n+1
Dieser Vektor liegt wegen (10.1) in 1
n
1, 0
m
+1.
Satz 10.1.3
Sei L das von den Zeilenvektoren b
1
, . . . , b
n+1
aus (10.2) erzeugte Gitter. Dann gilt f ur alle Git-
tervektoren z L:
Es existiert eine erf ullende Belegung
y 0, 1
n
zu (y) mit z = b(y)
|z|

= 1
Beweis. Wir zeigen beide Richtungen:

Wegen b(y) 1, 0
n+m+1
gilt |z|

= 1.
10.2. ANGRIFF AUF D

AMGARDS HASHFUNKTION 91

Gegeben ist ein Vektor z L mit |z|

= 1. Der Vektor habe die Darstellung


z =
n+1

i=1
y
t
i
b
i
(10.3)
mit y
t
1
, y
t
2
, . . . , y
t
n+1
Z. Wegen |z|

= 1 folgt aus der letzten Komponente der Basisvek-


toren, da y
t
n+1
= 1 ist. Aus den ersten n Eintragen erhalten wir nach Fallunterscheidung:
1. Aus y
n+1
= +1 folgt (y
t
1
, y
t
2
, . . . , y
t
n
) 0, +1
n
.
2. Aus y
n+1
= 1 folgt (y
t
1
, y
t
2
, . . . , y
t
n
) 0, 1
n
.
Setze:
y := y
t
n+1
(y
t
1
, y
t
2
, . . . , y
t
n
)
Es ist y 0, +1
n
und (y, 1) = y
t
n+1
y
t
. Wegen |z|

= 1 und y
t
n+1
1 gilt nach (10.3)

i=1
a
ji
y
i
c
j

y
t
n+1

i=1
a
ji
y
i
c
j

|z|

1
f ur j = 1, . . . , m. Nach Lemma 10.1.2 ist y eine erf ullende Belegung.

Wir versuchen durch Gitterreduktionen, einen in der sup-Norm k urzesten, nicht-trivalen Git-
tervektor zu nden, um eine erf ullende Belegung der konjunktive Normalformen mit hochstens
drei Literalen pro Klausel zu bestimmen. Unter der Cookschen Hypothese { = ^{ ist dies in
einigen Fallen schwierig, denn das 3-SAT-Problem ist ^{-vollstandig.
Wir haben mit Satz 10.1.3 einen alternativen Beweis zu Korollar 11.2.9 von Seite 105 kennen-
gelernt: Das Problem ||

-k urzester Gittervektor ist ^{-vollstandig.


10.2 Angri auf Damgards Hashfunktion
I.B. Damgard [Damgard89] hat der EuroCrypt-Konferenz 1989 die folgende kryptographische
Hashfunktion basierend auf dem Subsetsum-Problem vorgestellt. Wahle zufallig und unabhangig
a = (a
1
, . . . , a
n
)
R
[1, 2
m
1]
n
und deniere zu a die Hashfunktion:
h
a
: 0, 1
n
N
(x
1
, . . . , x
n
)

n
i=1
a
i
x
i
Eine Kollision nennen wir x, x
t
0, 1
n
, x = x
t
, mit h
a
(x) = h
a
(x
t
). Als Pseudo-Kollision
bezeichnen wir x, x
t
0, 1
n
, x = x
t
, mit h
a
(x) = h
a
(x
t
) (mod 2
m
). Wir werden versuchen,
Pseudo-Kollisionen zu nden.
Weshalb suchen wir nach Kollisionen? Um eine lange Nachricht M durch eine kurze, digitale
Unterschrift zu versehen, wendet man in der Kryptographie die Hashfunktion h auf die Nachricht
an und erhalt einen im Vergleich zur Nachricht kleinen Wert. Nur h(M) wird digital unterschrieben.
Der Teilnehmer veroentlicht M und seine digitale Unterschrift von h(M). Falls wir eine andere
Nachricht M
t
mit h(M) = h(M
t
) nden, konnen wir die digitale Unterschrift f ur M einfach
ubernehmen. Wir haben eine Nachricht mit digitaler Unterschrift eines fremden Teilnehmers.
92 KAPITEL 10. ANWENDUNGEN DER GITTERREDUKTION
Jedem Vektor x = (x
1
, . . . , x
n
) 1, 0
n
` 0 mit
n

i=1
a
i
x
i
= 0 (mod 2
m
)
entspricht eine Pseudo-Kollision x, x
t
gema
x
i
:=

1 falls x
i
= 1
0 sonst
x
t
i
:=

1 falls x
i
= 1
0 sonst
und umgekehrt. Wir wahlen als Basis:

b
1
b
2
.
.
.
b
n
b
n+1

:=

1 0 0 a
1
n
0 1 0 a
2
n
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 a
n
n
0 0 0 2
m
n

(10.4)
Wir bezeichnen:
P-Kollision :=

(x
1
, . . . , x
n+1
) 1, 0
n+1

x
n+1
= 0 und (x
1
, . . . , x
n
)
entspricht Pseudo-Kollision

Es gilt oenbar: P-Kollision L(b


1
, . . . , b
n+1
). Wir versuchen durch Gitterreduktion, einen kurzen
Gittervektor in der Euklidischen Norm zu nden. Was ist das Minimum der Menge
|x|
2
: x P-Kollision ,
also die Lange des k urzesten Gittervektors, der einer Pseudo-Kollision entspricht? Wir f uhren eine
probabilistische Analyse zu a
R
[1, 2
m
1]
n
und festem x durch. Zu

0,
1
2

mit n N sei:
^

:=

(x
1
, . . . , x
n
) 1, 0
n

i=1
[x
i
[ = n

F ur x ^

ist |x|
2
=

n, da x 1, 0
n
. Es gilt:
N

:= [^

[ =

n
n

2
n
(10.5)
Denn wir konnen die n Eintrage ungleich 0 beliebig auf die n Positionen verteilen und als Wert
jeweils +1 oder 1 setzen. Es gilt
N

2
(H(,1)+)n
, (10.6)
wobei H die Shannonsche Entropie-Funktion ist:
H(, 1 ) = log
2
(1 ) log
2
(1 )
Wir mochten bez uglich a
R
[1, 2
m
1]
n
die Wahrscheinlichkeit berechnen, mit der in ^

ein
Vektor aus P-Kollision liegt. Dazu denieren wir zu a und festem x ^

die Zufallsvariable:

x
:=

1 falls
n

i=1
a
i
x
i
= 0 (mod 2
m
)
0 sonst
Oenbar ist
E
a
[
x
] = 2
m
(10.7)
10.2. ANGRIFF AUF D

AMGARDS HASHFUNKTION 93
Wir denieren die Zufallsvariable
x
:=
x
2
m
, so da:
E
a

= 0 (10.8)
E
a

2
x

= E
a

2
x

2 2
m
E
a
[
x
] + 2
2m
2 2
m
(10.9)
Beachte, da f ur die Indikatorvariable
i
gilt Ws
a
[
i
= 1] = Ws
a

2
i
= 1

. Wir verwenden aus der


Stochastik (siehe u.a. [Feller68]) f ur eine Zufallsvariable X:
Var[ X] = E

X
2

E[ X]
2
(Denition Varianz)
Var[ cX] = c
2
Var[ X] (c > 0 konstant)
Ws[ [X E[ X][ ]
1

2
Var[ X] (Tschebyche-Ungleichung)
Wir wenden die Tschebyche-Ungleichung auf
1
N

xA

x
an und erhalten wegen der Erwar-
tungswerte (10.8) und (10.9):
Ws
a

1
N

xA

x
2
m

2
Var

1
N

xA

=
1

2
N
2

xA

yA
E
a

x

y

Wegen des Erwartungswerts (10.9) ist:

xA

yA
E
a

x

y

xA
E
a

2
x

x,yA
x,=y
E
a

E
a

xA
E
a

2
x

= N

E
a

2
x

(10.10)
Aus Abschatzung (10.10) und dem Erwartungswert (10.8) folgt:
Ws
a

1
N

xA

x
2
m

2
N

E
a

2
x

2
N

2
m
F ur = 2
m
erhalten wir
Ws
a


xA

x
= 0


2
m+1
N

(10.11)
und f ur = 2
ml
:
Ws
a


xA

x
N

2
m
2
ml


2
m+1+2l
N

(10.12)
Aus (10.11) folgt unmittelbar:
Satz 10.2.1
Es gilt:
94 KAPITEL 10. ANWENDUNGEN DER GITTERREDUKTION
a) F ur m log
2
N

2 (H(, 1 ) +) n gibt es bez uglich a


R
[1, 2
m
1]
n
mit Wahr-
scheinlichkeit mindestens
1
2
Pseudo-Kollisionen in ^

.
b) F ur m log
2
N

4 (H(, 1 ) +) n gibt es bez uglich a


R
[1, 2
m
1]
n
mit Wahr-
scheinlichkeit mindestens
1
2
mindestens N

2
m1
Pseudo-Kollisionen in ^

.
Beweis. Die Aussage a) folgt aus (10.11), die Aussage b) folgt aus (10.12) mit l = 1.
Im nachsten Schritt mochten wir N

= [^

[ maximieren: Aus dem Ansatz


N

= 0
mit (10.6) erhalten wir:
log
2
2
( log
2
(1 ) log
2
(1 ))

Dazu aquivalent:
log
2
+ log
2
(1 ) log
2
2
Wegen log
2
2 = 1 und 1 + log
2
= log
2
1

erhalten wir den Anzatz =


k1
k
log
2
k1
k
+ log
2
1
k
= log
2
(k 1) log
2
2
und somit k 1 = 2 bzw. k = 3, also =
2
3
als ungefahre Maximalsstelle von N

.
Satz 10.2.2
Bez uglich a
R
[1, 2
m
1]
n
gibt es mit Wahrscheinlichkeit mindestens
1
2
Pseudo-Kollisionen, wenn
N
2/3
2
m1
oder aquivalent n
m1
log
2
3
ist.
Beweis. Aus (10.7) wissen wir, da:
E
a
[ Anzahl Pseudo-Kollisionen in ^

] = N

2
m
Wegen N
2/3
2
m1
folgt:
Ws
a

Anzahl Pseudo-Kollisionen in ^
2/3


1
2
Damit N
2/3
2
m1
ist, mu wegen
log
2
N
2/3
= n

2
3
log
2
2
3

1
3
log
2
1
3
+
2
3
log
2
2

= n

2
3
(log
2
3 + log
2
)
1
3
(log
2
3) +
2
3

= n

+
2
3
log
2
3
2
3
+
1
3
log
2
3 +
2
3

= n log
2
3
gelten n log
2
3 m1 oder aquivalent n
m1
log
2
3
.
Betrachten wir die Situation bei den von I.B. Damgard vorgeschlagenen Parametern:
F ur m = 120 gibt es Pseudo-Kollisionen, falls n 77.
F ur m = 120 und n = 100 gibt es im Mittel N
2/3
2
m
3, 8 10
11
Pseudo-Kollisionen.
10.3. FAKTORISIEREN GANZER ZAHLEN 95
Betrachten wir die Anzahl der kurzen Gittervektoren:

z L(b
1
, . . . , b
n+1
) : |z|
2
2
n


N(0, n, )
2
m
J.E.Mazo und A.M.Odlyzko haben in [MaOd90] die Funktion
N(z, n, ) :=

x Z
n
: |x z|
2
n

untersucht. Als Vektoren z kommen nur Vektoren in Frage, deren letzter Eintrag 0 ist. Der Anteil
der Vektoren (x
1
, . . . , x
n
) mit

n
i=1
a
i
x
i
= 0 (mod 2
m
) ist 2
m
. Es gilt:

z L(b
1
, . . . , b
n+1
) : |z|
2
2
n


(2e)
n
2
2
m
Wir wahlen m und derart, da in etwa gilt
E
a
[ Anzahl Pseudo-Kollisionen in ^

] 1,
Also wegen (10.5) und (10.6):
m = n [H(, 1 ) +] bzw. N

n
n

2
n
= 2
m
Gibt es zur Lange

n k urzere, nicht-triviale Gittervektoren, die keiner Pseudo-Kollision entspre-
chen? Wir w urden bei der Gitter-Reduktion unter Umstanden diese k urzeren Vektoren anstatt der
gew unschten erhalten. F ur m = 120 und n = 100 ist
(2e)
n
2
2
m
2
0,0039n
, d.h. die sog. parasitaren,
kurzen Gittervektoren sind leicht in der

Uberzahl.
10.3 Faktorisieren ganzer Zahlen mit Hilfe Diophantischer
Approximationen
Sei N Z das Produkt mindestens zweier verschiedener Primzahlen und p
1
, p
2
, . . . die Folge der
Primzahlen. C.P. Schnorr [Schnorr91b, Schnorr93] hat das Problem der Faktorisierung von N auf
das Finden von t + 2 Losungen (e
1
, . . . , e
t
) Z
t
der Ungleichungen (c > 1 fest)

i=1
e
i
ln p
i
ln N

N
c
p
o(1)
t
t

i=1
[e
i
ln p
i
[ (2c 1) log
2
N + 2 ln p
t
(10.14)
reduziert. Wir mochten in diesem Kapitel die Idee und den Algorithmus vorstellen. F ur eine
ausf uhrliche Betrachtung verweisen wir auf die Originalarbeit.
Wir assoziieren mit den Primzahlen p
1
, . . . , p
t
ein Gitter im R
t+1
und mit N einen Punkt

N im
R
t+1
. Das Problem der Diophantischen Approximation (10.14) reduzieren wir auf die Bestimmung
eines in der
1
-Norm hinreichend nahen Gitterpunktes.
Sei p
1
, . . . , p
t
die Folge der ersten Primzahlen, also 2, 3, 5, . . .. Wir denieren zu N und festem
c > 1 das Gitter L
,c
R
t+1
, welches von den Zeilenvektoren b
1
, . . . , b
t
,

N aufgespannt wird:

b
1
b
2
.
.
.
b
t

:=

ln p
1
0 0 N
c
ln p
1
0 ln p
2
0 N
c
ln p
2
.
.
.
.
.
.
.
.
.
.
.
.
0 0 ln p
n
N
c
ln p
t
0 0 0 N
c
ln N

(10.15)
96 KAPITEL 10. ANWENDUNGEN DER GITTERREDUKTION
Die reellen Vektoren kann man durch rationale Vektoren approximieren. In der Praxis gen ugen
sogar ganzzahlige Vektoren.
Betrachten wir Algorithmus 10.3.1. Da N das Produkt mindestens zweier verschiedener Prim-
zahlen ist, hat x
2
mindestens 4 Wurzeln modulo N, wobei sich zwei nur im Vorzeichen unterschei-
den.
x
2
y
2
= (x y)(x +y) = 0 (mod N)
Im Fall x = y (mod N) sind 0 < xy < N und 0 < x+y < N, also 1 < xy < N, wobei xy
modulo N reduziert sei. Dann liefert ggT(x y, N) nicht-triviale Teiler von N. Falls x und y sich
wie unabhangige Zufallsvariable verhalten, hat Schritt 7 Erfolgswahrscheinlichkeit mindestens
1
2
.
Der Schritt 4 erfordert, da [u
i
v
i
N[ uber der Basis P
t
faktorisiert werden kann. Satz 10.3.2
zeigt, da f ur Punkte z L
,c
, die

nahe bei

N liegen, diese Voraussetzung mit hoher Wahr-
scheinlichkeit erf ullt ist.
Satz 10.3.1
Sei c > 1, , 0 fest und p
t
< N. Falls (e
1
, . . . , e
t
) Z
t
das Ungleichungssystem

i=1
a
i
ln p
i
ln N

N
c
p
o(1)
t
t

i=1
[a
i
ln p
i
[ (2c 1) log
2
N + 2 ln p
t
lost, gilt f ur das in Schritt 3 konstruierte Paar (u
i
, v
i
) mit
u
i
:=

ai,j>0
p
aij
j
und v
i
:=

ai,j<0
p
]ai,j]
j
(10.16)
da:
[u
i
v
i
N[ p
++o(1)
t
Beweis. Siehe [Schnorr93, Theorem 1].
Falls (e
1
, . . . , e
t
) Z
t
die Ungleichungen (10.16) erf ullt mit + 1 und N hinreichend
gro ist, erf ullt das Paar (u
i
, v
i
) mit hoher Wahrscheinlichkeit die zur Faktorisierung in Schritt 4
notigen Eigenschaften:
u
i
=

ai,j>0
p
aij
j
und [u
i
v
i
N[ p
t
Dies ist nur mit vernachlassigbarer Wahrscheinlichkeit nicht der Fall [Schnorr93, Theorem 4].
Satz 10.3.2
Sei > 1, c > 1, 0 und p
t
= (ln N)

< N. Falls z L
,c
die Ungleichung
|z N|
1
(2c 1) ln N + 2 ln p
t
erf ullt, gilt f ur die in Schritt 3 konstruierten Paare (u
i
, v
i
):
[u
i
v
i
N[ p
1

++o(1)
t
Beweis. Siehe [Schnorr93, Theorem 2].
10.3. FAKTORISIEREN GANZER ZAHLEN 97
Aus den beiden Satzen 10.3.1 und 10.3.2 folgt, da es zum Faktorisieren von N gen ugt, hinreichend
viele Gittervektoren z L
,c
zu nden, die in der
1
-Norm nahe bei

N liegen. Diese Gitterpunkte
ndet man in der Praxis durch Anwenden machtiger Reduktionsalgorithmen auf die Vektoren
b
1
, . . . , b
n
,

N in der
2
-Norm. Die reduzierte Basis enthalt im allgemeinen dann Vektoren, die
bez uglich der
1
-Norm kurz sind. Man kann erreichen, da diese Vektoren die Form
t

i=1
e
i
b
i


N
haben (e
1
, . . . , e
n
Z) und wahlen z :=

t
i=1
e
i
b
i
f ur Satz 10.3.2.
98 KAPITEL 10. ANWENDUNGEN DER GITTERREDUKTION
Algorithmus 10.3.1 Faktorisieren einer ganzen Zahl
EINGABE: N Z (Produkt mindestens zweier verschiedener Primzahlen)
und c Q mit c 1
1. Bilde Liste p
1
, . . . , p
t
der ersten Primzahlen, p
t
= (ln N)

. Sei P
t
:= p
1
, . . . , p
t
.
2. Reduziere mit

geeignetem Reduktionsalgorithmus das Gitter L


,c
R
t+1
(siehe Basisma-
trix (10.15)).
3. Bilde f ur Vektoren z
(i)
:=

t
j=1
a
i,j
b
j
L mit kleiner l
1
-Norm

z

N

1
mit Hilfe von P
t
und den ganzzahligen Koezienten (a
i,1
, a
i,2
, . . . , a
i,t
) m t + 2 Tupel (u
i
, v
i
) N
2
:
u
i
:=

ai,j>0
p
aij
j
v
i
:=

ai,j<0
p
]ai,j]
j
4. FOR i = 1, . . . , m DO
Faktorisiere u
i
v
i
N uber P
t
und p
0
:= 1:
u
i
v
i
N :=
t

j=0
p
bi,j
j
Setze a
i,0
:= 0. Bezeichne:
a
i
:= (a
i,0
, a
i,1
, . . . , a
i,t
)
b
i
:= (b
i,0
, b
i,1
, . . . , b
i,t
)
END for
5. Finde eine 0, 1-Losung (c
1
, . . . , c
m
) = 0 zu:
m

i=1
c
i
(a
i
+b
i
) = 0 (mod 2) (10.13)
6. Bilde (Division durch 2 wegen (10.13) moglich):
x :=
t

j=0
p

m
i=1
ci(ai,j+bi,j)/2
j
(mod N)
y :=
t

j=0
p

m
i=1
cibi,j
j
(mod N)
Es gilt x
2
= y
2
(mod N).
7. IF x = y (mod N) THEN GOTO 5 und berechne neue Losung
AUSGABE: Zwei nicht-triviale Faktoren ggT(x +y, N) und ggT(x y, N)
Grundlagen
Notation
Mit M
m,n
(S) bezeichnen wir die Menge aller m n-Matrizen mit Eintragen aus der Menge S.
Zum Beispiel ist M
m,n
(Z) die Menge aller ganzzahligen mn-Matrizen. Zur Matrix B bezeichne
B
T
die transponierte Matrix. Die Elemente aus Z
n
, R
n
, etc. schreiben wir, sofern nicht anders
angegeben, als Spaltenvektoren.
Zur reellen Zahl r bezeichne r| :=

r
1
2

die nachste ganze Zahl. Wir schreiben R


+
:=
x R [ x > 0 f ur die Menge der positiven, reellen Zahlen.
Skalarprodukt
Der Vektorraum R
n
sei mit einem beliebigen Skalarprodukt ', ` : R
n
R
n
R ausgestattet
(Euklidischer Vektorraum). Das Skalarprodukt hat die folgenden Eigenschaften: F ur alle u, v, w
R
n
und R gilt:
', ` ist bilinear:
'u +w, v` = 'u, v` +'w, v`
'u, v` = 'u, v`
'u, v +w` = 'u, v` +'u, w`
'u, v` = 'u, v`
', ` ist symmetrisch:
'u, v` = 'v, u`
', ` ist positiv denit:
'u, u` > 0 f ur u = 0
F ur u = 0 folgt aus der Linearitat in jeder Komponente 'u, u` = 0. Das Standard-Skalarprodukt
ist deniert als:

(u
1
, . . . , u
n
)
T
, (v
1
, . . . , v
n
)
T

:=
n

i=1
u
i
v
i
Den meisten Anwendungen liegt das Standard-Skalarprodukt zugrunde. Jedes Skalarprodukt ', ` :
R
n
R
n
R lat sich schreiben als:
'u, v` := u
T
Sv
mit symmetrischer Matrix S M
n,n
(R). Im Fall des Standard-Skalarprodukts ist die Matrix S
die Identitat.
99
100
Normen
Eine Abbildung || : R
n
R heit Norm, falls f ur alle u, v R
n
und R gilt:
|v| = [[ |v| (positive Homogenitat)
|u +v| |u| +|v| (Dreiecksungleichung)
|u| 0 f ur u = 0 (positive Denitheit)
Die reelle Zahl |u| heit Norm (oder Lange) des Vektors u = (u
1
, . . . , u
n
). Aus einem Skalarpro-
dukt erhalt man die Euklidische Norm durch:
|u| :=

'u, u`
Die
1
-Norm oder auch Betragsnorm ist:

(u
1
, . . . , u
n
)
T

1
:=
n

i=1
[u
i
[
Die
2
-Norm erhalt man aus dem Standard-Skalarprodukt:

(u
1
, . . . , u
n
)
T

2
:=

'u, u` =

i=1
u
2
i
1
2
Allgemein: Die
p
-Norm ist:

(u
1
, . . . , u
n
)
T

p
:=

i=1
[u
i
[
p
1
p
Die sup-Norm, Maximums-Norm oder auch

-Norm ist:

(u
1
, . . . , u
n
)
T

:= max
i=1,...,n
[u
i
[
Ungleichungen
F ur die sup-, Betrags- und 2-Norm eines Vektors u R
n
gelten die folgenden Beziehungen:
|u|
2
|u|
1

n |u|
2
|u|

|u|
2
n |u|

F ur die Beziehung Skalarprodukt und zugehorige Norm |u| :=



'u, u` gilt die Cauchy-Schwarz-
Ungleichung (seien u, v R
n
):
['u, v`[ |u| |v|
Die Gleichheit gilt genau dann, wenn beide Vektoren linear abhangig sind. Seien b
1
, . . . , b
n
R
n
die
Spaltenvektoren (oder Zeilenvektoren) der Matrix B M
n,n
(R). Die Hadamardsche Ungleichung
besagt:
det B
n

i=1
|b
i
|
2
Sind die Vektoren b
1
, . . . , b
n
orthogonal, gilt die Gleichheit.
Kapitel 11
Komplexit

at, ^{-Vollst

andigkeit
Wir fassen mit Hinblick auf die Gittertheorie die Grundbegrie der Komplexitatstheorie, speziell
die ^{-Vollstandigkeit, zusammen.
11.1 ^{-Vollstandigkeit
Wir denieren die Bitlange endlicher Objekte (das Vorzeichen speichern wir getrennt):
(0) := 1
(n) := log
2
(n + 1)| f ur n N

p
q

:= (p) +(q) mit p, q N und ggT(p, q) = 1


(A) =

i,j
(a
ij
) f ur A = [a
ij
] M
m,n
(Q)
Wir setzen die Laufzeit des Algorithmus in Beziehung zur Eingabelange. Wir interessieren uns
f ur Polynomialzeit-Verfahren:
Def inition 11.1.1 (Polynomialzeit)
Ein Algorithmus ist in Polynomialzeit, falls die Schrittzahl (Turing-Maschine oder Anzahl Bit-
Operationen) polynomiell in der Lange der Eingabe beschrankt ist:
Schrittzahl(Eingabe) = poly((Eingabe))
In der theoretischen Informatik betrachtet man die Polynomialzeit-Algorithmen als ezient.
Def inition 11.1.2 (Charakteristische Funktion)
Zu einer Menge A 0, 1

ist die charakteristische Funktion


A
: 0, 1

0, 1 deniert
durch:
A
(a) = 1 genau dann, wenn a A ist.
Wir denieren mit charakteristischen Funktionen die Klasse der Polynomialzeit-Sprachen:
Def inition 11.1.3 (Klasse { der Polynomialzeit-Sprachen)
Die Klasse { der Polynomialzeit-Sprachen besteht genau aus den Sprachen A 0, 1

, f ur welche
die charakteristische Funktion
A
in Polynomialzeit berechenbar ist.
101
102 KAPITEL 11. KOMPLEXIT

AT, ^{-VOLLST

ANDIGKEIT
Die Klasse ^{ umfat die Sprache, so da es genau f ur jedes Wort aus der Sprache einen Bitstring
gibt, anhand dessen wir ezient uberp ufen konnen, da dieses Wort in der Sprache liegt.
Def inition 11.1.4 (Klasse ^{)
Die Klasse ^{ der nichtdeterministischen Polynomialzeit-Sprachen A 0, 1

ist erklart durch:


A ^{
B 0, 1

0, 1

, B { :
A =

x 0, 1

y 0, 1
poly((x))
mit (x, y) B

Sei (x, y) B. Dann heit y Zeuge f ur x A.


Die Cooksche Hypothese ist { = ^{, d.h. es gibt Sprachen in der Klasse ^{, f ur die wir nicht
in Polynomialzeit einen Zeugen nden konnen.
Def inition 11.1.5 (Cook-Karp-Reduktion)
Seien A, B 0, 1

:
A
pol
B
Polynomialzeit-Abbildung h mit:
x 0, 1

: x A h(x) B
Aus A
pol
B und B
pol
C folgt A
pol
C. Es gilt A
pol
B, wenn man x A in Polynomialzeit
mit einmaliger Anwendung eines Orakels f ur B entscheiden kann.
Def inition 11.1.6 (^{-vollstandig)
A 0, 1

heit ^{-vollstandig, wenn:


1. A ^{
2. B ^{ : B
pol
A
Falls wir einen Polynomialzeit-Algorithmus zu einem ^{-vollstandigen Problem nden, folgt { =
^{. Dies w urde der Cookschen Hypothese widersprechen. Daher gelten die ^{-vollstandigen
Probleme als die schwierigsten in ^{.
11.2 Schwierige, algorithmische Gitterprobleme
Wir lernen in diesem Abschnitt mit der Gittertheorie verbundene Probleme kennen, die ^{-
vollstandig sind oder f ur die bisher keine ezienten Algorithmen bekannt sind. Ein solches Problem
ist die ganzzahlige, lineare Programmierung (Integer Programming):
Def inition 11.2.1 (Ganzzahlige, lineare Programmierung)
Das Problem der ganzzahligen, linearen Programmierung lautet:
Gegeben: m, n N, A M
m,n
(Z) und b Z
m
Finde x Z
n
mit Ax b oder zeige, da kein solcher Vektor existiert.
Die ganzzahlige, lineare Programmierung ist

schwierig. Wir werden in Satz 11.2.5 sehen, da


das zugehorige Entscheidungsproblem ^{-vollstandig ist:
11.2. SCHWIERIGE, ALGORITHMISCHE GITTERPROBLEME 103
Def inition 11.2.2 (Entscheidungsproblem der ganzzahligen, linearen Programmierung)
Das Problem der ganzzahligen, linearen Programmierung lautet:
Gegeben: m, n N, A M
m,n
(Z) und b Z
m
Entscheide, ob ein x Z
n
mit Ax b existiert.
Falls { = ^{, gibt es keinen Losungsalgorithmus in Polynomialzeit. Dagegen gibt es zum analogen
Problem der rationalen, linearen Programmierung Polynomialzeit-Verfahren:
Def inition 11.2.3 (Rationale, lineare Programmierung)
Das Problem der rationalen, linearen Programmierung lautet:
Gegeben: m, n N, A M
m,n
(Z) und b Q
m
Finde x Q
n
mit Ax b oder zeige, da kein solcher Vektor existiert.
Das erste Polynomialzeit-Verfahren f ur die lineare Programmierung ist die Ellipsoid-Methode von
L.G. Khachiyan [Khach79, Khach80]. Diese Methode ist aber nicht praktikabel. Ein bekannter
Polynomialzeit-Algorithmus stammt von M. Karmarkars [Karma84]. Dieser hat zur Entwicklung
der Interior-Point-Methoden f ur die lineare Programmierung gef uhrt. Ein bekannter Interior-Point-
Algorithmus stammt von Y. Ye [Ye91]. Ein einfaches, praktisches Verfahren ist der Simplex-
Algorithmus [Dantzig63, Schrijver86] von G.B. Dantzig, der allerdings im Wortcase exponentielle
Laufzeit haben kann. Weitere Probleme, die man in Polynomialzeit losen kann, sind:
Satz 11.2.4 (Sieveking 1976)
Folgende Probleme sind zu gegebenen m, n N, A M
m,n
(Z) und b M
m,1
(Z) in Polynomialzeit
losbar:
a) Lose Ax = b, x Z
n
oder weise Unlosbarkeit nach.
b) Finde eine Z-Basis b
1
, . . . , b
k
von x Z
n
[ Ax = 0, dem Z-Kern. Eine Z-Basis besteht aus
linear unabhangigen Vektoren b
1
, . . . , b
k
, so da:
x Z
n
[ Ax = 0 =

i=1
t
i
b
i

t
1
, . . . , t
k
Z

Beweis. Modikation des Gau-Eliminationsverfahrens (M. Sieveking in [SpStr76]). Alternativer


Beweis in [KaBa79].
Im folgenden Satz f uhren wir weitere mit der Gittertheorie verbundene Aufgaben bzw. Entschei-
dungsprobleme auf, die ^{-vollstandig sind.
Satz 11.2.5
Folgende Sprachen sind ^{-vollstandig:
1. Integer-Programming:
IP :=

(m, n, A, b)

A M
m,n
(Z), b Z
m
,
x Z
n
: Ax b

104 KAPITEL 11. KOMPLEXIT

AT, ^{-VOLLST

ANDIGKEIT
2. Rucksack (Knapsack) oder Subsetsum:
SubsetSum :=

(n, a
1
, . . . , a
n
, b) N
n+2

x 0, 1
n
:
n

i=1
a
i
x
i
= b

3. 0, 1-Integer-Programming:
0, 1-IP :=

(m, n, A, b)

A M
n,m
(Z), b Z
m
,
x 0, 1
n
: Ax b

4. Schwache Zerlegung:

(n, a
1
, . . . , a
n
) N
n+1

(x
1
, . . . , x
n
) 0, 1
n
` 0
n
:
n

i=1
a
i
x
i
= 0

Beweis. F ur 1,2,3 siehe [GaJo79, SpStr76], f ur 4 siehe [EmBoas81]. Den Nachweis, da es f ur


die Sprache Integer-Programming polynomiell lange Zeugen gibt, also IP ^{, werden wir in
Satz 11.2.6 f uhren.
Satz 11.2.6 (von zur Gathen, Sieveking 1978)
IP ^{.
Beweis. Wir wahlen als Zeugen f ur (m, n, A, b) IP ein geeignetes x Z
n
mit Ax b. Oenbar
existiert x genau dann, wenn (m, n, A, b) IP. Wir m ussen noch zeigen, da der Zeuge polynomielle
Lange hat.
Sei A =: (a
ij
)
ij
und b =: (b
1
, . . . , b
m
)
T
. Setze M := max
i,j
[a
ij
[ , [b
i
[. Nach [GaSi78] gilt:
(x Z
n
: Ax b)

x Z
n
: Ax b, |x|

(n + 1)n
n
2
M
n

Die obere Schranke von |x|

impliziert, da die Lange des Zeugen x polynomiell in der Lange


von A und b beschrankt ist. Wegen (m, n, A, b) nm+ log
2
M gilt:
(x) = O

n
2
(log n + log M

= O

(m, n, A, b)
3


Wir denieren die Begrie, die elementar f ur die weiteren Kapitel sind:
Def inition 11.2.7 (Gitter, Basis, Dimension, Rang)
Seien b
1
, . . . , b
n
R
m
linear unabhangige Vektoren. Wir nennen die additive Untergruppe
L(b
1
, . . . , b
n
) :=
n

i=1
b
i
Z =

i=1
t
i
b
i

t
1
, . . . , t
m
Z

des R
m
ein Gitter mit der Basis b
1
, . . . , b
n
. Ist die Reihenfolge der Basisvektoren fest, sprechen
wir von einer geordneten Basis. Der Rang oder auch die Dimension des Gitters ist Rang(L) := n.
Betrachten wir ein Beispiel:
Beispiel 11.2.8 (Gitter)
Z
m
ist ein Gitter vom Rang m, die Einheitsvektoren bilden eine Basis. Zur Matrix A M
m,n
(Z)
ist x Z
n
[ Ax = 0 ein Gitter vom Rang nRang(A); nach Satz 11.2.4 konnen wir in Polyno-
mialzeit eine Basis konstruieren.
11.2. SCHWIERIGE, ALGORITHMISCHE GITTERPROBLEME 105
Wir versuchen, durch Gitterreduktion einen k urzesten, nicht-trivialen Gittervektor zu nden.
Im Fall der sup-Norm ist dies unter der Annahme { = ^{ nicht immer ezient moglich:
Korollar 11.2.9
Das Problem ||

-k urzester Gittervektor
L

-SVP :=

(m, n, b
1
, . . . , b
n
)

m, n N, b
1
, . . . , b
n
Z
m
,
x L(b
1
, . . . , b
n
) : |x|

= 1

ist ^{-vollstandig.
Beweis. Das Problem ||

-k urzester Gittervektor liegt in ^{: Als Zeugen wahlt man einen


Vektor x L(b
1
, . . . , b
n
) `0 mit |x|

= 1. Das ^{-vollstandige Problem

schwache Zerlegung
aus Satz 11.2.5 kann in Polynomialzeit auf ||

-k urzester Gittervektor reduziert werden.


Beim Problem des k urzesten Gittervektors in der
2
-Norm soll man zu gegebener Gitterbasis
b
1
, . . . , b
n
und k entscheiden, ob es einen Gittervektor z L(b
1
, . . . , b
n
) gibt mit z = 0 und
|z|
2

k.
Def inition 11.2.10 (Shortest Vector Problem SVP)
Die Sprache zum k urzesten Gittervektorproblem (Shortest Vector Problem) f ur die
2
-Norm lautet:
L
2
-SVP :=

(k, m, n, b
1
, . . . , b
n
)

k, m, n, N, b
1
, . . . , b
n
Z
m
,
x L(b
1
, . . . , b
n
) ` 0 : |x|
2
2
k

Der Status dieses Problems ist oen. Anstrengungen, die Vermutung, da L


2
-SVP ^{-hart ist,
nachzuweisen, sind im Gegensatz zur sup-Norm (siehe Korollar 11.2.9) bislang fehlgeschlagen (ver-
gleiche [Kannan87]).
Das Problem des k urzesten Gittervektors ist der homogene Spezialfall des Problems nachster
Gittervektor, von dem man aber wei, da es (auch) in der
2
-Norm ^{-vollstandig ist:
Satz 11.2.11 (Closest Vector Problem CVP)
Das Problem
2
-nachster Gittervektor
L
2
-CVP :=

(k, m, n, b
1
, . . . , b
n
, z)

k, m, n, N, b
1
, . . . , b
n
, z Z
m
,
x L(b
1
, . . . , b
n
) : |z x|
2
2
k

ist ^{-vollstandig.
Beweis. Siehe [Kannan87, Theorem6.2].
Wir fassen zusammen: Zu gegebener Gitterbasis b
1
, . . . , b
n
Z
m
sind folgende Aufgaben nach
heutigem Stand schwierige, algorithmische Gitterprobleme:
Finde kurze Gittervektoren ungleich dem Nullvektor.
Finde eine Basis bestehend aus kurzen Gittervektoren.
Finde zu gegebenem z span(b
1
, . . . , b
n
) einen moglichst nahen Gittervektor.
Dagegen kann man in Polynomialzeit zu einem gegebenen Erzeugendensystem b
1
, . . . , b
n
Z
m
des
Gitters L, n Rang(L), eine Gitterbasis konstruieren.
106 KAPITEL 11. KOMPLEXIT

AT, ^{-VOLLST

ANDIGKEIT
Algorithmenverzeichnis
1.4.1 zur Langenreduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2 zur paarweise Reduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.1 Gau-Reduktionsverfahren f ur die Euklidische Norm . . . . . . . . . . . . . . . . 27
3.2.2 Gau-Reduktionsverfahren f ur beliebige Norm . . . . . . . . . . . . . . . . . . . 29
4.2.1 zur LLL-Reduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.1 LLL-Reduktion von ganzzahligen Erzeugendensystemen . . . . . . . . . . . . . . 38
6.4.1 Block-Korkine-Zolotare-Reduktion (kurz BKZ) . . . . . . . . . . . . . . . . . . 60
8.1.1 ENUM: k urzester Gittervektor (vollstandige Aufzahlung) . . . . . . . . . . . . . 68
8.2.1 Gau-ENUM: k urzester Gittervektor (geschnittene Aufzahlung) . . . . . . . . . 71
9.5.1 ||-ENUM: k urzester Gittervektor (vollstandige Aufzahlung) . . . . . . . . . . . 86
10.3.1 Faktorisieren einer ganzen Zahl . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
107
108 ALGORITHMENVERZEICHNIS
Literaturverzeichnis
[Babai86] L. Babai (1986): On Lovasz Lattice Reduction and the nearest Lattice
Point Problem, Combinatorica, Band 6, Seiten 113.
[Barnes59] E.S. Barnes (1959): The Contruction of perfect and extreme Forms II, Acta
Arithmetica, Band 5, Seiten 205-222.
[BaKa84] A. Bachem und R. Kannan (1984): Lattices and the Basis Reduction Algo-
rithm, Technischer Report, Carnegie-Mellon-Universitat (USA).
[BeWe93] Th. Becker und V. Weispfennig (1993): Grobner Bases a computational
Approach to commutative Algebra, Graduate Texts in Mathematics, Band
141, Springer-Verlag, Berlin/Heidelberg.
[Blich14] H.F. Blichfeldt (1914): A new Principle in the Geometry of Numbers with
some Applications, Transaction of the American Mathematical Society, Band
15, Seiten 227235.
[Blich29] H.F. Blichfeldt (1929): The Minimum Value of quadratic Forms and the
closet Packing of Sphere, Mathematische Annalen, Band 101, Seiten 366-389.
[Blich35] H.F. Blichfeldt (1935): The minimum Value of positive Quadratic Forms
in six, seven and eight Variables, Mathematische Zeitschrift, Band 39, Seiten
115.
[Bb65] B. Buchenberger (1965): Ein Algorithmus zum Aunden der Basiselemente
des Restklassenrings nach einem nulldimensionalen Polynomideal, Disser-
tation, Fachbereich Mathematik, Universitat Insbruck (

Osterreich).
[Cassels71] J.W.S. Cassels (1971): An Introduction to the Geometry of Numbers,
Springer-Verlag, Berlin/Heidelberg.
[Cohen93] H. Cohen (1993): A Course in Computational Algebraic Number Theory,
Graduate Texts in Mathematics, Band 138, Springer-Verlag, Berlin/Heidelberg.
[CoSl88] J.H. Conway und N.J. Sloane (1988): Sphere Packings, Lattices and Groups,
Springer-Verlag, New York.
[CJLOSS92] M.J. Coster, A. Joux, B.A. LaMacchina, A.M. Odlyzko, C.P. Schnorr und J. Stern
(1992): An improved low-density Subset Sum Algorithm, Computational
Complexity, Band 2, Seiten 111128.
[CR88] B. Chor und R.L. Rivest (1988): A Knapsack type Public Key Cryptosystem
based on Arithmetic in nite Fields, IEEE Transaction Information Theory,
Band IT-34, Seiten 901909.
109
110 LITERATURVERZEICHNIS
[Di1842] G.L. Dirichlet (1842): Verallgemeinerung eines Satzes aus der Lehrere von
Kettenbr uchen nebst einigen Anwendungen auf die Theorie der Zah-
len, Bericht uber die zur Bekanntmachung geeigneter Verhandlungen der Koniglich
Preussischen Akademie der Wissenschaften zu Berlin, Seiten 9395.
[Damgard89] I.B. Damgard (1989): A Design Principle for Hash Functions, Advances in
Cryptology Proceedings EuroCrypt 89, Lecture Notes in Computer Science,
Band 435 (1990), Springer-Verlag, Berlin/Heidelberg, Seiten 416427.
[Dantzig63] G.B. Dantzig (1963): Linear Programming and Extensions, Princeton Uni-
versity Press, Princeton, New Jersey (dt.

Ubersetzung

Lineare Programmierung
und Erweiterungen 1966 im Springer-Verlag, Berlin/Heidelberg, erschienen).
[DKT87] P.D. Domich, R. Kannan und L.E. Trotter (1987): Hermite normal Form Com-
putation using modulo Determinant Arithmetic, Mathematics of Operation
Research, Band 12, Nr. 1 (Februar), Seiten 5059.
[EmBoas81] P. van Emde Boas (1981): Another ^{-complete Partition Problem and the
Complexity of Computing short Vectors in a Lattice, Technischer Report
81-04, Fachbereich Mathematik der Universitat Amsterdam.
[Euchner91] M. Euchner (1991): Praktische Algorithmen zur Gitterreduktion und Fak-
torisierung, Diplomarbeit, Fachbereich Informatik der Johann-Wolfgang-Goethe-
Universitat, Frankfurt/Main.
[Feller68] W. Feller (1968): An Introduction to Probability Theory and its Applica-
tion, Band I, 3. Auage, John Wiley & Sons, New York.
[Frieze86] A.M. Frieze (1986): On the Lagarias-Odlyzko Algorithm for the Subset
Sum Problem, SIAM Journal on Computing, Band 15, Nr. 2, Seiten 536539.
[GaSi78] J. von zur Gathen und M. Sieveking (1978): A Bound on Solution of linear In-
teger Equations and Inequations, Proceedings of the American Mathematical
Society, Band 72, Seiten 155158.
[GaJo79] M.R. Garey und D.S. Johnson (1979): Computer and Intractability: A Gui-
de to the Theory of ^{-Completness, W.H. Freeman and Company, San
Francisco.
[Gau1801] C.F. Gau (1801): Disquisitiones Arithmeticae, Gerhard Fleischer, Leipzig.
Deutsche

Ubersetzung (1889):

Untersuchung uber hohere Arithmetik, Springer-


Verlag, Berlin/Heidelberg.
[GrLek87] M. Gruber und C.G. Lekkerkerker (1987): Geometry of Numbers, 2. Auage,
North-Holland, Amsterdam.
[GLLS88] M. Grotschel, L. Lovasz und A. Schrijver (1988): Geometric Algorithms and
combinatorial Optimization, Algorithms and Combinatorics, Band 2, Springer-
Verlag, Berlin/Heidelberg.
[HaMcC91] J. Hafner und K. McCurley (1991): Asymptotic Fast Triangulation of Matri-
ces over Ring, SIAM Journal on Computing, Band 20, Nr. 6, Seiten 10681083.
[HJLS89] J. Hastad, B. Just, J.C. Lagarias und C.P. Schnorr (1989): Polynomial Time
Algorithms for Finding Integer Relations among real Numbers, SIAM
Journal on Computing, Band 18, Nr. 5, Seiten 859881.
[Helfrich85] B. Helfrich (1985): Algorithms to construct Minkowski reduced and Her-
mite reduced Lattice Bases, Theoretical Computer Science, Band 41, Seiten
125139.
LITERATURVERZEICHNIS 111
[Hermite1850] C. Hermite (1850): Extraits de lettres de M. Ch. Hermite `a M. Jacobi
sur dierents objets de la theorie des nombres, Deuxi`eme lettre, Reine
Angewandte Mathematik, Band 40, Seiten 279290.
[Hlawka44] E. Hlawka (1944): Zur Geometrie der Zahlen, Mathematische Zeitschrift, Band
49, Seiten 285312.
[Horner94] H.H. Horner (1994): Verbesserte Gitterbasenreduktion; getestet am Chor-
Rivest-Kryptosystem und an allgemeinen Rucksackproblemen, Diplom-
arbeit, Fachbereich Mathematik der Johann-Wolfgang-Goethe-Universitat, Frank-
furt/Main.
[John48] F. John (1948): Extremum Problems with Inequalities as subsidiary Con-
ditions, in K.O. Friedrichs, O.E. Neugebauer und J.J. Stoker (Ed.):

Studies and
Essays presented to R. Courant on his 60th Birthday Januar 8, 1948, Interscience
Publisher, New York, Seiten 187204.
[JoSt94] A. Joux und J. Stern (1994): Lattice Reduction: A Toolbox for the Cryp-
tanalyst, Technischer Report, DGA/CELAR, Bruz (Frankreich). Eingereicht bei
Journal of Cryptology.
[KaLe78] G.A. Kabatiansky und V.I. Levenshtein (1978): Bounds for Packings on a
Sphere and in Space, Problems of Information Transmission, Band 14, Seiten
117.
[Kaib91] M. Kaib (1991): The Gau Lattice Basis Reduction succeeds with any
Norm, Proceedings of Fundamentals of Computation Theory (FCT 91), Springer
Lecture Notes in Computer Science, Band 591, Seiten 275286.
[Kaib94] M. Kaib (1994): Gitterbasenreduktion f ur beliebige Normen, Disserta-
tion, Fachbereich Mathematik der Johann-Wolfgang-Goethe-Universitat, Frank-
furt/Main.
[KaSchn96] M. Kaib und C.P. Schnorr (1996): The Generalized Gauss Reduction Algo-
rithm, Journal of Algorithms, Band 21, Nr. 3 (November), Seiten 565578.
[KaBa79] R. Kannan und A. Bachem (1979): Polynomial Algorithm for Computing the
Smith and the Hermite Normal Form of an Integer Matrix, SIAM Journal
on Computing, Band 8, Seiten 499507.
[Kannan87] R. Kannan (1987): Minkowskis Convex Body Theorem and Integer Pro-
gramming, Mathematics of Operation Research, Band 12, Nr. 3 (August), Seiten
415440.
[Karma84] M. Karmarkar (1984): A new Polynomial-Time Algorithm for Linear Pro-
gramming, Combinatorica, Band 4, Seiten 373395.
[Khach79] L.G. Khachiyan (1979): A Polynomial Algorithm in Linear Programming,
Soviet Mathmatics Doklady, Band 20, Seiten 191194.
[Khach80] L.G. Khachiyan (1980): Polynomial Algorithms in Linear Programming,
U.S.S.R. Computational Mathematics and Mathematical Physics, Band 20, Seiten
5372.
[KoZo1872] A. Korkine und G. Zolotare (1872): Sur les formes quadratique positive
quaternaires, Mathematische Annalen, Band 5, Seiten 366-389.
[KoZo1873] A. Korkine und G. Zolotare (1873): Sur les formes quadratique, Mathemati-
sche Annalen, Band 6, Seiten 366389.
112 LITERATURVERZEICHNIS
[KoZo1877] A. Korkine und G. Zolotare (1877): Sur les formes quadratique positive,
Mathematische Annalen, Band 11, Seiten 242292.
[Knuth71] D.E. Knuth (1971): The Art of Computer Programming, Fundamental Algo-
rithms, Band I, Addison-Wesley, Reading.
[LARIFARI] M. Kaib, R. Mirwald, C. Rossner, H.H. Horner, H. Ritter (1994): Programmier-
anleitung f ur LARIFARI Version 13.07.1994, Fachbereiche Mathematik
und Informatik der Johann-Wolfgang-Goethe-Universitat, Frankfurt/Main.
[La1773] J.L. Lagrange (1773): Recherches darithmetique, Nouveaux Memoires de
lAcademie Royale des Sciences et Belles-Lettres, Berlin, Seiten 265312.
[Lang93] S. Lang (1993): Algebra, 3. Auage, Addison-Wesley, Reading.
[LLS90] J.C. Lagarias, H.W. Lenstra und C.P. Schnorr (1990): Korkin-Zolotarev Bases
and successive Minima of a Lattice and its reciprocal lattice, Combinato-
rica, Band 10, Seiten 333348.
[LaOd85] J.C. Lagarias und A.M. Odlyzko (1985): Solving low-density Subset Sum Pro-
blems, Journal of ACM, Band 32, Nr. 1, Seiten 229246.
[LLL82] A.K. Lenstra, H.W. Lenstra und L. Lovasz (1982): Factoring Polynomials with
Rational Coecients, Springer Mathematische Annalen, Band 261, Seiten 515
534.
[Lenstra83] H.W. Lenstra (1983): Integer Programming in a xed Number of Variables,
Mathematics of Operation Research, Band 8, Nr. 4 (November), Seiten 538548
[Lovaz86] L. Lovasz (1986): An algorithmic Theory of Numbers, Graphs and Conve-
xity, CBMS-NSF Regional Conference Series in Applied Mathematics, Band 50,
SIAM Publications, Philadelphia.
[LoSc92] L. Lovasz und H. Scarf (1992): The Generalized Basis Reduction Algorithm,
Mathematics of Operation Research, Band 17, Nr. 3 (August), Seiten 751764.
[MaOd90] J.E. Mazo und A.M. Odlyzko (1990): Lattice Points in high-dimensional
Sphere, Monatsheft Mathematik, Band 110, Seiten 4761.
[Mink1896] H. Minkowski (1896): Geometrie der Zahlen, erste Auage, Teubner-Verlag,
Leipzig.
[Mink1911] H. Minkowski (1911): Gesammelte Abhandlungen, Band I und II, Teubner-
Verlag, Leipzig.
[Mishra93] B. Mishra (1993): Algorithmic Algebra, Texts and Monographs in Computer
Science, Springer-Verlag, New-York.
[Orton1994] G. Orton (1994): A multiple-iterated Trapdoor for dense compact
Knapsacks, Advances in Cryptology Proceedings EuroCrypt 94, Lecture Notes
in Computer Science, Band 950 (1995), Springer-Verlag, Berlin/Heidelberg, Seiten
112130.
[PaSchn87] A. Paz und C.P. Schnorr (1987): Approximating Integer Lattices by Latti-
ces with cyclic Factor Group, 14.th International Colloquium on Automata,
Languages and Programming (ICALP), Lecture Notes in Computer Science, Band
267, Springer-Verlag, Berlin/Heidelberg, Seiten 386393.
[Rieger78] G.J. Rieger (1978): uber die mittlere Schrittzahl bei Divisionsalgorithmen,
Mathematische Nachrichten, Band 82, Seiten 157180.
LITERATURVERZEICHNIS 113
[Ritter96] H. Ritter (1996): Breaking Knapsack Cryptosystems by

-norm Enume-
ration, Proceedings of the 1.st International Conference on the Theory and Appli-
cations of Cryptography PragoCrypt 96, CTU Publishing House, Prag, Seiten
480492.
[Ritter97] H. Ritter (1997): Aufzahlung kurzer Gittervektoren in allgemeiner Norm,
Dissertation, Fachbereich Mathematik der Johann-Wolfgang-Goethe-Universitat,
Frankfurt/Main.
[Rogers64] C.A. Rogers (1964): Packing and Covering, Cambridge University Press, Cam-
bridge.
[Schnorr87] C.P. Schnorr (1987): A Hierarchy of polynomial time Lattice Basis Reduc-
tion Algorithms, Theoretical Computer Science, Band 53, Seiten 201224.
[Schnorr88] C.P. Schnorr (1988): A more ecient Algorithm for Lattice Basis Reduc-
tion, Journal of Algorithms, Band 9, Seiten 4762.
[Schnorr91a] C.P. Schnorr (1991): Gittertheorie und ganzzahlige Optimierung, Skript zur
Vorlesung, Johann-Wolfgang-Goethe-Universitat, Frankfurt/Main.
[Schnorr91b] C.P. Schnorr (1991): Factoring Integers and Computing Discrete Loga-
rithms via Diophantine Approximation, Advances in Cryptology Procee-
dings EuroCrypt 91, Lecture Notes in Computer Science, Band 547, Springer-
Verlag, Berlin/Heidelberg, Seiten 171181.
[SchnEu91] C.P. Schnorr und M. Euchner (1991): Lattice Basis Reduction: improved Al-
gorithms and solving Subset Sum Problems, Proceedings of Fundamentals
of Computation Theory (FCT 91), Lecture Notes in Computer Science, Band 591,
Springer-Verlag, Berlin/Heidelberg, Seiten 6885.
[Schnorr93] C.P. Schnorr (1993): Factoring Integers and Computing Discrete Loga-
rithms via Diophantine Approximation, Advances in Computational Com-
plexity, Ed. Jim-Yi Cai, AMS DIMACS Series in Discrete Mathematics and Theo-
retical Computer Science, Band 13, Seiten 171182.
[Schnorr94a] C.P. Schnorr (1994): Block Reduced Lattice Bases and Successive Minima,
Combinatorics, Probability and Computing, Band 3, Seiten 507522.
[Schnorr94b] C.P. Schnorr (1994): Gittertheorie und Kryptographie, Ausarbreitung,
Johann-Wolfgang-Goethe-Universitat, Frankfurt/Main.
[SchnHo95] C.P. Schnorr und H.H. Horner (1995): Attacking the Chor-Rivest Cryptosy-
stem by improved Lattice Reduction, Advances in Cryptology Proceedings
EuroCrypt 95, Lecture Notes in Computer Science, Band 921, Springer-Verlag,
Berlin/Heidelberg, Seiten 112.
[Schrijver86] A. Schrijver (1986): Theory of Linear and Integer Programming, Wiley-
Interscience Series in discrete Mathematics and Optimization, John Wiley & Son
Ltd.
[Seysen93] M. Seysen (1993): Simultaneous Reduction of a Lattice and its reciprocal
Basis, Combinatorica, Band 13, Seiten 363376.
[Siegel89] C.L. Siegel (1989): Lectures on the Geometry of Numbers, Springer-Verlag,
Berlin/Heidelberg.
[Smith1861] H.J.S. Smith (1861): On Systems of linear indeterminate Equations and
Congruences, Philosophical Transaction of the Royal Society of London, Band
151, Seiten 293326.
114 LITERATURVERZEICHNIS
[SpStr76] E. Specker und V. Strassen (1976): Komplexitat von Entscheidungspro-
blemem, Lecture Notes in Computer Science, Band 43, Springer-Verlag, Ber-
lin/Heidelberg.
[Vetchin82] N.M. Vetchinkin (1982): Uniqueness of Classes of positive quadratic Forms
on which Values of the Hermite Constants are attained for 6 n 8,
Proceedings of the Steklov Institute of Mathematics, Nr. 3, Seiten 3795.
[Watson66] G.L. Watson (1966): On the Minimum of a positiv Quadratic Form in n
(n 8) Variables (Verication of Blichfeldts Calculations), Proceeedings
of the Cambrigde Philosophical Society (Mathematical and Physical Science), Band
62, Seite 719.
[Ye91] Y. Ye (1991): Potential Reduction Algorithm for Linear Programming,
Mathematical Programming, Band 51, Seiten 239258.