26.02.2013 Views

Lattice Basis Reduction in Infinity Norm - Technische Universität ...

Lattice Basis Reduction in Infinity Norm - Technische Universität ...

Lattice Basis Reduction in Infinity Norm - Technische Universität ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

– z := 0<br />

• ELSE<br />

3. END WHILE<br />

– size-reduce b1, b2, ...., bm<br />

– z := z + 1<br />

OUTPUT: BKZ-reduced basis b1, b2, ...., bm<br />

The same logic is applied here as <strong>in</strong> the algorithm that works with respect<br />

to the Euclidean norm. j is cyclically shifted through the <strong>in</strong>tegers<br />

1, 2, ...., m − 1. The variable z counts the number of positions j which satisfy<br />

the <strong>in</strong>equality δFj(bj) < ¯ Fj. Here aga<strong>in</strong>, if the <strong>in</strong>equality does not<br />

hold, bnew is <strong>in</strong>serted <strong>in</strong>to the basis, a size-reduction is done and z is set to<br />

j<br />

0. The term j = m is skipped s<strong>in</strong>ce for it the <strong>in</strong>equality always holds. The<br />

basis (b1, b2, ...., bj−1, b new<br />

j<br />

) is extended to (b1, b2, ...., bj−1, b new<br />

j<br />

us<strong>in</strong>g the coefficients uj <strong>in</strong> the representation bnew j<br />

, ...., b new<br />

h )<br />

= � h<br />

i−j uibi. The ma-<br />

trix T ∈ GLh−j+1(Z) with [uj, ...., uh] · T = [1, 0, ...., 0] is computed at this<br />

po<strong>in</strong>t and the vectors [bnew j , ...., bnew h ] are set to [bj, ...., bh] · T −1 .<br />

The backbone of the algorithm is aga<strong>in</strong> the rout<strong>in</strong>e ENUM(j, k), which<br />

computes the m<strong>in</strong>imal po<strong>in</strong>t (uj, ...., uk) so that the m<strong>in</strong>imum of ¯ Fj can be<br />

found. Here we are look<strong>in</strong>g for a vector b ∈ L(b1, b2, ..., bm) ⊂ Rn with<br />

� b �p = λ1,�·�p (L). Let ¯ b = �m i−1 uibi be the vector that has the m<strong>in</strong>imum<br />

lp-norm from all enumerated lattice vectors. At the beg<strong>in</strong>n<strong>in</strong>g of the algorithm<br />

the vector ¯ b is set to b1 which means that (u1, ...., um) = (1, 0, ...., 0).<br />

We can stop the search for the shortest lattice vector <strong>in</strong> a partial tree with<br />

a root (ũt, ...., ũm) as soon as Ft(ωt) ≥ � ¯ b �p.<br />

For this stop criterion the m<strong>in</strong>imal po<strong>in</strong>t (λt, ...., λm) of the function<br />

f(µt, ...., µm) :=� ¯ b �p� �m i=1 µiωi �q −˜ct, with µi ∈ R and �m i=1 µiωi = ˜ct,<br />

must be first computed. The enumeration could be stopped if f(λt, ...., λm)<br />

is negative. The m<strong>in</strong>imum of this function is calculated <strong>in</strong> polynomial time<br />

with the help of the Ellipsoid method. The cost of the stop criterion is<br />

comparable to the cost of the computation of the distance functions. Our<br />

purpose is thus to f<strong>in</strong>d an optimal range of vectors (λt, ..., λm). For (λt, ...,<br />

λm) = (1, 0, ..., 0) we get<br />

¯ct<br />

�ωt�q ≥ � ¯ b �p=⇒ Ft(ωt) ≥ � ¯ b �p<br />

This gives us a stop criterion which can be tested <strong>in</strong> l<strong>in</strong>early many arithmetical<br />

operations.<br />

For (λt, ...., λm) = (1, 0, ...., 0) we have<br />

|ũt + yt| ≥ �¯ b�p� ˆ bt�q<br />

ct<br />

=⇒ Ft(ωt) ≥ � ¯ b �p<br />

In this way we can limit the number of possible values of ũt with constant<br />

(ũt+1, ...., ũm) a priori.<br />

26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!