# The Approximate k-List Problem

### Abstract

We study a generalization of the *k*-list problem, also known as the Generalized Birthday problem. In the *k*-list problem, one starts with *k* lists of binary vectors and has to find a set of vectors – one from each list – that sum to the all-zero target vector. In our generalized Approximate *k*-list problem, one has to find a set of vectors that sum to a vector of small Hamming weight *ω*. Thus, we relax the condition on the target vector and allow for some error positions. This in turn helps us to significantly reduce the size of the starting lists, which determines the memory consumption, and the running time as a function of *ω*. For *ω* = 0, our algorithm achieves the original *k*-list run-time/memory consumption, whereas for *ω* = ^{n}/_{2} it has polynomial complexity. As in the *k*-list case, our Approximate *k*-list algorithm is defined for all *k* = 2^{m},m > 1. Surprisingly, we also find an Approximate 3-list algorithm that improves in the runtime exponent compared to its 2-list counterpart for all 0 < *ω* < ^{n}/_{2}. To the best of our knowledge this is the first such improvement of some variant of the notoriously hard 3-list problem. As an application of our algorithm we compute small weight multiples of a given polynomial with more flexible degree than with Wagner’s algorithm from Crypto 2002 and with smaller time/memory consumption than with Minder and Sinclair’s algorithm from SODA 2009.

*IACR Transactions on Symmetric Cryptology*,

*2017*(1), 380-397. https://doi.org/10.13154/tosc.v2017.i1.380-397

Copyright (c) 2017 Leif Both, Alexander May

This work is licensed under a Creative Commons Attribution 4.0 International License.