Next: Bibliography
Up: Conclusions
Previous: Candidate Lattices for Seysen
Modifying Algorithm SL
The combination of the Seysen and LLL reduction algorithms used in
Chapter 3 to solve subset sum problems is a
significant improvement over previously tried techniques. There is
still plenty of room for improvement. The performance of Algorithm
SL declines steadily over the range
.
For subset
sum problems with
,
Algorithm SL had difficulty
solving instances with density
,
well below the
theoretical density bound.
There are a number of ways in which Algorithm SL could be extended
in order to attack subset sum problems with larger n,d values. For
example, any of the techniques mentioned in
Section 2.3 above could be applied to the Seysen
phases of the algorithm. We can clearly imagine that another measure
function S'(A) might perform better for sparse, subset-sum generated
lattices when compared to the performance of
.
Another method of extending Algorithm SL would be to increase the
values of the
and
parameters. We have seen that
increasing
(the number of different orderings of the initial
LLL lattice basis vectors) from one to five yields markedly better
performance. Along similar lines, one could also allow more LLL-
Weight-Reduction-Sort loops to occur for each randomization.
Recall that for Algorithm SL,
,
the maximum number of
loops, was set to eight. After eight iterations without finding the
desired solution vector in the lattice basis, Algorithm SL would
``give up'' and select a new randomization of the LLL-Phase input
lattice basis. The choice to set
was made arbitrarily;
Radziszowski and Kreher used
in their experiments. The
majority of the work performed during the LLL-Phase of Algorithm SL
occurs during the first LLL-Loop on each of the
iterations; the
second through
LLL-Loops perform only a fraction of
the number of row moves performed by the first loop. In our
experiments, subsequent LLL-Loops tended to perform only
the row operations performed in the initial LLL-
Weight-Reduction-Sort iteration. This means that
could
probably be increased to around 20 and the overall running time of the
LLL-Phase would probably double.
Increasing the number of LLL-Loops appears to be an inexpensive way to
allow Algorithm SL to perform more reduction operations on a
lattice basis. One must consider, however, how much an increase in
will improve the rate at which Algorithm SL solves subset
sum problems. We know from [33] that Radziszowski and Kreher
were able to improve upon the Lagarias-Odlyzko algorithm by
significantly increasing
.
Furthermore, in some very recent
experiments Euchner and Schnorr (personal communication) were able to
obtain performance close to that of Algorithm SL with
and
.
The Euchner-Schnorr reduction algorithm utilizes some
other heuristics not included in Algorithm SL but uses only the
LLL algorithm as the main reduction technique. To date, Euchner and
Schnorr have only reported on experiments involving subset sum problems
of size
;
the performance of their technique on lattice bases
in higher dimensions is unknown. Even their preliminary results,
though, suggest that it might be worthwhile to increase the number of
reduction stages in Algorithm SL, even if it is necessary to
reduce
in order to maintain comparable running times. Also, as
their methods uses only the LLL algorithm, a combination of their
techniques and Algorithm SL is certainly possible.
Another factor to consider in Algorithm SL is the structure of our
version of LLL. Recall that instead of running LLL with
we used a fixed number of LLL stages with varying y values. The
first stage used a value of y slightly greater than
,
and
subsequent stages used larger and larger values of y. For the first
stage of the
reduction stages, the multiple-value version of LLL
significantly reduced the overall running time of the algorithm.
However, later reduction stages were generally unable to benefit from
this structure; in fact, in many cases the lattice was reduced further
only by the stages with
.
Future implementations might
consider removing the LLL stages with small y values for the second
through
reduction loops.
In Section 2.3.3 we discussed how Hadamard matrices
could be used to randomly permute a lattice basis which was locally
Seysen-reduced in the hope that reapplying Seysen's algorithm would
yield a better reduced lattice basis. This same technique could be
applied to both the Seysen and LLL phases of Algorithm SL and
might yield significant improvements. Hadamard matrices could be used
to permute a Seysen-reduced lattice basis whose Seysen measure is a
local minimum of the S(A) function. Such a permutation might then
permit Seysen's algorithm to reach another lattice basis with smaller
S(A) value, which in turn could increase the ratio of work performed
by the Seysen phase to that performed by the LLL phase. Similarly,
recall that under the current scheme once a lattice basis has been
LLL-reduced
times without yielding a solution vector, that basis
is forgotten and a new iteration is started using a random permutation
of the output of the Seysen phase. Instead of ``throwing away'' the
LLL-reduced basis, which has shorter basis vectors than the
Seysen-reduced basis, a Hadamard permutation could be applied to the
output of the
stages. This permuted basis would then be used as
the input basis to the next big iteration. Assuming that the Hadamard
permutation method sufficiently ``scrambles'' the lattice basis, we
could thus avoid the overhead of having to reduce the output of the
Seysen phase more than once.
Finally, it is possible to modify Algorithm SL to take into account
additional information related to the creation of the specific subset
sum problem. In [12] it is shown how to tailor the input
lattice basis for a subset sum problem if it is known that the number of
elements in the desired subset of weights is bounded by a fraction of
n. That is, if it is known that
then the lattice basis can be modified so that a solution vector exists
of length
.
(In the worst case,
and the solution vector is the familiar
vector with
.) For instances of the general subset
sum problem no information is known concerning
.
Some
knapsack cryptosystem, such as the Chor-Rivest system [11], do
use subsets with relatively few weights. When attacking such systems,
Algorithm SL should be modified to use the tailored lattice basis
described in [12].
Next: Bibliography
Up: Conclusions
Previous: Candidate Lattices for Seysen
Brian A. LaMacchia
1999-10-30