Gitter und Kryptographie - Goethe-Universität
Gitter und Kryptographie - Goethe-Universität
Gitter und Kryptographie - Goethe-Universität
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
44KAPITEL 5. LÖSEN VON SUBSETSUM-PROBLEMEN DURCH KURZE GITTERVEKTOREN<br />
beliebig klein, wenn nur die Dichte d hinreichend klein ist.<br />
Dichte d des Subsetsum-Problems<br />
d :=<br />
n<br />
log 2 ( max<br />
i=1,...,n a i)<br />
<strong>und</strong> somit<br />
max<br />
i=1,...,n a i = 2 n/d .<br />
Für Dichte d ≫ 1 gibt es bei zufälliger Wahl der Gewichte a 1 , . . . , a n “in der Regel“ viele<br />
Lösungen. Am schwierigsten gelten zufällige Subsetsum-Probleme mit Dichte nahe bei 1.<br />
In kleiner Dimension n findet man einen kürzesten <strong>Gitter</strong>vektor durch <strong>Gitter</strong>basenreduktion<br />
siehe [SH95, SE94]. Dies führt zu Angriffen auf Krypto-Schemata, die auf Subsetsum-Problemen<br />
basieren. C.P. Schnorr <strong>und</strong> H.H. Hörner [SH95] haben das Chor-Rivest-System [CR88] mittels<br />
<strong>Gitter</strong>reduktion angegriffen.<br />
5.2 Die Lagarias-Odlyzko-<strong>Gitter</strong>basis<br />
J.C. Lagarias <strong>und</strong> A.M. Odlyzko [LaOd85] schlagen die folgende <strong>Gitter</strong>basis B vor um das Subsetsum-<br />
Problem durch ein SVP-Orakel zu L(B) zu lösen. Die letzte Zeile von B wird von uns zur Beweisvereinfachung<br />
hinzugefügt. Wir überarbeiten die Darstellung von [CJLOSS92].<br />
(5.1)<br />
⎡<br />
⎤<br />
1 0 · · · 0 0<br />
0 1 0 0<br />
.<br />
B = [b 1 , · · · , b n+1 ] :=<br />
.<br />
.. . .<br />
∈ Z (n+2)×(n+1)<br />
⎢ 0 0 1 0<br />
⎥<br />
⎣Na 1 Na 2 · · · Na n Ns⎦<br />
0 0 · · · 0 1<br />
<strong>und</strong> L(B) = L LO sei das zugehörige <strong>Gitter</strong>. Die Lösung e ∈ {0, 1} n von ∑ n<br />
i=1 x ie i = s liefert den<br />
Lösungsvektor<br />
(5.2)<br />
ê := ( ∑ n<br />
i=1 e ib i<br />
)<br />
− bn+1 = (e 1 , . . . , e n , 0, −1) t ∈ L LO .<br />
Entweder e oder e = 1 − e, die Lösung zum inversen Subsetsum-Problem, hat höchstens n/2<br />
Einsen <strong>und</strong> liefert damit einen Lösungsvektor in L LO der Länge ≤ √ n/2 + 1. Für jeden Vektor<br />
̂x = (x 1 , ..., x n+1 , −y) ∈ L LO mit ‖̂x‖ = λ 1 gilt somit für N ≥ √ n/2: ∑ i≠n+1 |x i| ≥ 2, x n+1 = 0.<br />
Satz 5.2.1<br />
Für n > n 0 <strong>und</strong> N ≥ √ n/2 werden fast alle lösbare Subsetsum-Probleme zu (a 1 , . . . , a n ) ∈ [1, A] n<br />
der Dichte d < 0, 6463 durch jeden Vektor der Länge λ 1 von L LO für s oder s = t − s gelöst.<br />
Beweis. Sei ‖e‖ 2 ≤ n/2. Das SVP-Orakel liefere den <strong>Gitter</strong>vektor ̂x := ∑ n<br />
i−1 x ib i − yb n+1 der<br />
Länge λ 1 mit y ≥ 0. Löst ̂x das Subsetsum-Problem nicht so gilt<br />
(5.3)<br />
‖̂x‖ = λ 1 ≤ √ n/2 + 1, ̂x ≠ ê.<br />
Wir analysieren die Wahrscheinlichkeit des Misserfolgs<br />
P (n) := Ws[ Es existiert ein ̂x ∈ L CJLOSS mit (5.3)]<br />
bezüglich zufälliger (a 1 , . . . , a n ) ∈ R [1, A] n . Für N ≥ √ n/2 wurde oben gezeigt dass x n+1 = 0<br />
<strong>und</strong> somit ∑ n<br />
i=1 a ix i = ys. Offenbar gilt 0 ≤ y < λ 1 ≤ √ n/2 + 1. Wir setzen x := (x 1 , ..., x n ).