Next: Previous Empirical Methods
Up: Solving Subset Sum Problems
Previous: Introduction
Theoretical Bounds on Solving Subset Sum
Problems
The majority of attacks on knapsack-based cryptosystems exploit
the specific constructions of the cryptosystems. Two algorithms have
been proposed, however, which depend only on the properties of the
subset sum problem and not on any specific method of construction.
These algorithms, one by Brickell [6] and one by Lagarias and
Odlyzko [26], show that almost all low-density subset sum
problem may be solved in polynomial time. The density d of a
set of weights
is defined by
 |
(3.2) |
For d > 1 there will in general be many subsets of weight with the
same sum s, so from an encryption-decryption point of view we are
interested in subset sum problem instances with
.
The
Brickell and Lagarias-Odlyzko algorithms show that it is possible to
solve almost all subset sum problems with d sufficiently small.
The Brickell and Lagarias-Odlyzko attacks reduce the subset sum problem
to the problem of finding the Euclidean-norm shortest nonzero vector in a
lattice. As was mentioned in Section 1.1 above, finding
short vectors in lattices may be very hard in general. The theoretical
worst-case bounds for the LLL algorithm and its variants are not
encouraging, and no bound currently exists for Seysen's algorithm.
However, these techniques tend to perform much better in practice than
in theory; the performance of Seysen's algorithm on the
Korkin-Zolotarev test lattice with
(Section 2.2.3) is one such empirical example. Thus, it
seems important to separate the efficiency of lattice reduction and finding
short nonzero vectors from the difficulty in reducing subset sum problems to
lattice reduction questions.
We consider a Euclidean-norm lattice oracle (or lattice
oracle for short) that, when given a lattice basis as its input, with
high probability finds in polynomial time the Euclidean-norm shortest
nonzero vector in the given lattice. We do not know how to construct
such an oracle, but it might be possible to do so. Data provided in
[26,33] show that at low densities the LLL algorithm behaves as
a lattice oracle, and our results in Section 3.5
below show that this is also the case for a combination of the Seysen
and LLL algorithms, even for significantly larger and denser subset sum
problems. Given the existence of a lattice oracle, the analysis in
[26] shows that it is possible to solve almost all subset sum
problems of density
in polynomial time. Recently,
Coster, LaMacchia, Odlyzko and Schnorr [12] and Joux and
Stern [19] independently demonstrated via different techniques
that this bound could be improved to
d < 0.9408. In fact, if we
assume the existence of a sup-norm lattice oracle instead of a
Euclidean-norm lattice oracle, [12] showed that the density
bound then becomes d < 1.
The Lagarias-Odlyzko attack proceeds as follows. Let
be a set of weights with
for some positive integer
A and for all
.
Let
be fixed and depend only on n. Then
is the sum of the subset of weights, where ai is in the subset if and only if ei
= 1. Now, define basis vectors
as
follows:
where N is a positive integer
.
Let L be the lattice
defined by the basis vectors
.
That is,
Notice that lattice L contains the vector
,
the solution vector to the subset sum
problem, since
Let P denote the probability that there exists another vector
such that
and
.
The simplified
analysis of the Lagarias-Odlyzko attack presented in
[14] shows that this probability is bounded:
 |
(3.3) |
Thus, if the bound on the size of the weights
A = 2cn with c > c0,
.
If the density of a subset sum problem is
less than
,
then
Thus, all subset sum problems with density
could be
solved in polynomial time, given the existence of a lattice oracle.
Recently, two independent improvements [12,19]
to the Lagarias-Odlyzko attack have been developed, both of which
increase the density bound to
.
The modification
suggested in [12] is to replace the
basis
vector in L with
Let L' be the lattice spanned by the vectors
.
Lattice L' does not
contain the solution vector
,
but it contains a similar vector
:
We know that
for
since
for
.
Then
independent of the number of ei's which are equal to 1.
Using lattice L' we are now interested in the probability P' that
there exists a vector
such that:
 |
(3.4) |
Utilizing similar techniques to those in [14,26,28],
[12] shows that the probability P' is bounded above by:
 |
(3.5) |
This bound is similar to that in Equation 3.3 above. Since
,
any subset sum problem with density
may be solved in polynomial time, given the existence of
a lattice oracle.
Next: Previous Empirical Methods
Up: Solving Subset Sum Problems
Previous: Introduction
Brian A. LaMacchia
1999-10-30