28.04.2014 Aufrufe

Gitter und Kryptographie - Goethe-Universität

Gitter und Kryptographie - Goethe-Universität

Gitter und Kryptographie - Goethe-Universität

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

98 KAPITEL 11. KOMPLEXITÄT, N P-VOLLSTÄNDIGKEIT<br />

3. {0, 1}-Integer-Programming:<br />

{0, 1}-IP :=<br />

{<br />

(m, n, A, b)<br />

∣<br />

A ∈ Z m×n , b ∈ Z m ,<br />

∃x ∈ {0, 1} n : Ax ≤ b<br />

}<br />

4. Schwache Zerlegung:<br />

{<br />

(n, a 1 , . . . , a n ) ∈ N n+1 ∣ ∣∣∣∣<br />

∃ (x 1 , . . . , x n ) ∈ {0, ±1} n \ {0 n } :<br />

}<br />

n∑<br />

a i x i = 0<br />

Beweis. Für 1,2,3 siehe [GaJo79][SS76], für 4 siehe [EB81]. Den Nachweis, daß es für die Sprache<br />

Integer-Programming polynomiell lange Zeugen gibt, also IP ∈ N P, werden wir in Satz 11.2.6<br />

führen.<br />

<br />

Satz 11.2.6 (von zur Gathen, Sieveking 1978)<br />

IP ∈ N P.<br />

Beweis. Wir wählen als Zeugen für (m, n, A, b) ∈ IP ein geeignetes x ∈ Z n mit Ax ≤ b. Offenbar<br />

existiert x genau dann, wenn (m, n, A, b) ∈ IP. Wir müssen noch zeigen, daß der Zeuge polynomielle<br />

Länge hat.<br />

Sei A =: (a ij ) ij <strong>und</strong> b =: (b 1 , . . . , b m ) T . Setze M := max i,j {|a ij | , |b i |}. Nach [GaSi78] gilt:<br />

(∃x ∈ Z n : Ax ≤ b) ⇐⇒ ( ∃x ∈ Z n : Ax ≤ b, ‖x‖ ∞<br />

≤ (n + 1)n n 2 M<br />

n )<br />

Die obere Schranke von ‖x‖ ∞<br />

impliziert, daß die Länge des Zeugen x polynomiell in der Länge<br />

von A <strong>und</strong> b beschränkt ist. Wegen l(m, n, A, b) ≥ nm + log 2 M gilt:<br />

l(x) = O ( n 2 (log n + log M ) = O ( l(m, n, A, b) 3)<br />

Wir definieren die Begriffe, die elementar für die weiteren Kapitel sind:<br />

i=1<br />

<br />

Definition 11.2.7 (<strong>Gitter</strong>, Basis, Dimension, Rang)<br />

Seien b 1 , . . . , b n ∈ R m linear unabhängige Vektoren. Wir nennen die additive Untergruppe<br />

L(b 1 , . . . , b n ) :=<br />

{<br />

n∑<br />

n<br />

∣ }<br />

∑ ∣∣∣∣<br />

b i Z = t i b i t 1 , . . . , t m ∈ Z<br />

i=1<br />

des R m ein <strong>Gitter</strong> mit der Basis b 1 , . . . , b n . Ist die Reihenfolge der Basisvektoren fest, sprechen<br />

wir von einer geordneten Basis. Der Rang oder auch die Dimension des <strong>Gitter</strong>s ist Rang(L) := n.<br />

i=1<br />

Betrachten wir ein Beispiel:<br />

Beispiel 11.2.8 (<strong>Gitter</strong>)<br />

Z m ist ein <strong>Gitter</strong> vom Rang m, die Einheitsvektoren bilden eine Basis. Zur Matrix A ∈ M m,n (Z)<br />

ist {x ∈ Z n | Ax = 0} ein <strong>Gitter</strong> vom Rang n − Rang(A); nach Satz 11.2.4 können wir in Polynomialzeit<br />

eine Basis konstruieren.<br />

⋄<br />

Wir versuchen, durch <strong>Gitter</strong>reduktion einen kürzesten, nicht-trivialen <strong>Gitter</strong>vektor zu finden.<br />

Im Fall der sup-Norm ist dies unter der Annahme P ≠ N P nicht immer effizient möglich:

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!