1 An algorithm for finding a shortest vector in a two- dimensional modular lattice An algorithm for...

16
1 An algorithm for finding a shortest vector in a two-dimensional modular lattice Theoretical Computer Science M. Lempel, A. Paz 1994 田田田 95/6/30
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    0

Transcript of 1 An algorithm for finding a shortest vector in a two- dimensional modular lattice An algorithm for...

2

outline

• 前言• Lemma - Geometrical basis

• Lemma - Find shortest vector

• The main algorithm

• Min-cross basis

• Complexity

3

前言• 題目: finding a shortest vector in a two-dimensional mo

dular lattice

• 使用方法: 1. 由向量 v1取 determinant 為 ±d 的另一向量形成一 basi

s, 再依該 basis 求得最短向量 v2.

2.v2取代 v1重覆步驟 1, 直到沒有更短的向量 .

{ (ia mod d, ib mod d ) | 0≦i<d }Example:L7((2,3))={(0,0),(2,3),(4,6),(6,2),(1,5),(3,1),(5,4)}

4

Lemma - Geometrical basis

• 在 Ld(a,b) 上的一向量 (c,e), 其中 gcd(c,e)=1, 另有一向量 (c1,e1), 且 時 , 稱 (c,e) 和(c1,e1) 為 Ld(a,b) 的一 geometrical basis

• Example: (L7(2,3))={(0,0),(2,3),(4,6),(6,2),(1,5),(3,1),(5,4)}

dec

ec

11

745

137

45

327

13

327

51

32

Lattice 中的任兩個向量的 determinant 為 ±kd , 0<k<d

5

Lemma - Find shortest vector

• (c,e) 和 (a,b) 為 Ld(a,b) 的一 geometrical basis• 最短向量為下列兩者之一:

( 求出的向量為正的情形下 ,i0儘可能大 ,i1儘可能小 )

Example: (c,e)=(1,5) (a,b)=(2,3)

=> (1,5)- i0(2,3) min i0 =0 -> (1,5)

-(1,5)+ i1(2,3) min i1 =2 -> (3,1) (shortest)

),(),()'',''(

),(),()','(

1

0

baiecqp

baiecqp

6

The main algorithm

Crossing basis

7

Min-Cross(1)

8

Min-Cross(2)

9

Min-Cross(3)

10

範例 (1)

• L13(5,11)

211

00

21

1

211

00

1

)1,4(3min)4,3()11,5(

)3,2(1min)4,3()11,5(

13115

43)11,5()4,3(:3.4

)4,3(:2.4

:1.4

)11,5()4,3(:4

)4,3(1min)11,5()7,2(

)7,2(0min)11,5()7,2(

1372

115)7,2(),(),11,5(:3

vii

ii

vvstep

vstep

crossnotstep

step

vii

ii

ecvstep

(4,1)return:5

)1,4((4,1):4

)7,2(2min)4,3()1,4(

)1,4(0min)4,3()1,4(

1314

43)1,4()4,3(:3.4

)4,3(:2.4

:1.4

)4,3( (4,1):4

11

200

21

1

step

step

ii

vii

vvstep

vstep

ingcrossstep

step

11

範例 (2)• L13(5,11)

12

範例 (3)• L13(5,8)

)7,6(170:4.2

)6,7()1,1()7,6(

)7,6(0:3.2

02

1

11

17167

1

7:2.2

7

8:1.2

)(

)1,1()7,6()8,5(:1.4

)8,5((6,7):4

)7,6(2min)8,5()9,4(

)9,4(0min)8,5()9,4(

1394

85)9,4(),(),8,5(:3

0

201

2212

22

22

12

211

00

1

returnstep

v

vvppstep

pv

kstep

v

vkstep

crossMin

crossstep

step

vii

ii

ecvstep

( 無條件進位 )

(無條件捨去 )

13

範例 (4)• L13(5,8)

14

範例 (5)

• L20(14,5)

(4,0)return:5

)0,4((2,5):4

)5,2(1min)0,4()5,2(

)5,2(0min)0,4()5,2(

2052

04)5,2()0,4(:3.4

)0,4(:2.4

:1.4

)51,14((4,0):4

)0,4(1min)5,14()5,10(

)5,10(0min)5,14()5,10(

20510

514)5,10(),(),5,14(:3

211

00

21

1

211

00

1

step

step

vii

ii

vvstep

vstep

crossnotstep

step

vii

ii

ecvstep

15

範例 (6)• L20(14,5)

16

Complexity

• Complexity :2

)51(,1

log

log4

d

t