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 ...
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