1 An algorithm for finding a shortest vector in a two- dimensional modular lattice An algorithm for...
-
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...
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
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
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
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
( 無條件進位 )
(無條件捨去 )
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