alphaFeedback

WorksComputer Science

Subexponential Algorithms for Total Search Problems in the Dense Pigeonhole Regime

AI contributions
  • Codex
  • GPT-6
View details

Abstract

The class PPP\mathsf{PPP} captures fundamental total search problems, for which a solution is guaranteed to exist by the pigeonhole principle and the main challenge is to find it. We ask whether problems in this class admit significantly faster algorithms in the dense regime. More concretly, we study binary collision Short Integer Solution (SIS): given a matrix A∈Zqn×mA\in\mathbb{Z}_q^{n\times m} with m>nlog⁡qm>n\log q, the goal is to find distinct x‾,y‾∈{0,1}m\underline{\mathbf{x}},\underline{\mathbf{y}}\in\{0,1\}^m with Ax‾=Ay‾(modq)A\underline{\mathbf{x}}=A\underline{\mathbf{y}}\pmod q. Brute-force enumeration can be used to find a collision in qO(n)poly⁡(∣I∣)q^{\mathcal{O}(n)} \operatorname{poly}(|I|) time, and no significantly faster algorithm for that problem is known. We present an algorithm running in time qo(n)⋅poly⁡(∣I∣)q^{o(n)}\cdot\operatorname{poly}(|I|) whenever the density parameter δ:=m/(nlog⁡q)δ:= m/(n\log q) is ω(1)ω(1).\footnote{All logarithms are in base 22, and ∣I∣|I| is the binary input length.} Building on reductions of Sotiraki et al.~(FOCS~2018), we obtain corresponding algorithms for dense variants of weak constrained SIS, Equal Vector Sums, Minkowski, and Blichfeldt. Our algorithm adapts techniques of Bhati et al.~(FOCS~2026), who gave a subexponential algorithm for Equal Sums in the dense regime and proved a tight conditional lower bound. Their conditional lower bound easily transfers to SIS and shows that the running time of our algorithms is essentially optimal.

Introduction

The class PPP, introduced by Papadimitriou [14], formalizes search problems based on the pigeonhole principle. Its defining problem asks for either a collision (i.e., two distinct inputs with the same output) or an input that maps to zero, in a function whose input and output spaces have the same size. The pigeonhole principle guarantees that one of these outcomes exists, but finding it can still be hard.

The class PPP contains many natural problems, including Equal Sums, variants of Short Integer Solution (SIS), Minkowski, and Blichfeldt [14, 16].1 It has a natural connection to cryptography: for example, collision-resistant hash functions fit naturally into this class [16]. We define the full versions of these problems in § 1.1 and the formal class definitions and lattice background are in § 2.

Each of these problems has variants in the subclass PWPP, including the versions studied below. This class uses the weak pigeonhole principle: the input circuit has fewer output bits than input bits, which guarantees a collision. This class has a PWPP-complete problem: Sotiraki, Zampetakis, and Zirdelis [16] introduced weak constrained SIS and proved that every problem in PWPP reduces to it in polynomial time.

Generic algorithms for these classes enumerate or randomly sample inputs, with exponential worst-case running time in the number of output bits. We therefore ask if we can have better algorithms when the number of input bits is much larger than the number of output bits. This is the dense pigeonhole regime:

Can all these natural PPP problems be solved faster in the dense pigeonhole regime?

Recently, Bhati et al. [3] gave an algorithm for dense Equal Sums instances. For mm positive integers bounded by MM, they obtain Mo(1)⋅poly⁡(m)M^{o(1)} \cdot\operatorname{poly}(m) time when m=ω(log⁡M)m = \omega(\log M). Earlier algorithms used the pigeonhole promise to improve the dependence on mm [10, 11]. We extend their method to binary collision SIS and obtain an algorithm for weak constrained SIS, whose general form is PWPP-complete [16]. Explicit reductions give algorithms for dense variants of Equal Vector Sums, Minkowski, and Blichfeldt as well.

Our results

Throughout, nn is positive, q≥2q \ge2 is a power of two, and logarithms have base 2. We write ∣I∣|I| for the binary input length. We first study the following collision variant of SIS.

Problem 1: Binary collision SIS

Input: A matrix A∈Zqn×mA \in\mathbb{Z}_q^{n \times m} with m>nlog⁡qm > n \log q.

Output: Two distinct binary vectors x,y∈{0,1}m\mathbf{x}, \mathbf{y} \in\{0,1\}^{m} such that Ax=Ay(modq)A\mathbf{x} = A\mathbf{y} \pmod q.

Parameters: nn, qq, and δ:=m/(nlog⁡q)\delta:= m/(n \log q).

There are 2m2^m binary vectors and only qnq^n possible images under AA. Since m>nlog⁡qm > n \log q, the pigeonhole principle guarantees a collision. In cryptographic SIS, the matrix is usually sampled at random and larger coordinates may be allowed. Our algorithm works for every input matrix.

Evaluating AA on O(qn)O(q^n) distinct binary vectors and comparing their images finds a collision in time qn⋅poly⁡(∣I∣)q^n \cdot\operatorname{poly}(|I|). Our main result improves this exponential factor in the dense regime.

Theorem 1.1. An instance II of binary collision SIS (Problem 1) with parameters nn, qq, and δ\delta can be solved deterministically in time qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n/\log\delta)} \cdot\operatorname{poly}(|I|).

When δ=ω(1)\delta= \omega(1), the running time is qo(n)⋅poly⁡(∣I∣)q^{o(n)} \cdot\operatorname{poly}(|I|), with subexponential dependence on nlog⁡qn \log q. In the other regime, our algorithm is even polynomial whenever n=O((log⁡m)2/log⁡q)n = O((\log m)^2/\log q). The same polynomial-time guarantee holds for all the consequences below (using their respective density parameters). To the best of our knowledge, this guarantee was not previously known for any of the variants presented below.

We would like to note that improving the dependence on log⁡δ\log\delta further is unlikely with current techniques: as observed by Bhati et al. [3], any improvements would yield a breakthrough for the Successive Minima Problem (SMP).

Lemma 1.2 (cf. [3]). Any algorithm that solves binary collision SIS in time qo(n/log⁡δ)⋅poly⁡(∣I∣)q^{o(n/\log\delta)} \cdot\operatorname{poly}(|I|) would improve the best known algorithms for SMP, even when δ=poly⁡(∣I∣)\delta= \operatorname{poly}(|I|) and n=O(1)n = O(1).

We recall the SMP and the proof in § 2.4.

Consequences Weak constrained SIS, introduced in [16], adds linear constraints to binary collision SIS: both output vectors must also satisfy Gx=Gy=0G\mathbf{x} = G\mathbf{y} = 0. The matrix GG is binary invertible, which allows us to choose some coordinates of the vectors freely and then compute the remaining coordinates uniquely (see Definition 2.1 for a formal definition).

Problem 2: Weak constrained SIS

Input: Matrices A∈Zqn×mA \in\mathbb{Z}_q^{n \times m} and G∈Zqd×mG \in\mathbb{Z}_q^{d \times m}, where GG is binary invertible and m>(n+d)log⁡qm > (n+d)\log q.

Output: Two distinct binary vectors x,y∈{0,1}m\mathbf{x}, \mathbf{y} \in\{0,1\}^m such that Ax=AyA\mathbf{x} = A\mathbf{y} and Gx=Gy=0(modq)G\mathbf{x} = G\mathbf{y} = 0 \pmod q.

Parameters: nn, mm, dd, qq, and δ:=(m−dlog⁡q)/((n+d)log⁡q)\delta:= (m-d\log q)/((n+d)\log q).

Binary invertibility of GG lets us construct valid output vectors x\mathbf{x} in the following way: choose m−dlog⁡qm-d\log q coordinates of x\mathbf{x} freely. Then, by the design of GG, each choice uniquely determines the other dlog⁡qd\log q coordinates. Thus, exactly 2m−dlog⁡q>qn2^{m-d\log q} > q^n binary vectors satisfy Gx=0G\mathbf{x} = 0, and two of them must have the same image under AA. The same argument works with 00 replaced by any target b∈Zqd\mathbf{b} \in\mathbb{Z}_q^d.

Corollary 1.3. If δ>1\delta> 1, weak constrained SIS (Problem 2) can be solved in time qO((n+d)/log⁡δ)⋅poly⁡(∣I∣)q^{O((n+d)/\log\delta)} \cdot\operatorname{poly}(|I|).

For parameters satisfying this stronger density condition, the corollary also gives an algorithm for finding collisions in the hash-function family of [16].

Equal Vector Sums replaces the integers in Equal Sums by integer vectors: the two subsets must have the same sum in every coordinate. Such equalities also appear in bounds on the number of nonzero variables needed in integer programs [8]. We assume that every input vector is nonzero, since a zero vector and the empty subset already give equal sums.

Problem 3: Equal Vector Sums

Input: Nonzero vectors a1,…,am∈Zn\mathbf{a}_1,\ldots,\mathbf{a}_m \in\mathbb{Z}^n with δ>1\delta> 1 for the parameters below.

Output: Distinct subsets S,T⊆[m]S,T \subseteq[m] with ∑i∈Sai=∑i∈Tai\sum_{i\in S}\mathbf{a}_i = \sum_{i\in T}\mathbf{a}_i over the integers.

Parameters: nn, mm, Δ:=max⁡i∥ai∥∞\Delta:= \max_i \lVert\mathbf{a}_i\rVert_\infty, q:=2⌈log⁡(mΔ+1)⌉q := 2^{\lceil\log(m\Delta+1)\rceil}, and δ:=m/(nlog⁡q)\delta:= m/(n\log q).

For n=1n = 1 and positive inputs, this is a dense version of Equal Sums. The following corollary extends the dense scalar algorithm of [3] to several coordinates.

Corollary 1.4 (Equal Vector Sums). Equal Vector Sums (Problem 3) can be solved in time qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n / \log\delta)} \cdot\operatorname{poly}(|I|) for δ>1\delta> 1.

Common elements can be deleted from the two subsets, so, if AA has the input vectors as its columns, we obtain a nonzero z∈{−1,0,1}m\mathbf{z} \in\{-1,0,1\}^{m} with Az=0A\mathbf{z} = 0 over the integers.

Minkowski’s problem asks for a short nonzero lattice vector in the modular lattice Λq⊥(A)\Lambda_q^{\perp}(A) prescribed by a matrix AA (we recall basic facts about lattices in § 2.2).

Problem 4: Dense Minkowski

Input: A matrix A∈Zqn×mA \in\mathbb{Z}_q^{n \times m} with m>nlog⁡qm > n \log q.

Output: A nonzero vector z∈Λq⊥(A)\mathbf{z} \in\Lambda_q^{\perp}(A) with ∥z∥∞≤det⁡(Λq⊥(A))1/m\lVert\mathbf{z} \rVert_{\infty} \le\det(\Lambda_q^{\perp}(A))^{1/m}.

Parameters: nn, mm, qq, and δ:=m/(nlog⁡q)\delta:= m/(n \log q).

The density promise makes the bound on the infinity norm less than 22, so the required vector has coordinates in {−1,0,1}\{-1,0,1\}. Minkowski’s theorem is an important tool in mathematics that guarantees a vector satisfying the bound above [12]. Sotiraki et al. [16] showed that its general computational form belongs to PPP. Here we give a subexponential-time algorithm for it in the dense regime.

Corollary 1.5 (Dense Minkowski). Dense Minkowski (Problem 4) can be solved in time qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n / \log\delta)} \cdot\operatorname{poly}(|I|) for δ>1\delta> 1.

Blichfeldt’s theorem is a basic tool in the geometry of numbers and gives a standard proof of Minkowski’s theorem [4]. Its general computational form is PPP-complete. Several lattice approximation problems can be solved using a polynomial number of calls to a Blichfeldt solver [16]. We consider the following version for integer points in a box and modular lattices, defined in § 2.2.

Problem 5: Dense Blichfeldt

Input: A matrix A∈Zqn×mA \in\mathbb{Z}_q^{n \times m}, p∈Zm\mathbf{p} \in\mathbb{Z}^{m}, and powers of two L1,…,Lm≥2L_1,\ldots,L_m \ge2. Let B={x∈Zm:pi≤xi<pi+Li for all i∈[m]}B = \{\mathbf{x} \in\mathbb{Z}^{m} : p_i \le x_i < p_i + L_i \text{ for all } i \in[m]\} and require ∣B∣>qn|B| > q^n.

Output: Distinct points x,y∈B\mathbf{x}, \mathbf{y} \in B with x−y∈Λq⊥(A)\mathbf{x} - \mathbf{y} \in\Lambda_q^{\perp}(A).

Parameters: nn, qq, and δ:=log⁡∣B∣/(nlog⁡q)\delta:= \log|B|/(n \log q).

Corollary 1.6 (Dense Blichfeldt). Dense Blichfeldt (Problem 5) can be solved in time qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n / \log\delta)} \cdot\operatorname{poly}(|I|) for δ>1\delta> 1.

Figure 1 shows the reductions and their corollary numbers.

Selected reductions and roadmap of reductions, showing relationships among PPP, PWPP, Blichfeldt, Minkowski, Equal-Sums, SIS, cSIS, weak-cSIS, Binary SIS, Dense Blichfeldt, Dense Minkowski, Equal Vector Sums, and Dense regime

Figure 1. Selected reductions from [16 Figure 3] (left). Roadmap of our reductions (right).

Technical overview

We adapt the block-merging algorithm of [3] to prove Theorem 1.1. For δ=O(1)\delta= O(1), brute force gives the required bound. For δ=ω(1)\delta= \omega(1), we choose the largest power of two k≥2k \ge2 with k≤mk \le m and k/log⁡k≤δ/2k/\log k \le\delta/2, and put W:=2⌈δnlog⁡q/(2k)⌉W := 2^{\lceil\delta n \log q/(2k)\rceil}. Divide the columns into kk blocks T00,…,Tk−10T_0^0,\ldots,T_{k-1}^0, each of size at least ⌊m/k⌋\lfloor m/k\rfloor. Each block supplies at least WW binary vectors, as follows. For each i∈[0,k)i \in[0,k), we construct a set Yi0Y_i^0 of size WW by taking any WW distinct binary vectors supported on Ti0T_i^0 and computing AxAx; this is possible since there are 2∣Ti0∣≥2⌊m/k⌋>W2^{|T_i^0|} \ge2^{\lfloor m/k\rfloor} > W such vectors. A repeated image within a block is already a collision. For every y∈Yi0\mathbf{y} \in Y_i^0, we store the binary vector f(y)\mathbf{f}(\mathbf{y}) that produced y\mathbf{y}. All blocks Ti0T_i^0 are pairwise disjoint, so different pairs have different merged binary vectors.

Let μ0=1n\boldsymbol{\mu}^0 = \mathbf{1}_n be the vector of nn ones. To obtain μj\boldsymbol{\mu}^j, start with μj−1\boldsymbol{\mu}^{j-1} and repeat the following step log⁡W\log W times: multiply a coordinate with the smallest current value by 22, breaking ties by the smallest index. Throughout this, the entries of AA are integers in [0,q)[0,q), and all products and sums are computed over the integers. See ?? 1.

Algorithm 1: Algorithm behind Theorem 1.1.

  1. Partition [m][m] into T00⊎⋯⊎Tk−10T_0^0 \uplus\cdots\uplus T_{k-1}^0 as above

  2. Yi0←WY_i^0 \gets W images from Ti0T_i^0 for every i∈[0,k)i \in[0,k), and return a collision if found

  3. for j=1,…,log⁡kj = 1,\ldots,\log k and i=0,…,k/2j−1i = 0,\ldots,k/2^j-1 do

  4. Form all W2W^2 pairs from Y2ij−1Y_{2i}^{j-1} and Y2i+1j−1Y_{2i+1}^{j-1}

  5. Return a collision if two pair sums agree, and let ZZ be the sums

  6. Partition ZZ into classes Bp←{z∈Z:z mod μj=p}B_p \gets\{z \in Z : z \bmod\mu^j = p\}

  7. p⋆←arg⁡max⁡p∣Bp∣p^\star\gets\arg\max_p |B_p|

  8. Yij←Y_i^j \gets any WW entries of Bp⋆B_{p^\star}

  9. end

  10. Pick any two elements of Y0log⁡kY_0^{\log k} and report a collision between them

Throughout the procedure, we keep the following invariants: (i) all vectors of YijY_i^j are pairwise congruent modulo μj\mu^j and (ii) each YijY_i^j has size WW. For j=0j = 0, both conditions are true. For the induction step, the main point is that if we did not find a collision, then ∣Z∣=∣Y2ij−1∣∣Y2i+1j−1∣=W2|Z| = |Y_{2i}^{j-1}||Y_{2i+1}^{j-1}| = W^2. The algorithm partitions ZZ into at most WW disjoint classes, so at least one of them will have size at least WW.

We claim that this procedure eventually finds a correct collision. Collisions found within the for-loop are obviously correct, so assume no such collision within this loop was found. By the invariants, the set Y0log⁡kY_0^{\log k} contains at least two elements. These are congruent modulo μlog⁡k\mu^{\log k}. Since Wlog⁡k≥qnW^{\log k} \ge q^n, this implies that all moduli in μlog⁡k\mu^{\log k} are (multiples of) qq. This in turn means that these two elements of Y0log⁡kY_0^{\log k} map to the same value mod qq, which means they form a collision that can be reported in the final step of the algorithm!

For the running time, observe that each merge takes W2⋅poly⁡(∣I∣)W^2 \cdot\operatorname{poly}(|I|) time. By the maximality of kk, we have W2≤4q4n/log⁡δW^2 \le4q^{4n/\log\delta}. Since there are fewer than mm merges, this yields the running time in Theorem 1.1. See § 3 for the full proof.

Weak constrained SIS in the dense setting

The reduction for Corollary 1.3 must find a collision whose two vectors also have the prescribed image b\mathbf{b} under a binary invertible matrix G∈Zqd×mG \in\mathbb{Z}_q^{d \times m}. Informally, the first dlog⁡qd\log q columns of GG form dd blocks of log⁡q\log q columns: row ii has the binary weights 1,2,4,…,2log⁡q−11,2,4,\ldots,2^{\log q-1} in block ii, zeros in earlier blocks, and arbitrary entries in all later columns (see Definition 2.1). For example, for q=16q = 16 and d=3d = 3, every matrix of the following form is binary invertible:

G=[20212223∗∗∗∗∗∗∗∗∗000020212223∗∗∗∗∗0000000020212223∗].G = \begin{bmatrix} 2^0 & 2^1 & 2^2 & 2^3 & * & * & * & * & * & * & * & * & * \\ 0 & 0 & 0 & 0 & 2^0 & 2^1 & 2^2 & 2^3 & * & * & * & * & * \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 2^0 & 2^1 & 2^2 & 2^3 & * \end{bmatrix}.

Each star is an arbitrary element of Z16\mathbb{Z}_{16}. The three diagonal blocks encode four binary bits each, and the last column is G1G_1. Split A=[A0 A1]A = [A_0\ A_1] and G=[G0 G1]G = [G_0\ G_1], with the first dlog⁡qd\log q columns in A0A_0 and G0G_0.

Apply Theorem 1.1 to the matrix C=[A1T,G1T]TC = [A_1^{\mathsf{T}},G_1^{\mathsf{T}}]^{\mathsf{T}}. The resulting binary vectors z≠z′\mathbf{z} \ne\mathbf{z}' have equal images under both A1A_1 and G1G_1. This equality under G1G_1 is essential: both vectors now require the same residual image b−G1z\mathbf{b} - G_1\mathbf{z} under G0G_0.

Binary invertibility gives a unique binary vector u\mathbf{u} with G0u=b−G1zG_0\mathbf{u} = \mathbf{b} - G_1\mathbf{z}. We compute it from the last row to the first, setting each gadget block to the binary decomposition of its residual right-hand side. The same u\mathbf{u} completes both vectors, giving x=[uT,zT]T\mathbf{x} = [\mathbf{u}^{\mathsf{T}},\mathbf{z}^{\mathsf{T}}]^{\mathsf{T}} and y=[uT,(z′)T]T\mathbf{y} = [\mathbf{u}^{\mathsf{T}},(\mathbf{z}')^{\mathsf{T}}]^{\mathsf{T}}. They satisfy Gx=Gy=bG\mathbf{x} = G\mathbf{y} = \mathbf{b}, and u\mathbf{u} cancels in Ax−Ay=A1(z−z′)=0A\mathbf{x} - A\mathbf{y} = A_1(\mathbf{z} - \mathbf{z}') = 0. The instance has n+dn+d rows and m−dlog⁡qm-d\log q columns, giving exactly the density and running time in Corollary 1.3. Constructing the instance and completing the vectors take polynomial time.

The other reductions follow the same template: construct a dense SIS instance and convert its collision to the required solution. For integer vector sums, the modulus is large enough to turn a modular equality into an integer equality. For Dense Bichfeldt, binary expansion encodes the box, and Dense Minkowski uses the box {0,1}m\{0,1\}^m. § 4 gives the full reductions.

Related work

Sotiraki, Zampetakis, and Zirdelis [16] proved that constrained SIS is PPP-complete and weak constrained SIS is PWPP-complete. Their construction also gives the hash family HcSIS\mathcal{H}_{\mathrm{cSIS}}, whose collision problem is weak constrained SIS. These completeness results depend on the additional constraints in GG.

For Equal Subset Sum without the pigeonhole promise, successive improvements [13, 15] yield the best known running time of 1.7067m⋅poly⁡(∣I∣)1.7067^m \cdot\operatorname{poly}(|I|) for mm inputs.

Under the pigeonhole promise, faster algorithms are known for Equal Sums. Jin and Wu [11] gave a randomized 20.4m⋅poly⁡(∣I∣)2^{0.4m}\cdot\operatorname{poly}(|I|)-time algorithm. Jin, Williams, and Zhang [10] improved it to 2m/3poly⁡(∣I∣)2^{m/3}\operatorname{poly}(|I|). Bhati et al. [3] obtain Mo(1)⋅poly⁡(m)M^{o(1)}\cdot\operatorname{poly}(m) time for integers bounded by MM when m=ω(log⁡M)m=\omega(\log M). We extend their block-merging method to modular systems and use their scalar reduction to transfer the conditional lower bound.

A related line of work uses Frobenius-number bounds to obtain faster algorithms for total Unbounded Subset Sum. For distinct positive integers a1,…,ama_1,\ldots,a_m with greatest common divisor 11, this problem asks for nonnegative integer coefficients xix_i such that ∑iaixi=b\sum_i a_i x_i=b. Writing M=max⁡iaiM=\max_i a_i, Aggarwal, Joux, Santha, and Węgrzycki [1] give a polynomial-time algorithm when b≥εM2b\geq\varepsilon M^2 for any fixed ε>0\varepsilon>0, and analogous results for integer programming with equalities. Chen, Mao, and Zhang [5] subsequently gave an expected O(mlog⁡M)O(m\log M)-time algorithm when b≥CM2/mb\geq CM^2/m for a sufficiently large absolute constant CC, using constructive results from additive combinatorics.

For the modular pigeonhole problem in one row, Allcock et al. [2] give a O~(2m/2)\widetilde{O}(2^{m/2})-time algorithm whenever q<2mq<2^m. Using only log⁡q+1\log q+1 columns gives the q1/2⋅poly⁡(∣I∣)q^{1/2}\cdot\operatorname{poly}(|I|) bound for one-row SIS. A classical algorithm of Regev, described by Chen, Liu, and Zhandry [6 Appendix A], solves binary collision SIS in polynomial time when m≥(n+1)log⁡qm\geq(n+1)\log q. Theorem 1.1 gives a subexponential bound already when m=ω(nlog⁡q)m=\omega(n\log q).

The number-balancing reductions of Hoberg et al. [9] concern general convex bodies. Corollary 1.5 concerns only the modular lattices Λq⊥(A)\Lambda_q^\perp(A) with m>nlog⁡qm>n\log q.

Wagner’s generalized birthday algorithm [17] merges lists while imposing stronger conditions on their partial sums at each level. Ducas, Engelberts, and Loyer [7] use a lattice form of this method and discrete Gaussian sampling to give subexponential algorithms for SIS in the infinity norm. Their guarantees concern random matrices, polynomial prime moduli, and norm bounds larger than one. Our algorithm uses a power-of-two modulus and works for every input matrix. It keeps a largest congruence class at each merge, whose size is bounded below by counting.

Preliminaries

We write [m]={1,…,m}[m]=\{1,\ldots,m\}, [a,b]={a,…,b}[a,b]=\{a,\ldots,b\}, [a,b)=[a,b−1][a,b)=[a,b-1]. All logarithms have base 2, and ∣I∣|I| denotes the binary input length. Vectors are column vectors written in bold (e.g., x\mathbf{x}), with binary vectors additionally underlined (e.g., x‾\underline{\mathbf{x}}). We write [uT,vT]T[\mathbf{u}^{\mathsf{T}},\mathbf{v}^{\mathsf{T}}]^{\mathsf{T}} for their vertical concatenation. Matrix equations over Zq\mathbb{Z}_q are read modulo qq. Vector congruences and remainders are taken coordinatewise. The vectors 0\mathbf{0} and 1n\mathbf{1}_n have all coordinates zero and one, respectively. For B,C⊆ZqnB,C\subseteq\mathbb{Z}_q^n, their sumset is B+C={b+c:b∈B, c∈C}B+C=\{\mathbf{b}+\mathbf{c}:\mathbf{b}\in B,\ \mathbf{c}\in C\}.

Total search and pigeonhole classes

A search problem is total if every input has a solution. The class TFNP consists of total search problems whose solutions have size polynomial in input size and that can be verified in polynomial time. A Boolean circuit is a directed acyclic graph with ordered input and output nodes and gates computing ¬\neg, ∧\land, ∨\lor, or ⊕\oplus. A negation gate has one input and the other gates have two. Evaluating its gates in topological order defines a function C:{0,1}r→{0,1}sC:\{0,1\}^r\to\{0,1\}^s, where rr and ss count the input and output nodes, respectively. Its size ∣C∣|C| is the number of nodes.

The search problem PIGEONHOLE CIRCUIT takes a Boolean circuit C:{0,1}r→{0,1}rC:\{0,1\}^r\to\{0,1\}^r and asks for either an input x\mathbf{x} with C(x)=0rC(\mathbf{x})=\mathbf{0}_r or distinct inputs x,y\mathbf{x},\mathbf{y} with C(x)=C(y)C(\mathbf{x})=C(\mathbf{y}). If no input maps to zero, the 2r2^r inputs have at most 2r−12^r-1 possible outputs, so a collision exists. The class PPP consists of search problems reducible to PIGEONHOLE CIRCUIT by polynomial-time search reductions [14].

The search problem Collision takes as input a Boolean circuit CC with rr inputs and s<rs<r outputs and asks for two distinct vectors x,y∈{0,1}r\mathbf{x},\mathbf{y}\in\{0,1\}^{r} such that C(x)=C(y)C(\mathbf{x})=C(\mathbf{y}). There are at least twice as many inputs as possible outputs. The class PWPP consists of search problems reducible to Collision by polynomial-time search reductions [16]. Thus, PWPP ⊆\subseteq PPP ⊆\subseteq TFNP. A problem is complete for one of these classes if it belongs to the class and every problem in the class reduces to it.

Observe that binary collision SIS (Problem 1) belongs to PWPP. Namely, one can encode AxA\mathbf{x} in binary to get a circuit with mm input bits and nlog⁡q<mn\log q<m output bits. The reductions in § 4 also place Equal Vector Sums, Dense Minkowski, and Dense Blichfeldt in PWPP under their respective input promises.

Equal Sums [14] takes positive integers a1,…,ama_1,\ldots,a_m with ∑iai<2m−1\sum_i a_i<2^{m-1} and asks for distinct subsets S,T⊆[m]S,T\subseteq[m] such that ∑i∈Sai=∑i∈Tai\sum_{i\in S}a_i=\sum_{i\in T}a_i. Write M=max⁡iaiM=\max_i a_i. There are 2m2^m subsets and fewer than 2m2^m possible sums, so a solution exists.

Lattices and their search problems

A full-rank lattice in Rm\mathbb{R}^{m} is a set L=DZm\mathcal{L}=D\mathbb{Z}^{m}, where D∈Rm×mD\in\mathbb{R}^{m\times m} is nonsingular. Its columns form a basis of L\mathcal{L}, and its determinant is det⁡(L)=∣det⁡D∣\det(\mathcal{L})=\lvert\det D\rvert. For computational problems, bases have rational entries and are encoded in binary. We use the infinity norm ∥v∥∞=max⁡i∣vi∣\lVert\mathbf{v}\rVert_{\infty}=\max_i\lvert v_i\rvert and the Euclidean norm ∥v∥2=(∑ivi2)1/2\lVert\mathbf{v}\rVert_2=(\sum_i v_i^2)^{1/2}.

A lattice coset is a translate p+L={p+v:v∈L}\mathbf{p}+\mathcal{L}=\{\mathbf{p}+\mathbf{v}:\mathbf{v}\in\mathcal{L}\}. Two points x,y\mathbf{x},\mathbf{y} lie in the same coset exactly when x−y∈L\mathbf{x}-\mathbf{y}\in\mathcal{L}. If L⊆Zm\mathcal{L}\subseteq\mathbb{Z}^{m} is a full-rank integer lattice, then det⁡(L)\det(\mathcal{L}) equals the number of its cosets in Zm\mathbb{Z}^{m}.

For A∈Zqn×mA\in\mathbb{Z}_{q}^{n\times m}, we use the modular lattice Λq⊥(A)={z∈Zm:Az=0(modq)}\Lambda_q^{\perp}(A)=\{\mathbf{z}\in\mathbb{Z}^{m}:A\mathbf{z}=0\pmod q\}. It contains qZmq\mathbb{Z}^{m} and therefore has full rank. Two integer vectors lie in the same coset of Λq⊥(A)\Lambda_q^{\perp}(A) exactly when they have the same image under AA. Since there are at most qnq^n images, we have 1≤det⁡(Λq⊥(A))≤qn1\leq\det(\Lambda_q^{\perp}(A))\leq q^n.

Minkowski’s theorem [12] guarantees that every full-rank lattice L⊆Rm\mathcal{L}\subseteq\mathbb{R}^{m} contains a nonzero vector v\mathbf{v} with ∥v∥∞≤det⁡(L)1/m\lVert\mathbf{v}\rVert_{\infty}\leq\det(\mathcal{L})^{1/m}. Minkowski’s problem asks for such a vector given a lattice basis. Notice that Problem 4 restricts the input to modular lattices with m>nlog⁡qm>n\log q.

Blichfeldt’s theorem [4] states that a measurable set S⊆RmS\subseteq\mathbb{R}^{m} of volume greater than det⁡(L)\det(\mathcal{L}) contains distinct points x,y\mathbf{x},\mathbf{y} with x−y∈L\mathbf{x}-\mathbf{y}\in\mathcal{L}. For integer points, the counting argument is enough: any set S⊆ZmS\subseteq\mathbb{Z}^{m} with ∣S∣>det⁡(L)\lvert S\rvert>\det(\mathcal{L}) contains two points in the same coset of a full-rank integer lattice L\mathcal{L}. This guarantees a solution to Dense Blichfeldt (Problem 5). The more general computational formulations of Minkowski and Blichfeldt are studied in [16].

Binary invertibility and weak constrained SIS

For a power-of-two q≥2q\geq2, the gadget vector is the column γq=(20,21,…,2log⁡q−1)T\boldsymbol{\gamma}_q=(2^0,2^1,\ldots,2^{\log q-1})^{\mathsf{T}}. For a∈Zqa\in\mathbb{Z}_q, let bin⁡(a)∈{0,1}log⁡q\operatorname{bin}(a)\in\{0,1\}^{\log q} be the binary decomposition of its representative in {0,…,q−1}\{0,\ldots,q-1\}, with the least significant bit first. Thus, γqTbin⁡(a)=a(modq)\boldsymbol{\gamma}_q^{\mathsf{T}}\operatorname{bin}(a)=a\pmod q. For vectors, bin⁡\operatorname{bin} concatenates the decompositions of successive coordinates.

Definition 2.1 (Binary invertible matrix [16]). Let q≥2q\geq2 be a power of two and m≥dlog⁡qm\geq d\log q. A matrix G∈Zqd×mG\in\mathbb{Z}_q^{d\times m} is binary invertible if G=[Id⊗γqT∣U∣V]G=[I_d\otimes\boldsymbol{\gamma}_q^{\mathsf{T}}\mid U\mid V], where U∈Zqd×dlog⁡qU\in\mathbb{Z}_q^{d\times d\log q} satisfies Ui,j=0U_{i,j}=0 for j≤ilog⁡qj\leq i\log q, and V∈Zqd×(m−dlog⁡q)V\in\mathbb{Z}_q^{d\times(m-d\log q)} is arbitrary. Here ⊗\otimes is the Kronecker product, and matrix indices start at 1.

In words, divide the first dlog⁡qd\log q columns into dd blocks. Row ii contains the binary weights 1,2,4,…,2log⁡q−11,2,4,\ldots,2^{\log q-1} in block ii, zeros in earlier blocks, and arbitrary entries in later columns. For every z∈{0,1}m−dlog⁡q\mathbf{z}\in\{0,1\}^{m-d\log q} and target b∈Zqd\mathbf{b}\in\mathbb{Z}_q^d, there is a unique u∈{0,1}dlog⁡q\mathbf{u}\in\{0,1\}^{d\log q} such that G[uT,zT]T=bG[\mathbf{u}^{\mathsf{T}},\mathbf{z}^{\mathsf{T}}]^{\mathsf{T}}=\mathbf{b}.

To compute u\mathbf{u}, process rows i=d,d−1,…,1i=d,d-1,\ldots,1. Subtract the contribution of the already chosen coordinates from bi\mathbf{b}_i modulo $q, and write this remainder in binary to fill block ii. This is the only choice satisfying row ii, and it does not affect the rows already processed. Thus, the procedure gives the unique u\mathbf{u}. After computing VzV\mathbf{z}, it uses O(d2log⁡q)O(d^2\log q) modular arithmetic operations.

A standard brute-force algorithm gives the following bound.

Observation 2.2 (Brute-force). Every weak constrained SIS instance, also with an arbitrary target b∈Zqd\mathbf{b}\in\mathbb{Z}_q^d, can be solved in time qn⋅poly⁡(∣I∣)q^n\cdot\operatorname{poly}(\lvert I\rvert).

Proof. Since 2m−dlog⁡q>qn2^{m-d\log q}>q^n, choose qn+1q^n+1 distinct binary vectors of length m−dlog⁡qm-d\log q. Complete each vector to a binary vector x\mathbf{x} with Gx=bG\mathbf{x}=\mathbf{b} using the procedure above. The completed vectors are distinct and their images under AA lie in Zqn\mathbb{Z}_q^n, so two images coincide. Completing the vectors, evaluating AA, and sorting the images to find a repetition take qn⋅poly⁡(∣I∣)q^n\cdot\operatorname{poly}(|I|) total time.

The lattice hypothesis and lower bound

Bhati et al. [3 Section 5] give a conditional lower bound for Equal Sums. For a full-rank lattice L⊆RN\mathcal{L}\subseteq\mathbb{R}^N, λN(L)\lambda_N(\mathcal{L}) is the least radius of a Euclidean ball centered at 00 containing NN linearly independent lattice vectors. The hypothesis concerns the NN-th Successive Minima Problem, which asks for one nonzero vector of length at most a given multiple of λN(L)\lambda_N(\mathcal{L}). It states that, for every constant c≥1c\geq1, there is an ε>0\varepsilon>0 such that no O(2εN)O(2^{\varepsilon N})-time algorithm, given L\mathcal{L}, returns with high probability a nonzero v∈L\mathbf{v}\in\mathcal{L} with ∥v∥2≤O(Nc)λN(L)\lVert\mathbf{v}\rVert_2\leq O(N^c)\lambda_N(\mathcal{L}). Here and below, the running times include a polynomial factor in the binary encoding length of the lattice basis.

Lemma 1.2 (cf. [3]). Any algorithm that solves binary collision SIS in time qo(n/log⁡δ)⋅poly⁡(∣I∣)q^{o(n/\log\delta)}\cdot\operatorname{poly}(|I|) would improve the best known algorithms for SMP, even when δ=poly⁡(∣I∣)\delta=\operatorname{poly}(|I|) and n=O(1)n=O(1).

Proof. Recall that Bhati et al. [3 Section 5] rule out a Mo(1/log⁡m)⋅poly⁡(m)M^{o(1/\log m)}\cdot\operatorname{poly}(m)-time algorithm for Equal Sums. Their reduction gives hard instances with mm positive integers bounded by M=2Θ(mlog⁡m)M=2^{\Theta(\sqrt{m}\log m)}. Choosing the smallest power of two q>mMq>mM gives mM<q≤2mMmM<q\leq2mM. Form the binary collision SIS instance A=[a1,…,am]∈ZqnA=[a_1,\ldots,a_m]\in\mathbb{Z}_q^n. All subset sums lie in [0,q)[0,q), so a modular collision Ax=AyA\mathbf{x}=A\mathbf{y} gives distinct subsets S={i:xi=1}S=\{i:x_i=1\} and T={i:yi=1}T=\{i:y_i=1\} with equal integer sums. The instance has n=1n=1, log⁡q=Θ(log⁡M)\log q=\Theta(\log M), and δ=m/log⁡q=Θ(m/log⁡m)=m1/2+o(1)\delta=m/\log q=\Theta(\sqrt{m}/\log m)=m^{1/2+o(1)}. In particular, δ>1\delta>1 for sufficiently large mm, so this is a valid binary collision SIS instance. The reduction takes polynomial time, so a binary collision SIS algorithm with running time qo(1/log⁡δ)⋅poly⁡(∣I∣)q^{o(1/\log\delta)}\cdot\operatorname{poly}(|I|) would solve Equal Sums in time Mo(1/log⁡m)⋅poly⁡(m)M^{o(1/\log m)}\cdot\operatorname{poly}(m).

Main proof

Theorem 1.1. An instance II of binary collision SIS (Problem 1) with parameters nn, qq, and δ\delta can be solved deterministically in time qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n/\log\delta)}\cdot\operatorname{poly}(|I|).

Proof. If δ≤4\delta\leq4, we can find such distinct x,y\mathbf{x},\mathbf{y} by brute force in time qO(n)⋅poly⁡(∣I∣)q^{O(n)}\cdot\operatorname{poly}(|I|). Henceforth assume δ>4\delta>4. Let k≥2k\geq2 be the largest integer power of 22 such that k/log⁡k≤δ/2k/\log k\leq\delta/2 and k≤mk\leq m.

For j∈[0,log⁡k]j\in[0,\log k] define a family Tj={Tij:i∈[0,k/2j)}T^j=\{T_i^j:i\in[0,k/2^j)\} of integer subintervals of [m][m]:

Tij:=[⌊i⋅2j⋅mk⌋+1,⌊(i+1)⋅2j⋅mk⌋]for i∈[0,k/2j).T_i^j:=\left[\left\lfloor\frac{i\cdot2^j\cdot m}{k}\right\rfloor+1,\left\lfloor\frac{(i+1)\cdot2^j\cdot m}{k}\right\rfloor\right] \quad\text{for }i\in[0,k/2^j).

and the families of Boolean indicator vectors of the subsets of TijT_i^j:

Xij:={x∈{0,1}m:∀ℓ∈[m]∖Tij, xℓ=0}.X_i^j:=\{\mathbf{x}\in\{0,1\}^m:\forall\ell\in[m]\setminus T_i^j,\ x_\ell=0\}.

Note that for j∈[log⁡k]j\in[\log k] we have

Tij=T2ij−1∪˙T2i+1j−1andXij=X2ij−1+X2i+1j−1={x1+x2∣x1∈X2ij−1, x2∈X2i+1j−1}.T_i^j=T_{2i}^{j-1}\mathbin{\dot\cup}T_{2i+1}^{j-1} \quad\text{and}\quad X_i^j=X_{2i}^{j-1}+X_{2i+1}^{j-1} =\{\mathbf{x}^1+\mathbf{x}^2\mid\mathbf{x}^1\in X_{2i}^{j-1},\ \mathbf{x}^2\in X_{2i+1}^{j-1}\}.

Moreover, each TijT_i^j has size at least 2j⋅⌊mk⌋2^j\cdot\left\lfloor\frac{m}{k}\right\rfloor. Finally, let W:=2⌈δnlog⁡q/(2k)⌉W:=2^{\lceil\delta n\log q/(2k)\rceil}.

Claim 3.1. W≤2⌊m/k⌋W\leq2^{\lfloor m/k\rfloor}.

Proof. We have log⁡W=⌈δnlog⁡q/(2k)⌉=⌈m/(2k)⌉≤⌊m/k⌋\log W=\lceil\delta n\log q/(2k)\rceil=\lceil m/(2k)\rceil\leq\lfloor m/k\rfloor, where the inequality holds since m/k≥1m/k\geq1.

In particular, each set Xi0X_i^0 has size at least 2⌊m/k⌋≥W2^{\lfloor m/k\rfloor}\geq W.

We now present the algorithm. In the entire routine, we regard the input (the entries of AA) as integers in [0,q)[0,q) instead of remainders mod qq, and all products and sums in this proof are computed over the integers.

We begin by initializing the integer vector μ0=1n\mu^0 = \mathbf{1}_n. Next, for each i∈[0,k)i \in[0,k) we build a set Yi0Y_i^0 of size WW by taking any WW vectors x∈Xi0\mathbf{x} \in X_i^0 and adding AxA\mathbf{x} to Yi0Y_i^0. If, during this step, we come across two vectors x1,x2\mathbf{x}^1,\mathbf{x}^2 such that Ax1=Ax2A\mathbf{x}^1 = A\mathbf{x}^2, we declare success immediately with (x1,x2)(\mathbf{x}^1,\mathbf{x}^2) as the sought collision. Otherwise, create an explicit mapping from the entries of Yi0Y_i^0 to the binary vectors of Xi0X_i^0 and call it ff. That is, for every y∈Yi0\mathbf{y} \in Y_i^0 write f(y)f(\mathbf{y}) to refer to the vector x∈Xi0\mathbf{x} \in X_i^0 with Ax=yA\mathbf{x} = \mathbf{y} that produced y\mathbf{y}. We stress that here ff is understood separately for each set Yi0Y_i^0.

Now the algorithm proceeds in log⁡k\log k rounds, indexed by j=1,…,log⁡kj = 1,\ldots,\log k. On the jjth round:

  1. Construct a vector μj\mu^j from μj−1\mu^{j-1} by performing log⁡W\log W coordinate doublings, every time selecting a coordinate with the smallest value, breaking ties by the smallest index.

  1. For each i∈[0,k2j)i \in\left[0,\frac{k}{2^j}\right):

    • Compute Z:={y1+y2:y1∈Y2ij−1,y2∈Y2i+1j−1}Z := \{\mathbf{y}^1+\mathbf{y}^2 : \mathbf{y}^1 \in Y_{2i}^{j-1},\mathbf{y}^2 \in Y_{2i+1}^{j-1}\}. If we spot a collision, i.e., we find two different pairs of vectors (y1,y2),((y1)′,(y2)′)(\mathbf{y}^1,\mathbf{y}^2),((\mathbf{y}^1)',(\mathbf{y}^2)') with y1+y2=(y1)′+(y2)′\mathbf{y}^1+\mathbf{y}^2 = (\mathbf{y}^1)'+(\mathbf{y}^2)', we immediately terminate and return the collision f(y1)+f(y2),f((y1)′)+f((y2)′)f(\mathbf{y}^1)+f(\mathbf{y}^2), f((\mathbf{y}^1)')+f((\mathbf{y}^2)'). Otherwise, for each z=y1+y2\mathbf{z}=\mathbf{y}^1+\mathbf{y}^2, we define the mapping f(z)=f(y1)+f(y2)f(\mathbf{z})=f(\mathbf{y}^1)+f(\mathbf{y}^2).

    • Create the partition P\mathcal{P} of ZZ into subsets based on the congruence classes of the vectors in ZZ modulo μj\mu^j; that is, for each y,y′\mathbf{y},\mathbf{y}' in the same part, we have y≡y′(modμj)\mathbf{y}\equiv\mathbf{y}'\pmod{\mu^j}.

    • Choose any set P∈PP\in\mathcal{P} of largest size and let Yij⊆PY_i^j\subseteq P be an arbitrary set of WW vectors.

Correctness. It is straightforward to see that throughout the algorithm the following invariants are preserved for every j∈[0,log⁡k]j\in[0,\log k] and i∈[0,k2j)i\in\left[0,\frac{k}{2^j}\right):

  • each YijY_i^j has size WW;

  • for each y,y′∈Yij\mathbf{y},\mathbf{y}'\in Y_i^j, we have y≡y′(modμj)\mathbf{y}\equiv\mathbf{y}'\pmod{\mu^j};

  • for each y∈Yij\mathbf{y}\in Y_i^j, we have Af(y)=yA f(\mathbf{y})=\mathbf{y} and f(y)∈Xijf(\mathbf{y})\in X_i^j;

  • ∏ℓ∈[n]μℓj=2log⁡W⋅j\prod_{\ell\in[n]}\mu_\ell^j=2^{\log W\cdot j}; each μℓj\mu_\ell^j is a power of 22, and for every ℓ,ℓ′\ell,\ell', we have μℓj≤2μℓ′j\mu_\ell^j\le2\mu_{\ell'}^j.

Now consider a round j∈[log⁡k]j\in[\log k] and an index i∈[0,k2j)i\in\left[0,\frac{k}{2^j}\right). If a collision is spotted, the output is correct by the invariants above; so assume otherwise. First, the size of the partition P\mathcal{P} is at most WW: indeed, by the invariant in round j−1j-1, all vectors of Y2ij−1Y_{2i}^{j-1} are pairwise congruent to each other modulo μj−1\mu^{j-1}, and the same holds for Y2i+1j−1Y_{2i+1}^{j-1}. Hence, all vectors of ZZ are also pairwise congruent to each other modulo μj−1\mu^{j-1}. P\mathcal{P} partitions these vectors into congruence classes modulo μj\mu^j; hence there are at most

(∏ℓ∈[n]μℓj)/(∏ℓ∈[n]μℓj−1)=2log⁡W=W\left(\prod_{\ell\in[n]}\mu_\ell^j\right)\bigg/\left(\prod_{\ell\in[n]}\mu_\ell^{j-1}\right)=2^{\log W}=W

congruence classes, and so ∣P∣≤W|\mathcal{P}|\le W. Then, since ∣Z∣=∣Y2ij−1∣⋅∣Y2i+1j−1∣=W2|Z|=|Y_{2i}^{j-1}|\cdot|Y_{2i+1}^{j-1}|=W^2, we conclude that some part P∈PP\in\mathcal{P} has size at least WW, as required.

Suppose the algorithm finished without reporting a collision, and consider the set Y0log⁡kY_0^{\log k}. All vectors therein are pairwise congruent modulo μlog⁡k\mu^{\log k}. We have

∏ℓ∈[n]μℓlog⁡k=2log⁡k⋅log⁡W≥2log⁡k⋅δnlog⁡q/(2k)≥2nlog⁡q=qn,\prod_{\ell\in[n]}\mu_\ell^{\log k}=2^{\log k\cdot\log W}\ge2^{\log k\cdot\delta n\log q/(2k)}\ge2^{n\log q}=q^n,

where the last inequality follows from the definition of kk such that k/log⁡k≤δ/2k/\log k\le\delta/2. Thus, all coordinates of μlog⁡k\mu^{\log k} are at least qq: since qq is a power of two, any coordinate smaller than qq would need to be upper-bounded by q/2q/2. But then the invariant would guarantee that all the remaining coordinates would be upper-bounded by qq. Then the product of all entries of μlog⁡k\mu^{\log k} would not exceed qn/2q^n/2—a contradiction. Therefore, all coordinates of μlog⁡k\mu^{\log k} are actually divisible by qq. Now take any two distinct vectors y,y′∈Y0log⁡k\mathbf{y},\mathbf{y}'\in Y_0^{\log k}. We have y≡y′(modμlog⁡k)\mathbf{y}\equiv\mathbf{y}'\pmod{\mu^{\log k}}, and so y≡y′(modq⋅1n)\mathbf{y}\equiv\mathbf{y}'\pmod{q\cdot\mathbf{1}_n}. Then the corresponding binary vectors x=f(y),x′=f(y′)\mathbf{x}=f(\mathbf{y}),\mathbf{x}'=f(\mathbf{y}') yield a collision pair (x,x′)(modq)(\mathbf{x},\mathbf{x}')\pmod q, which we can return from the algorithm. Time analysis. On initialization, we compute all sets Yi0Y_i^0 for i∈[0,k)i \in[0,k) in total time O(k⋅W⋅mk⋅n)=W⋅poly⁡(∣I∣)\mathcal{O}(k \cdot W \cdot\frac{m}{k} \cdot n)=W\cdot\operatorname{poly}(|I|): we have ∣Yi0∣=W|Y_i^0|=W, and each element of Yi0Y_i^0 is formed by multiplying a vector of Xi0X_i^0—with at most mk\frac{m}{k} non-zero entries—by AA. Now we analyze the time spent on the jjth round. Fix an iteration i∈[0,j2)i \in[0,\frac{j}{2}). Each set YijY_i^j has size WW. The set ZZ has size O(W2)\mathcal{O}(W^2), so computing ZZ and partitioning it take W2⋅poly⁡(∣I∣)W^2\cdot\operatorname{poly}(|I|) time. Finding the largest P∈PP \in\mathcal{P} requires O(W)\mathcal{O}(W) time. Therefore, the jjth round requires W2⋅poly⁡(∣I∣)W^2\cdot\operatorname{poly}(|I|) time, so the total running time of the algorithm is

W2⋅poly⁡(∣I∣)=22⌈δnlog⁡q/(2k)⌉⋅poly⁡(∣I∣)≤qδn/k⋅poly⁡(∣I∣).W^2\cdot\operatorname{poly}(|I|)=2^{2\lceil\delta n\log q/(2k)\rceil}\cdot\operatorname{poly}(|I|)\le q^{\delta n/k}\cdot\operatorname{poly}(|I|).

The last polynomial factor absorbs the constant from rounding. As we have chosen k≥2k\ge2 to be the largest power of 2 such that k≤mk\le m and 2k≤δlog⁡k2k\le\delta\log k, one of the following must hold:

  • 2k>m2k>m. Then qδn/k=2δnlog⁡q/k=2m/k≤4q^{\delta n/k}=2^{\delta n\log q/k}=2^{m/k}\le4, so qδn/k⋅poly⁡(∣I∣)=poly⁡(∣I∣)q^{\delta n/k}\cdot\operatorname{poly}(|I|)=\operatorname{poly}(|I|).

  • 4k>δlog⁡(2k)4k>\delta\log(2k). Then δn/k<4n/log⁡(2k)<4n/log⁡δ\delta n/k<4n/\log(2k)<4n/\log\delta, with the second inequality following from 4k>δlog⁡(2k)≥2δ4k>\delta\log(2k)\ge2\delta. Hence, qδn/k⋅poly⁡(∣I∣)=qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{\delta n/k}\cdot\operatorname{poly}(|I|)=q^{O(n/\log\delta)}\cdot\operatorname{poly}(|I|).

The required time bounds follow. □\square

Reductions and proofs of the corollaries

Each proof in this section constructs an instance of another problem in polynomial time and converts every solution back to the original instance. Dense Minkowski reduces to Dense Blichfeldt, which reduces to binary collision SIS. The other two reductions go directly to binary collision SIS. Figure 1 shows these reductions.

Corollary 1.3. If δ>1\delta>1, weak constrained SIS (Problem 2) can be solved in time qO((n+d)/log⁡δ)⋅poly⁡(∣I∣)q^{O((n+d)/\log\delta)}\cdot\operatorname{poly}(|I|).

Proof. We prove the bound also for an arbitrary target b∈Zqd\mathbf{b}\in\mathbb{Z}_q^d. Let n′=n+dn'=n+d and m′=m−dlog⁡qm'=m-d\log q and split the input matrices as A=[A0 A1]A=[A_0\ A_1] and G=[G0 G1]G=[G_0\ G_1], where the first blocks have dlog⁡qd\log q columns. Construct the binary collision SIS instance

C=[A1G1]∈Zqn′×m′.C=\begin{bmatrix} A_1 \\ G_1 \end{bmatrix}\in\mathbb{Z}_q^{n'\times m'}.

The density is m′/(n′log⁡q)>1m'/(n'\log q)>1, so the instance is valid.

Let z≠z′\mathbf{z}\ne\mathbf{z}' be any solution of this SIS instance. Then A1z=A1z′A_1\mathbf{z}=A_1\mathbf{z}' and G1z=G1z′G_1\mathbf{z}=G_1\mathbf{z}' modulo qq. The completion procedure following Definition 2.1 computes the unique binary prefix u\mathbf{u} satisfying G0u=b−G1zG_0\mathbf{u}=\mathbf{b}-G_1\mathbf{z}. Since G1z=G1z′G_1\mathbf{z}=G_1\mathbf{z}', the same prefix completes both suffixes to b\mathbf{b}. Return x=[uT,zT]T\mathbf{x}=[\mathbf{u}^{\mathsf T},\mathbf{z}^{\mathsf T}]^{\mathsf T} and y=[uT,(z′)T]T\mathbf{y}=[\mathbf{u}^{\mathsf T},(\mathbf{z}')^{\mathsf T}]^{\mathsf T}. They are distinct because their suffixes differ. The equal images under G1G_1 imply Gx=Gy=bG\mathbf{x}=G\mathbf{y}=\mathbf{b}, and

Ax−Ay=A1(z−z′)=0(modq).A\mathbf{x}-A\mathbf{y}=A_1(\mathbf{z}-\mathbf{z}')=0\pmod q.

Constructing CC and completing the prefix take polynomial time in the input length. So Theorem 1.1 with n′n' rows and m′m' columns gives qO(n′/log⁡δ)⋅poly⁡(∣I∣)q^{O(n'/\log\delta)}\cdot\operatorname{poly}(|I|) time. □\square

Corollary 1.4 (Equal Vector Sums). Equal Vector Sums (Problem 3) can be solved in time qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n/\log\delta)}\cdot\operatorname{poly}(|I|) for δ>1\delta>1.

Proof. Given the vectors a1,…,am\mathbf{a}_1,\ldots,\mathbf{a}_m, compute Δ\Delta and the smallest power of two q>mΔq>m\Delta. Construct A∈Zqn×mA\in\mathbb{Z}_q^{n\times m} by reducing each column ai\mathbf{a}_i modulo qq. The promise δ=m/(nlog⁡q)>1\delta=m/(n\log q)>1 makes the instance valid.

Let x≠y\mathbf{x}\ne\mathbf{y} be any solution. Define S={i:xi=1}S=\{i:x_i=1\} and T={i:yi=1}T=\{i:y_i=1\}, which are distinct subsets. Their difference of integer sums is

v=∑i∈Sai−∑i∈Tai=∑i=1m(xi−yi)ai.\mathbf{v}=\sum_{i\in S}\mathbf{a}_i-\sum_{i\in T}\mathbf{a}_i=\sum_{i=1}^{m}(x_i-y_i)\mathbf{a}_i.

We have v=0(modq)\mathbf{v} = 0 \pmod q and ∥v∥∞≤∑i∣xi−yi∣∥ai∥∞≤mΔ<q\lVert\mathbf{v}\rVert_{\infty} \le\sum_i |x_i-y_i|\lVert\mathbf{a}_i\rVert_{\infty} \le m\Delta< q. Each coordinate of v\mathbf{v} is a multiple of qq of absolute value less than qq, so v=0\mathbf{v} = 0 over the integers. Common elements may be removed from SS and TT if disjoint subsets are desired.

Since q≤2mΔq \le2m\Delta, we have log⁡q=O(log⁡m+log⁡Δ)\log q = O(\log m + \log\Delta) and so the bit length of the reduced instance, O(nmlog⁡q)O(nm\log q), is polynomial in ∣I∣|I|. Constructing AA and decoding S,TS,T take polynomial time in the input length, so Theorem 1.1 gives the stated qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n/\log\delta)}\cdot\operatorname{poly}(|I|) bound.

Corollary 1.6 (Dense Blichfeldt). Dense Blichfeldt (Problem 5) can be solved in time qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n/\log\delta)}\cdot\operatorname{poly}(|I|) for δ>1\delta> 1.

Proof. Given a Dense Blichfeldt instance (Problem 5), write A=[a1 ⋯ am]A=[a_1\ \cdots\ a_m] and let C∈Zn×log⁡∣B∣C\in\mathbb{Z}^{n\times\log|B|} be the matrix with columns ci,j=2jai(modq)c_{i,j}=2^j a_i\pmod q for i∈[m]i\in[m] and 0≤j<log⁡Li0\le j<\log L_i. Since log⁡∣B∣>nlog⁡q\log|B|>n\log q, this is a valid binary collision SIS instance with density log⁡∣B∣/(nlog⁡q)=δ\log|B|/(n\log q)=\delta. For a binary vector u\mathbf{u} with these coordinates, define ϕ(u)∈Zm\phi(\mathbf{u})\in\mathbb{Z}^m by

ϕ(u)i≔∑j=0log⁡Li−12jui,j.\phi(\mathbf{u})_i\coloneqq\sum_{j=0}^{\log L_i-1}2^j u_{i,j}.

Binary expansion gives a bijection from {0,1}log⁡∣B∣\{0,1\}^{\log|B|} to ∏i{0,…,Li−1}=B−p\prod_i\{0,\ldots,L_i-1\}=B-p. We have Cu=Aϕ(u)(modq)C\mathbf{u}=A\phi(\mathbf{u})\pmod q. Given a solution u≠u′\mathbf{u}\ne\mathbf{u}' with Cu=Cu′C\mathbf{u}=C\mathbf{u}', return x=p+ϕ(u)\mathbf{x}=\mathbf{p}+\phi(\mathbf{u}) and y=p+ϕ(u′)\mathbf{y}=\mathbf{p}+\phi(\mathbf{u}'). The bijection gives distinct points in BB, and

A(x−y)=A(ϕ(u)−ϕ(u′))=C(u−u′)=0(modq).A(\mathbf{x}-\mathbf{y})=A(\phi(\mathbf{u})-\phi(\mathbf{u}'))=C(\mathbf{u}-\mathbf{u}')=0\pmod q.

Hence x−y∈Λq⊥(A)\mathbf{x}-\mathbf{y}\in\Lambda_q^\perp(A), as required.

For the running-time analysis, the constructed matrix has nlog⁡∣B∣n\log|B| entries of log⁡q\log q bits, and its columns can be computed by successive doublings modulo qq. Also, decoding the vectors and adding p\mathbf{p} take polynomial time. So if we apply Theorem 1.1 with nn rows and log⁡∣B∣\log|B| columns, we obtain an algorithm running in time qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n/\log\delta)}\cdot\operatorname{poly}(|I|).

Corollary 1.5 (Dense Minkowski). Dense Minkowski (Problem 4) can be solved in time qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n/\log\delta)}\cdot\operatorname{poly}(|I|) for δ>1\delta>1.

Proof. We reduce Dense Minkowski (Problem 4) to Dense Blichfeldt (Problem 5). Keep AA and qq, set p=0\mathbf{p}=0, and set Li=2L_i=2 for every i∈[m]i\in[m], so the box is B={0,1}mB=\{0,1\}^m. The constructed Dense Blichfeldt instance is valid because log⁡∣B∣/(nlog⁡q)>1\log|B|/(n\log q)>1 since m>nlog⁡qm>n\log q.

Given a solution x≠y\mathbf{x}\ne\mathbf{y} for this box, return z=x−y\mathbf{z}=\mathbf{x}-\mathbf{y}. Then z∈Λq⊥(A)\mathbf{z}\in\Lambda_q^\perp(A) is nonzero and z∈{−1,0,1}m\mathbf{z}\in\{-1,0,1\}^m, so ∥z∥∞=1\lVert\mathbf{z}\rVert_\infty=1. Since Λq⊥(A)\Lambda_q^\perp(A) is a full-rank sublattice of Zm\mathbb{Z}^m, its determinant is a positive integer, hence at least 11. Thus ∥z∥∞=1≤det⁡(Λq⊥(A))1/m\lVert\mathbf{z}\rVert_\infty=1\le\det(\Lambda_q^\perp(A))^{1/m}, which is Minkowski’s required bound. Every nonzero vector of this integer lattice has infinity norm at least 11, so z\mathbf{z} is also shortest.

The instance can be constructed in polynomial time. Applying Corollary 1.6 with the same nn, qq, and δ\delta yields the required qO(n/log⁡δ)⋅poly⁡(∣I∣)q^{O(n/\log\delta)}\cdot\operatorname{poly}(|I|) time.

Use of generative AI

We used OpenAI Codex and GPT-6 to proofread and lightly edit the manuscript (for example, to draw Fig. 1). All the ideas and proofs in this paper were developed by humans on whiteboards.

References

  1. [1]Divesh Aggarwal, Antoine Joux, Miklos Santha, and Karol Wegrzycki. Polynomial Time Algorithms for Integer Programming and Unbounded Subset Sum in the Total Regime. arXiv:2407.05435, 2024. URL: https://arxiv.org/abs/2407.05435, doi:10.48550/arXiv.2407.05435.
  2. [2]Jonathan Allcock, Yassine Hamoudi, Antoine Joux, Felix Klingelhöfer, and Miklos Santha. Classical and Quantum Algorithms for Variants of Subset-Sum via Dynamic Programming. In 30th Annual European Symposium on Algorithms (ESA 2022), volume 244 of Leibniz International Proceedings in Informatics, pages 6:1–6:18. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. URL: https://arxiv.org/abs/2111.07059, doi:10.4230/LIPIcs.ESA.2022.6.
  3. [3]Deepak Bhati, Pranjal Dutta, Antoine Joux, Mahesh Sreekumar Rajasree, and Karol Węgrzycki. Pigeonhole equal subset sum: Subexponential algorithm, tight lower bounds, and average-case analysis. In 67th IEEE Symposium on Foundations of Computer Science (FOCS 2026), 2026. To appear. URL: https://focs.computer.org/2026/accepted-papers/.
  4. [4]Hans Frederik Blichfeldt. A New Principle in the Geometry of Numbers, with Some Applications. Transactions of the American Mathematical Society, 15(3):227–235, 1914. URL: https://www.jstor.org/stable/1988585, doi:10.2307/1988585.DOI
  5. [5]Lin Chen, Yuchen Mao, and Guochuan Zhang. Long Arithmetic Progressions in Sumsets and Subset Sums: Constructive Proofs and Efficient Witnesses. In 57th Annual ACM Symposium on Theory of Computing (STOC 2025), pages 2086–2097. ACM, 2025. URL: https://arxiv.org/abs/2503.19299, doi:10.1145/3717823.3718281.
  6. [6]Yilei Chen, Qipeng Liu, and Mark Zhandry. Quantum Algorithms for Variants of Average-Case Lattice Problems via Filtering. In Advances in Cryptology – EUROCRYPT 2022, volume 13277 of Lecture Notes in Computer Science, pages 372–401. Springer, 2022. URL: https://eprint.iacr.org/2021/1093, doi:10.1007/978-3-031-07082-2_14.DOI
  7. [7]Léo Ducas, Lynn Engelberts, and Johanna Loyer. Wagner’s Algorithm Probably Runs in Subexponential Time for SIS∞. In Advances in Cryptology – CRYPTO 2025, volume 16000 of Lecture Notes in Computer Science, pages 353–384. Springer, 2025. URL: https://ir.cwi.nl/pub/35888, doi:10.1007/978-3-032-01855-7_12.DOI
  8. [8]Friedrich Eisenbrand and Gennady Shmonin. Carathéodory bounds for integer cones. Operations Research Letters, 34(5):564–568, 2006. doi:10.1016/j.orl.2005.09.008.DOI
  9. [9]Rebecca Hoberg, Harishchandra Ramadas, Thomas Rothvoss, and Xin Yang. Number Balancing is as Hard as Minkowski’s Theorem and Shortest Vector. In Integer Programming and Combinatorial Optimization (IPCO 2017), volume 10328 of Lecture Notes in Computer Science, pages 254–266. Springer, 2017. URL: https://arxiv.org/abs/1611.08757, doi:10.1007/978-3-319-59250-3_21.
  10. [10]Ce Jin, Ryan Williams, and Stan Zhang. New Algorithms for Pigeonhole Equal Subset Sum. In 33rd Annual European Symposium on Algorithms (ESA 2025), volume 351 of Leibniz International Proceedings in Informatics, pages 86:1–86:12. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2025. URL: https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ESA.2025.86, doi:10.4230/LIPIcs.ESA.2025.86.DOI
  11. [11]Ce Jin and Hongxun Wu. A Faster Algorithm for Pigeonhole Equal Sums. In 51st International Colloquium on Automata, Languages, and Programming (ICALP 2024), volume 297 of Leibniz International Proceedings in Informatics, pages 94:1–94:11. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. URL: https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ICALP.2024.94, doi:10.4230/LIPIcs.ICALP.2024.94.DOI
  12. [12]Hermann Minkowski. Geometrie der Zahlen. B. G. Teubner, Leipzig and Berlin, 1910. First part published in 1896. URL: https://archive.org/details/geometried. zahlen00minkrich.
  13. [13]Marcin Mucha, Jesper Nederlof, Jakub Pawlewicz, and Karol Węgrzycki. Equal-Subset-Sum Faster Than the Meet-in-the-Middle. In 27th Annual European Symposium on Algorithms (ESA 2019), volume 144 of Leibniz International Proceedings in Informatics, pages 73:1–73:16. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2019. URL: https://drops. dagstuhl.de/entities/document/10.4230/LIPIcs.ESA.2019.73, doi: 10.4230/LIPIcs.ESA.2019.73.
  14. [14]Christos H. Papadimitriou. On the complexity of the parity argument and other inefficient proofs of existence. J. Comput. Syst. Sci., 48(3):498–532, June 1994. doi:10.1016/S0022-0000(05)80063-7.DOI
  15. [15]Tim Randolph and Karol Węgrzycki. Beating Meet-in-the-Middle for Subset Balancing Problems. In 58th Annual ACM Symposium on Theory of Computing (STOC 2026). ACM, 2026. URL: https://arxiv.org/abs/2511.10823, doi:10.1145/3798129.3800841.
  16. [16]Katerina Sotiraki, Manolis Zampetakis, and Giorgos Zirdelis. PPP-completeness with connections to cryptography. In Mikkel Thorup, editor, 59th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2018, Paris, France, October 7-9, 2018, pages 148–158. IEEE Computer Society, 2018. doi:10.1109/FOCS.2018.00023.DOI
  17. [17]David Wagner. A Generalized Birthday Problem. In Advances in Cryptology – CRYPTO 2002, volume 2442 of Lecture Notes in Computer Science, pages 288–303. Springer, 2002. URL: https://www.iacr.org/archive/crypto2002/24420288/24420288.pdf, doi:10.1007/3-540-45708-9_19.DOI

Paper details

vlnc:W_k6htykwp
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 3

downloads · 0

A view counts once per browser per day, a download each time the PDF is requested.

CC BY 4.0

Original source

  • Computer Science

Codex, GPT-6 · View statement →

Looking for related papers…
Contents