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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

3.2. REDUKTIONSVERFAHREN FÜR DIE EUKLIDISCHE NORM 27<br />

Algorithmus 3.2.1 Gauß-Reduktionsverfahren für die Euklidische Norm<br />

EINGABE :<br />

<strong>Gitter</strong>basis b 1 , b 2 ∈ R n mit ‖b 1 ‖ ≤ ‖b 2 ‖<br />

WHILE |µ 2,1 | > 1 2 DO /∗ µ2,1 = b⊤ 1 b 2‖b 1‖ −2 ∗/<br />

1. b 2 := b 2 · sign(µ 2,1 ) /∗ wir erreichen µ 2,1 ≥ 0 ∗/<br />

2. b 2 := b 2 − ⌈µ 2,1 ⌋b 1<br />

3. IF ‖b 1 ‖ > ‖b 2 ‖ THEN vertausche b 1 <strong>und</strong> b 2<br />

AUSGABE : Reduzierte Basis b 1 , b 2<br />

Eine R<strong>und</strong>e der Schritte 1. 2. 3. sichert in Schritt 1. durch Vorzeichenwahl von b 2 dass<br />

µ 2,1 ≥ 0, reduziert in Schritt 2. gemäß b 2 := b 2 − ⌈µ 2,1 ⌋b 1 <strong>und</strong> vertauscht in Schritt 3. sofern<br />

nicht schon ‖b 1 ‖ ≤ ‖b 2 ‖ gilt. Nach Schritt 1. gilt stets ‖b 1 ‖ ≤ ‖b 2 ‖ <strong>und</strong> µ 2,1 ≥ 0. Die Schritte 2.<br />

3. lauten bei Vertauschung in Matrizenschreibweise<br />

[ ]<br />

−⌈µ2,1 ⌋ 1<br />

[b 1 , b 2 ] := [b 1 , b 2 ]<br />

.<br />

1 0<br />

In Schritt 3. wird bis auf die letzte R<strong>und</strong>e notwendigerweise vertauscht.<br />

Zu gegebener reduzierten Ausgabebasis b 1 , b 2 <strong>und</strong> R<strong>und</strong>enzahl k der Gauß-Reduktion identifizieren<br />

wir eine minimale Eingabebasis, welche in k R<strong>und</strong>en auf b 1 , b 2 reduziert wird. Die Minimalität<br />

der Basis bedeutet, dass ihre Vektoren minimale Länge haben. Eine solche Eingabebasis<br />

heißt eine minimale k-te Vorgängerbasis zu b 1 , b 2 .<br />

Satz 3.2.1<br />

1. Zur reduzierten Basis b 1 , b 2 <strong>und</strong> R<strong>und</strong>enzahl k ist [b 1 , b 2 ] A k minimale k-te Vorgängerbasis<br />

[ ] [ ] k−2 [ ]<br />

0 1 0 1 0 1<br />

mit A k = def .<br />

1 1 1 2 1 1<br />

2. Algorithmus 3.2.1 macht zur Eingabe b 1 , b 2 höchstens log √<br />

1+ 2<br />

(‖b 1 ‖ /λ 2 ) + 2.54 R<strong>und</strong>en.<br />

Wohlgeordnete Basis. Eine Basis b 1 , b 2 heißt wohlgeordnet wenn ‖b 1 ‖ ≤ ‖b 1 − b 2 ‖ < ‖b 2 ‖.<br />

Dies ist für die Euklidischen Norm äquivalent zu 0 < µ 2,1 ≤ 1 2 , ‖b 1‖ < ‖b 2 ‖. In Schritt 1. wird<br />

also eine wohlgeordnete Basis erzeugt, es sei denn die Basis ist schon reduziert. Offenbar gelten<br />

folgende Aussagen.<br />

Lemma 3.2.2<br />

Für jede nicht reduzierte Basis mit ‖b 1 ‖ ≤ ‖b 2 ‖ ist genau eine der Basen b 1 , ±b 2 wohlgeordnet.<br />

Lemma 3.2.3<br />

Wendet man die Schritte 2. 3. an auf zwei aquivalente Basen b 1 , b 2 <strong>und</strong> b ′ 1, b ′ 2, so bleibt die<br />

Äquivalenz erhalten.<br />

Wegen Lemma 3.2.3 gibt es zu gegebener reduzierten Basis eine minimale k-te Vorgängerbasis,<br />

bei deren Reduktion das Vorzeichen von b 2 in Schritt 1. nie verändert wird. Dies folgt aus dem<br />

Lemma, weil äquivalente Basen in der Länge der Vektoren gleich sind.<br />

Die Gauß-Reduktion mit k R<strong>und</strong>en erzeugt in Schritt 1. eine Folge wohlgeordneter Basen<br />

(b k+1 , b k+2 ), (b k , b k+1 ), . . . , (b 2 , b 3 ) <strong>und</strong> schließlich die reduzierte Basis (b 1 , b 2 ). Bleibt das Vor-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!