Paper 2020/461
A Polynomial-Time Algorithm for Solving the Hidden Subset Sum Problem
Jean-Sébastien Coron and Agnese Gini
Abstract
At Crypto ’99, Nguyen and Stern described a lattice based algorithm for solving the hidden subset sum problem, a variant of the classical subset sum problem where the n weights are also hidden. While the Nguyen-Stern algorithm works quite well in practice for moderate values of n, we argue that its complexity is actually exponential in n; namely in the final step one must recover a very short basis of a n-dimensional lattice, which takes exponential-time in n, as one must apply BKZ reduction with increasingly large block-sizes. In this paper, we describe a variant of the Nguyen-Stern algorithm that works in polynomial-time. The first step is the same orthogonal lattice attack with LLL as in the original algorithm. In the second step, instead of applying BKZ, we use a multivariate technique that recovers the short lattice vectors and finally the hidden secrets in polynomial time. Our algorithm works quite well in practice, as we can reach n=250 in a few hours on a single PC.
Metadata
- Available format(s)
- Category
- Public-key cryptography
- Publication info
- A minor revision of an IACR publication in CRYPTO 2020
- Keywords
- Subset-sum problemlattice cryptanalysisLLL.
- Contact author(s)
-
jscoron @ gmail com
agnese gini @ uni lu - History
- 2021-07-28: last of 3 revisions
- 2020-04-24: received
- See all versions
- Short URL
- https://ia.cr/2020/461
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2020/461, author = {Jean-Sébastien Coron and Agnese Gini}, title = {A Polynomial-Time Algorithm for Solving the Hidden Subset Sum Problem}, howpublished = {Cryptology {ePrint} Archive, Paper 2020/461}, year = {2020}, url = {https://eprint.iacr.org/2020/461} }