Table of Contents

The difficulty of solving a hard lattice problem depends significantly on the choice of its parameters. One cannot meaningfully discuss cryptographic constructions — especially FHE schemes — without first understanding the complexity landscape of lattice problems. This post describes several classical (i.e., non-quantum) reductions among different lattice problems. If you only care about the results, here’s a visual representation of the complexity of solving these problems as a function of approximation ratio 𝛾:

Hardness of approximating SVP and CVP as function of approximation parameter gamma Hardness of approximating GapSVP and GapCVP in ℓ2 norm as a function of approximation ratio 𝛾(𝑛).
(SVP∗ under randomized, quasi-polynomial reduction!)

This chart is taken from 1 with the following change: Khot’s seminal GapSVP𝛾 inapproximability result 2, where 𝛾(𝑛)≤2(log⁡𝑛)1/2−𝜖 was proved to be inapproximable, has been updated with Haviv-Regev’s inapproximability result from 3 where 𝛾(𝑛)≤𝑛𝑐/log⁡log⁡𝑛.

SVP and CVP Problem Instances


Recall that an NP Optimization (NPO) problem is a minimization or maximization problem where the goal is to find an optimal solution from a set of possible solutions. An approximation algorithm for an NPO problem always returns a valid solution, but with the caveat that it may not be optimal. However, even in the worst case, these algorithms do provide the guarantee that the output will be no worse than 𝛾∈ℝ(𝛾≥1) times the optimal. 𝛾 is called the approximation ratio and its value depends on the algorithm, not the problem instance.

Both SVP and CVP are NP Optimization (NPO) problems. Recall that an SVP𝛾problem instance consists of a lattice L specified by a basis 𝐁∈ℝ𝑛×𝑛 and an approximation ratio 𝛾. The goal is to find a short (non-zero) lattice vector ⃗𝑥∈L(𝐁) such that ⃗𝑥 is at most 𝛾 times longer than the shortest (non-zero) vector in L(𝐁). In case of CVP𝛾, in addition to 𝐁 and 𝛾, we are also given a target vector ⃗𝑡∈ℝ𝑛, and the goal is to find some lattice vector ⃗𝑦∈L that is at most 𝛾 times longer than the shortest possible distance between ⃗𝑡 and any point in L.

The three different flavors of exact SVP — Search-SVP, Opt-SVP, and Decisional-SVP — as well their approximate versions — Approx-SVP𝛾 and GapSVP𝛾 — were described in detail in the previous post. The next subsection formally defines the exact and approximate versions of Closest Vector Problem (CVP). Readers already familiar with CVP can safely skip the next subsection.

The Closest Vector Problem

The distance between any lattice vector ⃗𝑥∈L and a point ⃗𝑡∈ℝ𝑛 in space is defined as the usual Euclidean distance (or any ℓ𝑝 norm) between two points in space: Δ(⃗𝑡,⃗𝑥):=‖⃗𝑡−⃗𝑥‖. However, a lattice is an infinite collection of points, so defining the distance between a point and the entire lattice requires a new definition:

(Distance from a Lattice, Closest Vector)

Let L be a full-rank lattice specified by a basis 𝐁∈ℝ𝑛×𝑛, and let ⃗𝑡∈ℝ𝑛 be an arbitrary point in space. Then, the distance between ⃗𝑡 and L is defined as the minimum distance between ⃗𝑡 and any point ⃗𝑦 in the lattice, i.e., Δ(⃗𝑡,L):=min⃗𝑦∈L{∥⃗𝑡−⃗𝑦∥}.

A lattice vector ⃗𝑥∈L is a closest vector to ⃗𝑡 if Δ(⃗𝑡,L)=Δ(⃗𝑡,⃗𝑥).

Exact Closest Vector Problem (CVP)

The exact search, optimization, and decision problem related to CVP are listed below:

(Search-CVP)
Input
A non-singular basis matrix 𝐁∈ℤ𝑛×𝑛 representing a full-rank integral lattice L.
A point ⃗𝑡∈ℤ𝑛.
Output
A vector ⃗𝑥∈L such that ∀⃗𝑦∈L:‖⃗𝑡−⃗𝑥‖≤‖⃗𝑡−⃗𝑦‖.
(Opt-CVP)
Input
A non-singular basis matrix 𝐁∈ℤ𝑛×𝑛 representing a full-rank integral lattice L.
A point ⃗𝑡∈ℤ𝑛.
Output
The length between ⃗𝑡 and the lattice L, i.e., Δ(⃗𝑡,L).

Note: In ℓ𝑝 norm, the algorithm is allowed to return Δ(L,⃗𝑡)𝑝 instead of Δ(L,⃗𝑡).

(Decisional-CVP)
Input
A non-singular basis matrix 𝐁∈ℤ𝑛×𝑛 representing a full-rank integral lattice L.
A point ⃗𝑡∈ℤ𝑛.
A distance threshold 𝑟∈ℚ.
Output
Yes if Δ(⃗𝑡,L)≤𝑟
No otherwise.

Note: The distance threshold 𝑟 is allowed to be a rational number. However, it’s assumed that the numerator and the denominator of 𝑟 can be represented using polynomial (in dimension) number of bits.

A specific subclass of CVP, similar in spirit to unique decoding of error correcting codes, is known as the Bounded Distance Decoding (BDD) Problem 4. The BDD problem is formally defined as follows:

(Bounded distance Decoding, 𝛼-BDD)
Input
A non-singular basis matrix 𝐁∈ℤ𝑛×𝑛 representing a full-rank integral lattice L whose shortest non-zero vector has length 𝜆1. (𝜆1 is not an explicit input to the algorithm.)
A target vector ⃗𝑡∈ℚ𝑛 with the guarantee that 0≤Δ(⃗𝑡,L(𝐁))<𝛼⋅𝜆1.
Output
A unique vector ⃗𝑥∈L(𝐁) such that ∀⃗𝑦∈L(𝐁):‖⃗𝑡−⃗𝑥‖≤‖⃗𝑡−⃗𝑦‖.

Note: 𝛼 is a measure of the effectiveness of the algorithm. It must satisfy the constraint 0<𝛼≤12 to ensure that there’s a unique lattice vector ⃗𝑥∈L(𝐁) that’s closest to ⃗𝑡. Consequently, ⃗𝑡 can be written as ⃗𝑡=⃗𝑥+⃗𝑒 where ⃗𝑥∈L(𝐁) and ⃗𝑒∈P(𝐁) are uniquely determined.

Complexity results related to BDD are not discussed further in this post. See 4 (and a very recent work by Bennett and Peikert 5, which I haven’t fully read) for a deeper dive.

Approximate Closest Vector Problem (𝛾-CVP)

Let 𝛾∈ℝ(𝛾≥1) be an approximation factor. 𝛾 will often be written as 𝛾(𝑛) to emphasize its dependence on the dimension of L⊆ℝ𝑛. Indeed, the entire game of inapproximability is to understand the dependence of 𝛾 on 𝑛.

The approximate search and decision (Gap) problems related to CVP are listed below:

(GapCVP𝛾)
Input
A non-singular basis matrix 𝐁∈ℤ𝑛×𝑛 representing a full-rank integral lattice L.
An threshold value 𝑟∈ℚ.
Output
Yes if Δ(⃗𝑡,L)≤𝑟,
No if Δ(⃗𝑡,L)>𝛾(𝑛)⋅𝑟,
Undefined, otherwise.
(Gap Reductions)

If a problem X reduces to GapCVP, it’s important that the input to GapCVP oracle either correspond to the Yes instance or the No instance of the problem, but never to the Undefined instance.

Reductions among exact problems


This section lists a series of reductions related to exact version of CVP and SVP.

Decisional-CVP is 𝖭𝖯-Complete

We are given a lattice basis 𝐁∈ℤ𝑛×𝑛, a target vector ⃗𝑡∈ℚ𝑛, and a distance threshold 𝑟∈ℚ. To prove Decisional-CVP is in 𝖭𝖯, we need to provide a witness and an efficient verification procedure that can validate the claim: Δ(⃗𝑡,L(𝐁))?≤𝑟.

If Δ(⃗𝑡,L(𝐁))≤𝑟, then there exists ⃗𝑥∈L(𝐁) such that ‖⃗𝑡−⃗𝑥‖≤𝑟. Any such ⃗𝑥 can act as an 𝖭𝖯 witness with the following verification procedure:

  1. Verifier computes 𝑟′:=‖⃗𝑥−⃗𝑡‖ and checks 𝑟′?≤𝑟.
  2. Verifier checks whether ⃗𝑥?∈L(𝐁) by treating 𝐁 as an element of ℚ𝑛×𝑛 and ⃗𝑥 as an element of ℚ𝑛 and solving the following linear equation in ⃗𝑧∈ℚ: 𝐁⋅⃗𝑧=⃗𝑥. If all elements of ⃗𝑧 turn out to be integers (i.e., has denominator 1) then ⃗𝑥∈L(𝐁) otherwise not.

To prove 𝖭𝖯-Completeness, a reduction from Subset-Sum to Decisional-CVP suffice (reduction below is adapted from Chapter 03 of 6). But first, the Subset-Sum problem (SSP) is defined precisely.

(Subset-Sum)
Input
A set 𝐴:={𝑎1,⋯,𝑎𝑛}⊆ℤ of 𝑛 integers (distinct by definition of a set).
A target sum 𝑈∈ℤ.
Output
Yes if there exists a subset 𝐴′⊆𝐴 such that 𝑈=∑𝑎′∈𝐴′𝑎′
No otherwise

Subset sum is a well known 𝖭𝖯-complete problem, with various applications in cryptography and cryptanalysis.

(Subset-Sum ⪯ Decisional-CVP)
Input
A set 𝐴={𝑎1,⋯,𝑎𝑛}⊆ℤ,
A target sum 𝑈∈ℤ.
Output
Yes if ∃𝐴′⊆𝐴:∑𝑎′∈𝐴′𝑎′=𝑈
No otherwise.
Oracle
Decisional-CVP(𝐁,⃗𝑡,𝑟) where 𝐁∈ℤ(𝑛+1)×𝑛, ⃗𝑡∈ℚ𝑛+1 and 𝑟∈ℚ. (Note: Given a fixed target ⃗𝑡, there are standard techniques to transform low-rank CVP instances into a full rank CVP instance.)
Algorithm
Let ‖⋅‖𝑝 denote the usual ℓ𝑝 norm. Recall that ℓ𝑝 norm of a vector ⃗𝑥={𝑥𝑖} is defined as ∥⃗𝑥∥𝑝=⎧{ {⎨{ {⎩𝑝√∑𝑖‖𝑥𝑖‖𝑝𝑝if 𝑝<∞max𝑖{|𝑥𝑖|}if 𝑝=∞

While this post is mainly geared towards ℓ2 norm, this reduction works for arbitrary ℓ𝑝 norm without much technicality, therefore the proof is given in full generality.

Given 𝐴={𝑎𝑖}, the reduction needs to convert the Subset-Sum instance into a Decisional-CVP instance. Consider the following Decisional-CVP instance 𝐁:=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝𝑛⋅𝑎1𝑛⋅𝑎2⋯𝑛⋅𝑎𝑛20⋯002⋯0⋮⋮⋱⋮00⋯2⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠∈ℤ(𝑛+1)×𝑛⃗𝑡:=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝𝑛⋅𝑈1⋮1⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠∈ℚ𝑛+1and𝑟:=⎧{ {⎨{ {⎩𝑝√𝑛for 𝑝<∞1for ℓ∞norm(1) If ⃗𝑧:={𝑧1,⋯,𝑧𝑛}∈ℤ𝑛 then the difference between a lattice vector 𝐁⋅⃗𝑧 and ⃗𝑡 is: 𝐁⋅⃗𝑧−⃗𝑡=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝𝑛∑𝑛𝑖=1𝑧𝑖⋅𝑎𝑖−𝑛𝑈2𝑧1−1⋮2𝑧𝑛−1⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠∈ℚ𝑛+1(2)

We will prove that Subset-Sum(𝐴,𝑈) is True if and only if Δ𝑝(⃗𝑡,L(𝐁))≤𝑟, where Δ𝑝(⋅,⋅) denotes the distance of ⃗𝑡 from L(𝐁) in ℓ𝑝 norm.

(⇒)
Suppose Subset-Sum(𝐴,𝑈) is True. Then there exists an index set 𝐽:={𝑗1,⋯,𝑗𝑘}⊆{1,2,⋯,𝑛} such that ∑1≤𝑖≤𝑘𝑎𝑗𝑖=𝑈. Consider ⃗𝑧:={𝑧1,⋯,𝑧𝑛}∈ℤ𝑛,(𝑧𝑖∈{0,1}) where 𝑧𝑖=1 if 𝑖∈𝐽 and zero otherwise. Then by (2) 𝐁⋅⃗𝑧−⃗𝑡=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝02𝑧1−1⋮2𝑧𝑛−1⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠ Since 𝑧𝑖∈{0,1} ⟹ 2𝑧𝑖−1∈{−1,1} ⟹ ∥𝐁⋅⃗𝑧−⃗𝑡∥𝑝={𝑝√𝑛if 𝑝<∞1if 𝑝=∞ ⟹ Δ𝑝(⃗𝑡,𝐁)≤𝑟 and Decisional-CVP(𝐁,⃗𝑡,𝑟) correspond to an Yes instance.
(⇐)
Conversely, suppose Δ𝑝(⃗𝑡,L(𝐁))≤𝑟. We need to show that ∃⃗𝑧:={𝑧1,⋯,𝑧𝑛}∈{0,1}𝑛, such that ∑𝑧𝑖∈⃗𝑧𝑧𝑖⋅𝑎𝑖=𝑈. By (2) ∥𝐁⋅⃗𝑧−⃗𝑡∥𝑝𝑝=⎧{ {⎨{ {⎩𝑛𝑝⋅‖∑𝑛𝑖=1𝑧𝑖⋅𝑎𝑖−𝑈‖𝑝𝑝+∑𝑛𝑗=1‖2𝑧𝑗−1‖𝑝𝑝if 𝑝<∞max1≤𝑖≤𝑛{|2𝑧𝑖−1|,𝑛⋅∣∑𝑛𝑖=𝑗𝑧𝑗⋅𝑎𝑗−𝑈∣}if 𝑝=∞

We consider ℓ𝑝|𝑝<∞ and ℓ∞ norms separately:

ℓ𝑝|𝑝<∞ norm
Since each 𝑧𝑖 is an integer, ‖2𝑧𝑖−1‖𝑝≥1. Therefore 𝑛∑𝑗=1‖2𝑧𝑗−1‖𝑝𝑝≥𝑛 which implies ∥𝐁⋅⃗𝑧−⃗𝑡∥𝑝𝑝≥𝑛. However, by assumption, ∥𝐁⋅⃗𝑧−⃗𝑡∥𝑝𝑝≤𝑛 therefore the only feasible solution is ∥𝐁⋅⃗𝑧−⃗𝑡∥𝑝𝑝=𝑛⟹∥𝑛𝑝(𝑛∑𝑖=1𝑧𝑖⋅𝑎𝑖−𝑈)∥𝑝𝑝=0and∀𝑖:‖2𝑧𝑖−1‖𝑝=1⟹𝑛∑𝑖=1𝑧𝑖⋅𝑎𝑖=𝑈and{𝑧1,⋯,𝑧𝑛}∈{0,1}.
ℓ∞ norm
As before, ∀𝑧𝑖∈ℤ:|2𝑧𝑖−1|≥1. If |∑𝑛𝑖=1𝑧𝑖⋅𝑎𝑖−𝑈|≠0 then max1≤𝑖≤𝑛{|2𝑧𝑖−1|,𝑛⋅∣𝑛∑𝑗=1𝑧𝑗⋅𝑎𝑗−𝑈∣}≥𝑛. By assumption, Δ∞(𝐁,⃗𝑡)≤1. Therefore, the only feasible solution is ∥𝐁⋅⃗𝑧−⃗𝑡∥∞=1and∣𝑛∑𝑗=1𝑧𝑗⋅𝑎𝑗−𝑈∣=0⟹∀𝑖:|2𝑧𝑖−1|=1⟹𝑛∑𝑖=1𝑧𝑖⋅𝑎𝑖=𝑈and{𝑧1,⋯,𝑧𝑛}∈{0,1}.

Based on the result above, a Subset-Sum problem instance can be encoded as a Decisional-CVP instance using (1). Since Subset-Sum is 𝖭𝖯-complete, Decisional-CVP is also 𝖭𝖯-complete.

Decisional-SVP|ℓ∞ is 𝖭𝖯-Complete

Recall that a Decisional-SVP∞(𝐁,𝑟) problem instance consists of an integral lattice basis 𝐁∈ℤ𝑛×𝑛 and a distance threshold 𝑟∈ℚ. The goal is to decide if 𝜆∞1(𝐁)≶𝑟? Also recall that in ℓ∞ norm, if ⃗𝑥:={𝑥1,⋯,𝑥𝑛}∈ℤ𝑛 then ∥⃗𝑥∥∞=max1≤𝑖≤𝑛{|𝑥𝑖|}

This proof is an adaptation of the original 1981 proof by van Emde Boas 7. The proof follows the following chain of reductions:

2-Partition ⪯ Bounded Homogeneous Linear Equation ⪯ Decisional-SVP

These individual problems and the corresponding reductions are described next.

Subset-Sum ⪯ 2-Partition

Given a set 𝐴:={𝑎1,⋯,𝑎𝑛} of integers, the 2-Partition problem asks: Does 𝐴 have a subset 𝐵⊆𝐴 such that the sum of all elements in 𝐵 equals the sum of all elements in 𝐴∖𝐵. Or equivalently, does there exist 𝑥𝑖∈{+1,−1} such that 𝑛∑𝑖=1𝑥𝑖⋅𝑎𝑖=0?

Formally 2-Partition is defined as follows:

(2-Partition)
Input
A set 𝐴={𝑎1,⋯,𝑎𝑛}⊆ℤ.
Output
Yes if ∃𝐵⊆𝐴 such that ∑𝑏∈𝐵𝑏=∑𝑐∈𝐴∖𝐵𝑐.
No otherwise.

The following reduction from Subset-Sum(𝑆,𝑈) to 2-Partition establishes NP-completeness of 2-Partition.

(Subset-Sum ⪯ 2-Partition)
Input
A Subset-Sum instance 𝑆⊆ℤ, and
A Subset-Sum target 𝑈∈ℤ.
Output
Yes if ∃𝑆′⊂𝑆:∑𝑠′∈𝑆𝑠′=𝑈
No otherwise
Algorithm
This is a very well known reduction, details of which are left as an exercise to the reader 😊. (See page 60 and Appendix A3.2 of 8 for a detailed analysis.)

2-Partition ⪯ ℓ∞-Bounded Homogeneous Linear Equation (BHLE)

Given a set 𝐴:={𝑎1,⋯,𝑎𝑛} of integers and a positive threshold 𝜅∈ℤ>0, the problem of Bounded Homogeneous Linear Equation (BHLE) in ℓ∞-norm is defined as follows:

(ℓ∞-Bounded Homogeneous Linear Equation)
Input
A set 𝐴 represented as ↪𝑎:={𝑎1,⋯,𝑎𝑛}∈ℤ𝑛,
A positive solution threshold 𝜅∈ℤ>0.
Output
Yes if ∃⃗𝑥:={𝑥1,⋯,𝑥𝑛}∈ℤ𝑛 such that ⟨⃗𝑥,↪𝑎⟩=0and 0<‖⃗𝑥‖ℓ∞≤𝜅. (Or equivalently, ⃗𝑥∈ℤ𝑛∖⃗0, ⟨⃗𝑥,↪𝑎⟩=0, and |𝑥𝑖|≤𝜅 for all 𝑖∈{1,⋯,𝑛}.)
No otherwise.

Note: One can define BHLE for any arbitrary ℓ𝑝 norm, and restrict the solution space ⃗𝑥∈ℤ𝑛 to non-zero points inside a 𝑛-dimensional sphere 0<‖⃗𝑥‖ℓ𝑝≤𝜅. However, for the rest of this section only ℓ∞ norm is considered.

  • In this section, a set 𝐴:={𝑎1,⋯,𝑎𝑛}⊆ℤ is often represented as a vector of unique values, i.e., ∀𝑖,𝑗∈{1,⋯,𝑛}:𝑎𝑖=𝑎𝑗⟺𝑖=𝑗. The following notation is used to represent sets as vectors:

    ↪𝑎:={𝑎1,⋯,𝑎𝑛}

    The index 𝑖 of 𝑎𝑖 is chosen arbitrarily, but once fixed, remains fixed forever. (Note: With this notation, equality relations like ↪𝑎=↪𝑏 are ill defined and should be avoided.)

  • Let 𝜅∈ℤ>0 be a positive integer. Then the set of integers with absolute value less than or equal to 𝜅 is denoted by [𝜅], i.e., [𝜅]:={𝑖:|𝑖|≤𝜅}⊆ℤ

  • Vector ⃗0:={0,⋯,0} denotes all zeros vector and ⃗1:={1,⋯,1} denotes all ones vector of appropriate dimension (which should be inferred from the context).

When 𝜅=1, BHLE almost appears to be an instance of 2-Partition. However, these two problems are fundamentally different. To see why, notice that a solution to a 2-Partition instance is a statement about the entire set 𝐴. However, in case of BHLE, since 𝑥𝑖s are allowed to be zero, any two disjoint subsets of 𝐴 that sum to the same value suffice as a solution (by setting 𝑥𝑖=0 for other elements). Conversely, if 𝐴 corresponds to an Yes instance of BHLE, then every superset of 𝐴 also corresponds to an Yes instance of BHLE. This is not the case with 2-Partition. (In theory, one could consider an NPO version of BHLE, say Min-BHLE, with the goal to minimize the count of 𝑥𝑖=0 coordinate in ⃗𝑥. However, even Min-BHLE is different from 2-Partition.)

To prove that 2-Partition (Karp) reduces to BHLE in polynomial-time, we need to define a polynomial time map 𝜉:ℤ𝑛↦ℤ𝗉𝗈𝗅𝗒(𝑛) from inputs to the 2-Partition instance, to inputs to the BHLE instance. Let ↪𝑎:={𝑎1,⋯,𝑎𝑛}∈ℤ𝑛 be an input to 2-Partition problem instance, and let 𝜇>𝜅∑𝑖|𝑎𝑖| be a sufficiently large integer. Furthermore, let 𝑑∈ℤ>0 be a positive integer, whose value will be derived at the end to satisfy the constraints of the reduction.

Let

𝐓=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝𝜅𝜅0𝜅00𝜅00𝜅𝜅0𝜅0000𝜅𝜅𝜅00010⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠
⃗𝑢=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝1𝜅𝑑(𝜅𝑑)2(𝜅𝑑)3(𝜅𝑑)4⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠
⃗𝑣=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝(𝜅𝑑)4𝑛−4(𝜅𝑑)4𝑛−3(𝜅𝑑)4𝑛−2(𝜅𝑑)4𝑛−11⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠
⃗𝑤=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝10010⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠

and let ⃗𝛽:{1,⋯,𝑛}×ℤ↦ℤ5 be the following affine transform that maps each 𝑎𝑖∈↪𝑎 to a vector of 5 elements: ⃗𝛽(𝑖,𝑎𝑖):=⎧{ {⎨{ {⎩𝑎𝑖⋅⃗𝑤+𝜇⋅(𝜅⋅𝑑)4𝑖−4⋅𝐓⃗𝑢for 1≤𝑖≤𝑛−1𝑎𝑛⋅⃗𝑤+𝜇⋅𝐓⃗𝑣(3)

Define the polynomial time input encoding map 𝜉:ℤ𝑛↦ℤ5𝑛 as the concatenation of 5-tuples ⃗𝛽(𝑖,𝑎𝑖) for all 𝑖∈{1,⋯,𝑛}, i.e., 𝜉(↪𝑎):=⎛⎜ ⎜ ⎜ ⎜ ⎜⎝⃗𝛽(1,𝑎1)⋮⃗𝛽(𝑛,𝑎𝑛)⎞⎟ ⎟ ⎟ ⎟ ⎟⎠∈ℤ5𝑛(4) (Recall that all vectors are column vectors!)

In the next few lemmas we will prove that if ↪𝑎 is a 2-Partition Yes instance, then 𝜉(↪𝑎) is a BHLE Yes instance. Conversely, given an arbitrary set ↪𝑎 such that 𝜉(↪𝑎) is a BHLE Yes instance, then we will prove that ↪𝑎 is a 2-Partition Yes instance.

Let ⃗𝑥:={𝑥1,⋯,𝑥𝑛}∈{−1,+1}𝑛 denote the indeterminates of 2-Partition linear Diophantine equation ⟨⃗𝑥,↪𝑎⟩=0.

Corresponding to each 𝑥𝑖, let ⃗𝜒𝑖 denote the 5-tuple of indeterminates for BHLE linear Diophantine equations, i.e., ⃗𝜒𝑖:={𝑦(𝑖,1),𝑦(𝑖,2),𝑦(𝑖,3),𝑦(𝑖,4),𝑦(𝑖,5)}(5) and let ⃗Υ:=⎛⎜ ⎜ ⎜ ⎜⎝⃗𝜒1⋮⃗𝜒𝑛⎞⎟ ⎟ ⎟ ⎟⎠.(6) Then, the following linear Diophantine equation corresponds to an BHLE Yes instance if there exists ⃗Υ∈ℤ5𝑛 such that ⟨⃗Υ,𝜉(↪𝑎)⟩=0∧0<‖⃗Υ‖ℓ∞≤𝜅, or equivalently ∃⃗𝜒𝑖∈[𝜅]5 (with not all ⃗𝜒𝑖=⃗0) such that ⟨⃗Υ,𝜉(↪𝑎)⟩=∑𝑛𝑖=1⟨⃗𝜒𝑖,⃗𝛽(𝑖,𝑎𝑖)⟩=𝜇(⟨⃗𝜒𝑛,𝐓⃗𝑣⟩+∑𝑛−1𝑖=1(𝜅𝑑)4𝑖−4⟨⃗𝜒𝑖,𝐓⃗𝑢⟩)+∑𝑛𝑖=1𝑎𝑖⋅(𝑦(𝑖,1)+𝑦(𝑖,4))=0(7) where 𝐓,⃗𝑢,⃗𝑣, and ⃗𝑤 are defined as in (3).

In the following Lemma, we first state and prove that if ↪𝑎∈ℤ𝑛 is a 2-Partition Yes instance, then 𝜉(↪𝑎)∈ℤ5𝑛 correctly maps ↪𝑎 into a BHLE Yes instance.

(↪𝑎∈ 2-Partition ⟹𝜉(↪𝑎)∈ BHLE)

Let ↪𝑎∈ℤ𝑛 be an Yes instance of 2-Partition, i.e., ∃⃗𝑥∈{−1,+1}𝑛 such that ⟨⃗𝑥,↪𝑎⟩=0, then there exists ⃗Υ∈[𝜅]5𝑛∖⃗0 such that ⟨⃗Υ,𝜉(↪𝑎)⟩=0.

Since ↪𝑎:={𝑎1,⋯,𝑎𝑛} is a 2-Partition Yes instance, ∃⃗𝑥={𝑥1,⋯,𝑥𝑛}∈{−1,+1}𝑛 such that 𝑛∑𝑖=1𝑥𝑖⋅𝑎𝑖=0.

Consider the following assignment to 𝜒𝑖 based on the value of 𝑥𝑖:

  • If 𝑥𝑖=+1, then define 𝜒+1𝑖:=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝1−100−𝜅⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠∈[𝜅]5∖⃗0(8)

  • If 𝑥𝑖=−1, then define 𝜒−1𝑖:=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝001−1𝜅⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠∈[𝜅]5∖⃗0(9)

Note: 𝜒−1𝑖 is just notation, and should not be interpreted as inverse of anything!

First observe that ⟨𝜒+1𝑖,𝐓⃗𝑢⟩=⟨𝜒−1𝑖,𝐓⃗𝑢⟩=𝜅⋅(1−(𝜅𝑑)4) for 1≤𝑖≤𝑛−1, and⟨𝜒+1𝑛,𝐓⃗𝑣⟩=⟨𝜒−1𝑛,𝐓⃗𝑣⟩=𝜅⋅((𝜅𝑑)4𝑛−4−1) and construct ⃗Υ∈[𝜅]5𝑛∖⃗0 as the vector with entries 𝜒+1𝑖 or 𝜒−1𝑖, depending upon whether 𝑥𝑖=+1 or 𝑥𝑖=−1 in the solution to 2-Partition instance. Then by (7) ⟨⃗Υ,𝜉(↪𝑎)⟩=𝜇⋅𝜅((𝜅𝑑)4𝑛−4−1+𝑛−1∑𝑖=1(𝜅𝑑)4𝑖−4(1−(𝜅𝑑)4))+𝑛∑𝑖=1𝑎𝑖⋅(𝑦(𝑖,1)+𝑦(𝑖,4))=𝜇⋅𝜅⎛⎜ ⎜ ⎜⎝(𝜅𝑑)4𝑛−4−1+(1−(𝜅𝑑)4+(𝜅𝑑)4−(𝜅𝑑)8+⋯+(𝜅𝑑)4𝑛−8−(𝜅𝑑)4𝑛−4)⏟____________⏟____________⏟1−(𝜅𝑑)4𝑛−4⎞⎟ ⎟ ⎟⎠+𝑛∑𝑖=1𝑎𝑖⋅(𝑦(𝑖,1)+𝑦(𝑖,4))=𝑛∑𝑖=1𝑎𝑖⋅(𝑦(𝑖,1)+𝑦(𝑖,4))

Notice that if 𝑥𝑖=1, then by (8), 𝑦(𝑖,1)=1 and 𝑦(𝑖,4)=0, therefore 𝑎𝑖⋅(𝑦(𝑖,1)+𝑦(𝑖,4))=𝑎𝑖=𝑥𝑖⋅𝑎𝑖 Similarly, when 𝑥𝑖=−1 by (9): 𝑎𝑖⋅(𝑦(𝑖,1)+𝑦(𝑖,4))=−𝑎𝑖=𝑥𝑖⋅𝑎𝑖 Therefore ⟨⃗Υ,𝜉(↪𝑎)⟩=∑𝑖𝑎𝑖⋅(𝑦(𝑖,1)+𝑦(1,4))=∑𝑖𝑥𝑖𝑎𝑖=0

and 𝜉(↪𝑎)∈ BHLE.

To prove the other direction of Karp reduction, we need the following elementary lemma:

(Unique Bit Decomposition)

Let ↪𝑎:={𝑎1,⋯,𝑎𝑛}, ↪𝑏:={𝑏1,⋯,𝑏𝑛}∈ℤ𝑛 (where 𝑛>1) be two sets and, as before, let 𝜇>𝜅∑𝑖|𝑎𝑖|,(10) where 𝜅∈ℤ>0 is a positive integer. Then the following linear Diophantine equation in ⃗𝑥={𝑥1,⋯,𝑥𝑛}∈ℤ𝑛 ⟨⃗𝑥,↪𝑎+𝜇⋅↪𝑏⟩=0 has a solution in the hypercube [𝜅]𝑛:={𝑥𝑖:|𝑥𝑖|<𝜅}⊆ℤ𝑛 if and only if the following two linear Diophantine equations are satisfied simultaneously: ⟨⃗𝑥,↪𝑎⟩=0and⟨⃗𝑥,↪𝑏⟩=0

(⇒):

If ⃗𝑥∈[𝜅]𝑛 simultaneously satisfies ⟨⃗𝑥,↪𝑎⟩=0 and ⟨⃗𝑥,↪𝑏⟩=0, then by bilinearity, ⟨⃗𝑥,↪𝑎⟩+𝜇⋅⟨⃗𝑥,↪𝑏⟩=⟨⃗𝑥,↪𝑎+𝜇⋅↪𝑏⟩=0. Therefore, ⃗𝑥 is a solution to ↪𝑎+𝜇⋅↪𝑏.

(⇐):

Conversely, suppose ⃗𝑥∈[𝜅]𝑛 is a solution to ⟨⃗𝑥,↪𝑎+𝜇⋅↪𝑏⟩=0. We need to show that ⟨⃗𝑥,↪𝑎⟩=0 and ⟨⃗𝑥,↪𝑏⟩=0.

First note that by assumption, 𝑛>1 and ↪𝑎 is a vector of distinct elements, hence ↪𝑎 must contain at least one non-zero element. Therefore ∑𝑖|𝑎𝑖|>0 ⟹ 𝜇≠0.

Since 𝜇>𝜅∑𝑛𝑖=1|𝑎𝑖|, ∥𝑛∑𝑖=1𝑥𝑖⋅𝑎𝑖∥≤𝑛∑𝑖=1‖𝑥𝑖⋅𝑎𝑖‖≤𝜅𝑛∑𝑖=1|𝑎𝑖|<𝜇, and by assumption, ⟨⃗𝑥,↪𝑎+𝜇⋅↪𝑏⟩=0⟹𝑛∑𝑖=1𝑥𝑖⋅𝑎𝑖=−𝜇𝑛∑𝑖=1𝑥𝑖⋅𝑏𝑖. Therefore, 𝜇∥𝑛∑𝑖=1𝑥𝑖⋅𝑏𝑖∥=∥𝑛∑𝑖=1𝑥𝑖⋅𝑎𝑖∥<𝜇⟹∥𝑛∑𝑖=1𝑥𝑖⋅𝑏𝑖∥<1(since 𝜇≠0). But 𝑥𝑖s and 𝑏𝑖s are integers, therefore ∑𝑛𝑖=1𝑥𝑖⋅𝑏𝑖 is an integer. But the only integer with norm strictly less than 1 is 0. Therefore, ∥𝑛∑𝑖=1𝑥𝑖⋅𝑏𝑖∥=0⟹⎧{ {⎨{ {⎩∑𝑛𝑖=1𝑥𝑖⋅𝑏𝑖=0and∑𝑛𝑖=1𝑥𝑖⋅𝑎𝑖=0

Finally, we are ready to state and prove the other direction of the reduction.

(𝜉(↪𝑎)∈ BHLE ⟹↪𝑎∈ 2-Partition)

Let ↪𝑎:={𝑎1,⋯,𝑎𝑛}∈ℤ𝑛 be an arbitrary set and let 𝜉(↪𝑎)∈ℤ5𝑛 be an encoding of ↪𝑎 as defined in (4). If there exists ⃗Υ:={𝜒1,⋯,𝜒𝑛}∈[𝜅]5𝑛∖⃗0 such that ⟨⃗Υ,𝜉(↪𝑎)⟩=0, then there exists ⃗𝑥:={𝑥1,⋯,𝑥𝑛}∈{−1,+1}𝑛 such that ⟨⃗𝑥,↪𝑎⟩=0.

Given that there exists ⃗Υ∈[𝜅]5𝑛∖⃗0 such that ⟨⃗Υ,𝜉(↪𝑎)⟩=0, by (7) ⟨⃗Υ,𝜉(↪𝑎)⟩=𝜇(⟨⃗𝜒𝑛,𝐓⃗𝑣⟩+𝑛−1∑𝑖=1(𝜅𝑑)4𝑖−4⟨⃗𝜒𝑖,𝐓⃗𝑢⟩)+𝑛∑𝑖=1𝑎𝑖⋅(𝑦(𝑖,1)+𝑦(𝑖,4))=0

Since 𝜇>𝜅∑𝑖|𝑎𝑖|, by the previous unique bit decomposition lemma, the above equation is equivalent to the following two linear Diophantine equations that must be satisfied simultaneously:

𝑛∑𝑖=1𝑎𝑖⋅(𝑦(𝑖,1)+𝑦(𝑖,4))=0(𝑛−1∑𝑖=1(𝜅𝑑)4𝑖−4⟨⃗𝜒𝑖,𝐓⃗𝑢⟩)+⟨⃗𝜒𝑛,𝐓⃗𝑣⟩=0(11)(12)

Expanding (12), we get ⟨⃗𝜒𝑖,𝐓⃗𝑢⟩1≤𝑖≤𝑛−1=𝜅⋅(𝑦(𝑖,1)+𝑦(𝑖,3))⋅1+𝜅⋅(𝑦(𝑖,1)+𝑦(𝑖,2))⋅𝜅𝑑+𝜅⋅(𝑦(𝑖,3)+𝑦(𝑖,4))⋅(𝜅𝑑)2+(𝜅⋅(𝑦(𝑖,1)+𝑦(𝑖,4))+𝑦(𝑖,5))⋅(𝜅𝑑)3+𝜅⋅(𝑦(𝑖,2)+𝑦(𝑖,4))⋅(𝜅𝑑)4 and ⟨⃗𝜒𝑛,𝐓⃗𝑣⟩=𝜅⋅(𝑦(𝑛,1)+𝑦(𝑛,3))⋅(𝜅𝑑)4𝑛−4+𝜅⋅(𝑦(𝑛,1)+𝑦(𝑛,2))⋅(𝜅𝑑)4𝑛−3+𝜅⋅(𝑦(𝑛,3)+𝑦(𝑛,4))⋅(𝜅𝑑)4𝑛−2+(𝜅⋅(𝑦(𝑛,1)+𝑦(𝑛,4))+𝑦(𝑛,5))⋅(𝜅𝑑)4𝑛−1+𝜅⋅(𝑦(𝑛,2)+𝑦(𝑛,4))⋅1 and collecting powers of 𝜅⋅𝑑 in (12), we get (∑𝑛−1𝑖=1(𝜅𝑑)4𝑖−4⟨⃗𝜒𝑖,𝐓⃗𝑢⟩)+⟨⃗𝜒𝑛,𝐓⃗𝑣⟩=𝜅⋅(𝑦(1,1)+𝑦(1,3)+𝑦(𝑛,2)+𝑦(𝑛,4))+∑𝑛𝑖=2𝜅⋅(𝑦(𝑖,1)+𝑦(𝑖,3)+𝑦(𝑖−1,2)+𝑦(𝑖−1,4))⋅(𝜅𝑑)4𝑖−4+∑𝑛𝑖=1𝜅⋅(𝑦(𝑖,1)+𝑦(𝑖,2))⋅(𝜅𝑑)4𝑖−3+∑𝑛𝑖=1𝜅⋅(𝑦(𝑖,3)+𝑦(𝑖,4))⋅(𝜅𝑑)4𝑖−2+∑𝑛𝑖=1(𝜅⋅(𝑦(𝑖,1)+𝑦(𝑖,4))+𝑦(𝑖,5))⋅(𝜅𝑑)4𝑖−1=0

Since |𝑦(𝑖,𝑗)|≤𝜅, the maximum value of any coefficient of (𝜅𝑑)𝑖 can be no greater than 4𝜅2. (The value 4𝜅2 is attained either for the coefficient of (𝜅𝑑)0: 𝜅(𝑦(1,1)+𝑦(1,3)+𝑦(𝑛,2)+𝑦(𝑛,4)) or for the coefficient of (𝜅𝑑)4𝑖−4|𝑖≥2: 𝜅(𝑦(𝑖,1)+𝑦(𝑖,3)+𝑦(𝑖−1,2)+𝑦(𝑖−1,4)). For all other powers of (𝜅𝑑), including (𝜅𝑑)4𝑖−1, the maximum value of the coefficients cannot exceed 4𝜅2.)

Therefore, if 𝑑>4, one can apply the unique bit decomposition lemma repeatedly over powers of 𝜅𝑑 to obtain the following system of linear Diophantine equations, that along with (11), must be satisfied simultaneously:

𝑦(1,1)+𝑦(1,3)+𝑦(𝑛,2)+𝑦(𝑛,4)=0(𝐴1)𝑦(𝑖,1)+𝑦(𝑖,3)+𝑦(𝑖−1,2)+𝑦(𝑖−1,4)=02≤𝑖≤𝑛(𝐴)𝑦(𝑖,1)+𝑦(𝑖,2)=01≤𝑖≤𝑛(𝐵)𝑦(𝑖,3)+𝑦(𝑖,4)=01≤𝑖≤𝑛(𝐶)𝜅⋅(𝑦(𝑖,1)+𝑦(𝑖,4))+𝑦(𝑖,5)=01≤𝑖≤𝑛(𝐷)∑𝑛𝑖=1𝑎𝑖⋅(𝑦(𝑖,1)+𝑦(𝑖,4))=0from (11)(13)

Claim: If the system of linear Diophantine equations in (𝐴1), (𝐴), (𝐵), (𝐶), and (𝐷) have a non-trivial solution, i.e., 𝑦(𝑖,𝑗)∈[𝜅] with not all 𝑦(𝑖,𝑗)=0, then ∀𝑖∈{1,⋯,𝑛}:𝑦(𝑖,1)+𝑦(𝑖,4)∈{−1,+1} thereby proving that ↪𝑎∈2-Partition.

Proof: By (𝐴) and (𝐴1) 𝑦(𝑖,1)+𝑦(𝑖,3)=−𝑦(𝑖−1,2)−𝑦(𝑖−1,4),for 2≤𝑖≤𝑛and𝑦(1,1)+𝑦(1,3)=−𝑦(𝑛,2)−𝑦(𝑛,4) By (𝐵) and (𝐶) 𝑦(𝑖,1)=−𝑦(𝑖,2) and 𝑦(𝑖,3)=−𝑦(𝑖,4) for all 𝑖. Substituting these values in the equation above we obtain 𝑦(𝑖,1)+𝑦(𝑖,3)=𝑦(𝑖−1,1)+𝑦(𝑖−1,3),for 2≤𝑖≤𝑛and𝑦(1,1)+𝑦(1,3)=𝑦(𝑛,1)+𝑦(𝑛,3), which, by induction on 𝑖, implies 𝑦(𝑖,1)+𝑦(𝑖,3) does not depend on 𝑖. Let 𝜔:=𝑦(𝑖,1)+𝑦(𝑖,3)=𝑦(1,1)+𝑦(1,3)∀𝑖∈{1,⋯,𝑛} where 𝜔 is called the weight of the invariant. A priori, 𝜔 can take any integer value between −𝜅 and 𝜅. However, since multiplying (𝐴1) and (𝐴) by −1 does not affect the solutions, 𝜔 can be arranged to be positive, therefore without loss of generality, 0≤𝜔≤𝜅.

While the system of equations in (13) gives rise to a solution to BHLE instance, not all non-trivial solutions result in a non-trivial solution to the 2-Partition constraint in (11). In particular, if 𝜒⋆𝑖:=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝1−11−10⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠for 1≤𝑖≤𝑛, then (𝐴1), (𝐴), (𝐵), (𝐶), (𝐷) and (11), are all satisfied, but ∀𝑖:𝑦𝑖,1+𝑦𝑖,4=0, which corresponds to a trivial solution to the 2-Partition constraint in (11). Notice, however, there are 5𝑛 indeterminates but only 4𝑛+1 equations! Therefore, it’s desirable to impose an extra constraint such that every solution to (13) corresponds to a non-trivial solution to both:

  1. The BHLE instance 𝜉(↪𝑎), and
  2. The 2-Partition instance in (11).

Both these conditions can be enforced simultaneously by ensuring that 𝑦(𝑖,1)+𝑦(𝑖,4)≠0 for at least one 𝑖, say 𝑖=1, by setting 𝑦(1,4)=0. Since 𝑦(1,4)=−𝑦(1,3)=0⟹𝜔=𝑦(1,1)∈[𝜅].

Furthermore, by (𝐷) 𝜅|𝑦(𝑖,1)+𝑦(𝑖,4)|=|𝑦(𝑖,5)|≤𝜅⟹|𝑦(𝑖,1)|≤1for 1≤𝑖≤𝑛.(14) Since 𝜔=𝑦(1,1) and positive, by equation above 𝜔∈{0,1}. Furthermore, by (𝐶): 𝑦(𝑖,3)=−𝑦(𝑖,4) and by (𝐷): 𝑦(𝑖,5) = −𝜅(𝑦(𝑖,4)+𝑦(𝑖,1)) = 𝜅(𝑦(𝑖,3)−𝑦(𝑖,1)). However, 𝑦(𝑖,1)+𝑦(𝑖,3)=𝜔, therefore ∀𝑖∈{1,⋯,𝑛}: 𝜅(𝑦(𝑖,3)−𝑦(𝑖,1))=𝑦(𝑖,5)𝑦(𝑖,3)+𝑦(𝑖,1)=𝜔⟹2⋅𝜅⋅𝑦(𝑖,3)=𝜅⋅𝜔+𝑦(𝑖,5)2⋅𝜅⋅𝑦(𝑖,1)=𝜅⋅𝜔−𝑦(1,5)(15) We separately analyze the range of values that 𝑦(𝑖,1)+𝑦(𝑖,4) can take when 𝜔=0 and when 𝜔=1.

𝜔=0
Since 𝜔=0, by (15) 2⋅𝜅⋅𝑦(𝑖,3)=𝑦(𝑖,5). However, as a linear Diophantine equation, both 𝑦(𝑖,3) and 𝑦(𝑖,5) must take integer values in {−𝜅,⋯,𝜅}. The only integer value that satisfies this requirement is 𝑦(𝑖,3)=𝑦(𝑖,5)=0∀𝑖∈{1,⋯,𝑛}. However, this forces every 𝑦(𝑖,𝑗)=0 for all (𝑖,𝑗), which, by assumption, is not a valid solution. Therefore, 𝜔=0 is a pathological case that is disallowed by the definition of BHLE instance.
𝜔=1
Arguing as before, when 𝜔=1, 𝑦(𝑖,5) cannot be 0, otherwise 𝑦(𝑖,1) and 𝑦(𝑖,3) won’t be integers in (15). Furthermore, since 𝑦(𝑖,5)=−𝜅(𝑦(𝑖,4)+𝑦(𝑖,1)) and |𝑦(𝑖,5)|≤𝜅, the only possible solution to 𝑦(𝑖,4), 𝑦(𝑖,1), and 𝑦(𝑖,5) that are all integers is obtained when 𝑦(𝑖,5)∈{−𝜅,𝜅}, in which case 𝑦(𝑖,4)+𝑦(𝑖,1)∈{+1,−1}∀𝑖∈{1,⋯,𝑛}, proving the claim.

This reduction has “Rabbit out of Hat” feel to it. How Peter van Emde Boas came up with the Diophantine equations remains a mystery to me. The presentation above in terms of matrix 𝐓 and vectors ⃗𝑢, ⃗𝑣 and ⃗𝑤 was an attempt to unravel this mystery, but without much success.

Update (3 Feb 2024): Kreuzer and Nipkow have formally verified this reduction in Isabelle HOL. See 9 for more details.

Based on the lemmas above, we conclude that 2-Partition reduces to BHLE. Since 2-Partition is 𝖭𝖯-Complete, that implies BHLE is 𝖭𝖯-Complete for all 𝜅≥1.

BHLE ⪯ Decisional-SVP|ℓ∞

To prove that Decisional-SVP is 𝖭𝖯-Complete in ℓ∞ norm, this section describes a polynomial time (Karp) reduction from BHLE to Decisional-SVP. Recall that input to a Decisional-SVP instance is a full rank integral lattice basis 𝐁∈ℤ𝑚×𝑚 and a distance threshold 𝑟∈ℚ>0, and the goal of the solver is to decide if 𝜆ℓ∞1(L(𝐁))<𝑟? Also, recall from the previous section, that input to a BHLE instance is a set of integers ⃗𝑎:={𝑎1,⋯,𝑎𝑛}∈ℤ𝑛 and a positive integer threshold 𝜅∈ℤ>0, and the goal of the BHLE solver is to decide if ∃⃗𝑥∈ℤ𝑛∖⃗0:⟨⃗𝑥,⃗𝑎⟩=0∧0<‖⃗𝑥‖ℓ∞≤𝜅?

A Karp reduction from BHLE to Decisional-SVP requires a polynomial time encoding map 𝜁:ℤ𝑛×ℤ>0⟶ℤ𝗉𝗈𝗅𝗒(𝑛)×𝗉𝗈𝗅𝗒(𝑛)×ℚ>0 that maps a BHLE instance (⃗𝑎,𝜅)∈ℤ𝑛×ℤ into a Decisional-SVP instance (𝐁,𝑟)∈ℤ𝗉𝗈𝗅𝗒(𝑛)×𝗉𝗈𝗅𝗒(𝑛)×ℚ>0, such that:

  1. If (⃗𝑎,𝜅) is a BHLE Yes instance, then the encoded value (𝐁,𝑟):=𝜁(⃗𝑎,𝜅) corresponds to a Decisional-SVP Yes instance, and
  2. Given an arbitrary pair (⃗𝑎,𝜅) such that its encoded value (𝐁,𝑟):=𝜁(⃗𝑎,𝜅) corresponds to a Decisional-SVP Yes instance, then (⃗𝑎,𝜅) corresponds to a BHLE Yes instance.

As before, let 𝜇=∑𝑖|𝑎𝑖|, and define a basis matrix 𝐁 as 𝐁:=(𝐈𝑛0(𝜅+1)⋅⃗𝑎⊤(𝜅+1)⋅(𝜅𝜇+1))∈ℤ(𝑛+1)×(𝑛+1) where ⃗𝑎⊤ is the transpose of ⃗𝑎 and 𝐈𝑛 is the 𝑛×𝑛 identity matrix. Notice that 𝐁 is full-rank because det(𝐁) = det(𝐁⊤) = (𝜅+1)⋅(𝜅𝜇+1)>0, therefore the lattice generated by 𝐁 is full rank. Define the encoding map 𝜁 as follows: 𝜁:ℤ𝑛×ℤ>0⟶ℤ(𝑛+1)×(𝑛+1)×ℚ>0𝜁(⃗𝑏,𝜅):=(𝐁,𝜅+1).(16)

The next two lemmas prove that 𝜁 satisfies both condition (1) and (2) listed before.

((⃗𝑎,𝜅)∈𝖡𝖧𝖫𝖤⟹𝜁(⃗𝑎,𝜅)∈Decisional-SVP)

Suppose (⃗𝑎,𝜅)∈ℤ𝑛×ℤ>0 is a BHLE Yes instance, then 𝜁(⃗𝑎,𝜅) corresponds to a Decisional-SVP Yes instance.

Since ⃗𝑎∈ BHLE ⟹∃⃗𝑥∈ℤ𝑛∖⃗0, such that ⟨⃗𝑥,⃗𝑎⟩=0 and 0<‖⃗𝑥‖≤𝜅. Let ⃗𝑧:=(⃗𝑥0)∈ℤ(𝑛+1) then, ⃗𝑧≠⃗0 since ⃗𝑥≠⃗0 by the definition of BHLE. Furthermore, 𝐁 is full-rank and hence injective, therefore 𝐁⋅⃗𝑧≠⃗0. By construction 𝐁⋅⃗𝑧=⎛⎜ ⎜ ⎜⎝⃗𝑥(𝜅+1)⟨⃗𝑎,⃗𝑥⟩⏟0+(𝜅+1)(𝜅𝜇+1)⋅0⎞⎟ ⎟ ⎟⎠=(⃗𝑥0) therefore ‖𝐁⋅⃗𝑧‖ = ‖⃗𝑥‖≤𝜅 <𝜅+1 ⟹ 𝜁(⃗𝑎,𝜅)∈ Decisional-SVP.

Note: The lemma above and its proof holds for any arbitrary ℓ𝑝 norm, not just ℓ∞.

(∃(⃗𝑎,𝜅):𝜁(⃗𝑎,𝜅)∈Decisional-SVP⟹(⃗𝑎,𝜅)∈𝖡𝖧𝖫𝖤)

Let ⃗𝑎∈ℤ𝑛 be an arbitrary integer vector and let 𝜅∈ℤ>0 be a positive constant. If (𝐁,𝜅+1):=𝜁(⃗𝑎,𝜅) defined in (16) corresponds to a Decisional-SVP Yes instance, then (⃗𝑎,𝜅) corresponds to a BHLE Yes instance.

Given that (𝐁,𝜅+1):=𝜁(⃗𝑎,𝜅) corresponds to Decisional-SVP Yes instance, there exists a non-zero integer vector ⃗𝑧⋆:=(⃗𝑧𝑧𝑛+1)∈ℤ(𝑛+1)∖⃗0,where ⃗𝑧:={𝑧1,⋯,𝑧𝑛} such that 0<‖𝐁⋅⃗𝑧⋆‖ℓ∞<𝜅+1. We need to prove that

  1. 0<‖⃗𝑧‖ℓ∞≤𝜅, and
  2. ⟨⃗𝑧,⃗𝑎⟩=0.

By construction 𝐁⋅⃗𝑧⋆=(⃗𝑧0)+(𝜅+1)(⃗0⟨⃗𝑧,⃗𝑎⟩+(𝜅𝜇+1)⋅𝑧𝑛+1), and since ⃗𝑧⋆ corresponds to a Decisional-SVP Yes instance,

‖𝐁⋅⃗𝑧⋆‖ℓ∞<𝑘+1⟹⎧{ {⎨{ {⎩‖𝑧𝑖‖<𝜅+1for1≤𝑖≤𝑛,and‖⟨⃗𝑧,⃗𝑎⟩+(𝜅𝜇+1)⋅𝑧𝑛+1‖<1.(17)

Given that ⃗𝑧𝑖s are integers: ‖𝑧𝑖‖<𝜅+1 ⟺ ‖𝑧𝑖‖≤𝜅, therefore, ‖⃗𝑧‖ℓ∞≤𝜅, and ‖⟨⃗𝑧,⃗𝑎⟩‖≤𝑛∑𝑖=1‖𝑧𝑖⋅𝑎𝑖‖≤𝜅⋅𝑛∑𝑖=1‖𝑎𝑖‖=𝜅⋅𝜇.(18)

We need to show that ‖⃗𝑧‖ℓ∞≠0 and ⟨⃗𝑧,⃗𝑎⟩=0.

Since ⟨⃗𝑧,⃗𝑎⟩+(𝜅𝜇+1)⋅𝑧𝑛+1 is an integer with absolute value strictly less than 1, ⟨⃗𝑧,⃗𝑎⟩+(𝜅𝜇+1)⋅𝑧𝑛+1=0 is the only possible solution to the second case in (17), hence ‖⟨⃗𝑧,⃗𝑎⟩‖=(𝜅𝜇+1)‖𝑧𝑛+1‖.

Suppose 𝑧𝑛+1≠0⟹(𝜅𝜇+1)‖𝑧𝑛+1‖≥(𝜅𝜇+1), therefore, by (18), 𝜅𝜇≥‖⟨⃗𝑧,⃗𝑎⟩‖=(𝜅𝜇+1)‖𝑧𝑛+1‖≥(𝜅𝜇+1) which is impossible! Hence, the assumption that 𝑧𝑛+1≠0 is wrong and ⟨⃗𝑧,⃗𝑎⟩=−(𝜅𝜇+1)⋅𝑧𝑛+1=0.

Finally, by assumption ⃗𝑧⋆≠⃗0, but since 𝑧𝑛+1=0⟹⃗𝑧≠⃗0.

Search-CVP reduces to Decisional-CVP

This section is written with ℓ2 norm in mind. However, Search-CVP to Decisional-CVP holds in all ℓ𝑝 norms, including ℓ∞ norm in dimension preserving way. See 10 and 11 for a more nuanced treatment.

We are given an oracle that can somehow solve Decisional-CVP(𝐂,⃗𝑠,𝑟) for any lattice basis 𝐂∈ℤ𝑛×𝑛, target vector ⃗𝑠∈ℚ𝑛, and a distance threshold 𝑟∈ℚ. Given a basis 𝐁∈ℤ𝑛×𝑛 and a target vector ⃗𝑡∈ℚ𝑛, the goal of the reduction is to use the Decisional-CVP oracle to find a ⃗𝑥∈L(𝐁) such that ‖⃗𝑡−⃗𝑥‖=Δ(⃗𝑡,L). Notice that both sides of this equation, namely ⃗𝑥 and Δ(⃗𝑡,L), are unknown.

Indeed, like most Search to Decision reductions for NPO problems, the first challenge is to compute the optimal distance (metric) using the decisional oracle. In case of CVP that means coming up with a reduction from Opt-CVP to Decisional-CVP. Since the distance between ⃗𝑡 and L is polynomially bounded from above and below, standard binary search using the decisional oracle is sufficient to compute 𝑑†:=Δ(⃗𝑡,L).

Once 𝑑† is known, the Search-CVP solver works as follows: It iteratively creates sublattices L(𝐁∗)←L(𝐁) and new targets ⃗𝑡∗←⃗𝑡 such that the shortest vector length 𝜆1(𝐁∗) of the dilated sublattice keeps doubling, while the distance between L(𝐁∗) and ⃗𝑡∗ remains fixed, i.e.,

𝑑†=Δ(⃗𝑡,L(𝐁))=Δ(⃗𝑡∗,L(𝐁∗)).(19)

Since 𝑑† remains fixed while 𝜆1(𝐁∗) keeps doubling, after an appropriate (polynomial) number of iterations, the Search-CVP instance transforms into an 𝛼-BDD instance with 𝛼<11+2𝑛/2. For such small values of 𝛼, Babai’s Nearest Plane approximation algorithm solves 𝛼−BDD instance exactly, leading to a polynomial time reduction. (Note: There are other ways 10 of getting this reduction, but this is most elegant, in my opinion.)

These reductions are described in detail as follows:

(Opt-CVP ⪯ Decisional-CVP)
Input
A non-singular basis matrix 𝐁∈ℤ𝑛×𝑛 representing a full-rank integral lattice L(𝐁).
Target Vector ⃗𝑡∈ℚ𝑛
Output
Distance 𝑑†∈ℚ that’s arbitrarily close to Δ(⃗𝑡,L(𝐁)). In other words, 𝑑† is such that ‖𝑑†−Δ(⃗𝑡,L(𝐁))‖<12𝑂(𝑛𝑐) for arbitrary user selected constant 𝑐>1∈ℤ.
Oracle
Decisional-CVP(𝐂,⃗𝑠,𝑟), where 𝐂∈ℤ𝑛×𝑛, ⃗𝑠∈ℚ𝑛, and 𝑟∈ℚ.
Algorithm
We first establish a lower and upper bound on Δ(⃗𝑡,L).
Claim-1
Δ(⃗𝑡,L)≥0.
Proof
The minimum distance between ⃗𝑡 and L cannot be less than zero, therefore Δ(⃗𝑡,L)≥0. This minimum distance is realized if and only if ⃗𝑡∈L.
Claim-2
Let ⃗𝑏𝑖 denote the 𝑖-th column of 𝐁 and let 𝐷(𝐁):=⌈∑𝑛𝑖=1‖⃗𝑏𝑖‖⌉∈ℤ, then Δ(⃗𝑡,L)≤𝐷(𝐁).
Proof
Recall that the lattice-translates of the parallelepiped tiles the entire space, that is, ℝ𝑛=⋃⃗𝑦∈L⃗𝑦+P(𝐁). Therefore, given the target vector ⃗𝑡∈ℝ𝑛, it must fall in some lattice-translate of P(𝐁). Let ⃗𝑡=⃗𝑦∗+⃗𝑣∗ for some ⃗𝑦∗∈L(𝐁) and ⃗𝑣∗∈P(𝐁). By definition, Δ(⃗𝑡,L) is the smallest distance between ⃗𝑡 and any lattice vector ⃗𝑦∈L, therefore Δ(⃗𝑡,L)≤‖⃗𝑡−⃗𝑦∗‖=‖⃗𝑣∗‖.

Since ⃗𝑣∗∈P(𝐁), it can be written uniquely as the fractional linear combination of columns of 𝐁, namely, ⃗𝑣∗=∑𝑖𝑢∗𝑖⋅⃗𝑏𝑖 for uniquely determined 𝑢∗𝑖∈[0,1)⊆ℝ𝑛. Hence, Δ(⃗𝑡,L)≤‖⃗𝑣∗‖=∥∑𝑖𝑢∗𝑖⋅⃗𝑏𝑖∥≤∑𝑖‖𝑢∗𝑖⋅⃗𝑏𝑖‖≤∑𝑖‖⃗𝑏𝑖‖≤𝐷(𝐁).

Based on the upper and lower bounds on Δ(⃗𝑡,L), the Opt-CVP(𝐁,⃗𝑡) solver uses binary search in the range [0,𝐷(𝐁)] to compute Δ(⃗𝑡,L) as follows:

Opt-CVP Solver

  1. The solver maintains a search range (𝛼,𝛽)∈ℚ2, where 𝛼 and 𝛽 are initialized to 𝛼←0 and 𝛽←𝐷(𝐁).

  2. Repeat until 𝛽−𝛼<12𝑂(𝑛𝑐):

    a. Set 𝜓=𝛼+𝛽2∈ℚ.

    b. Invoke Decisional-CVP(𝐁,⃗𝑡,𝜓) oracle to determine if Δ(⃗𝑡,L)<𝜓?

    c. If Δ(⃗𝑡,L)<𝜓 then set 𝛽←𝜓, else set 𝛼←𝜓.

    d. Continue to step 2.

  3. Set 𝑑†←𝛼+𝛽2 and return 𝑑†.

Note: The precision threshold 12𝑂(𝑛𝑐) determines the running time of this algorithm.

Given 𝑑†, any ⃗𝑥∈L(𝐁) that lies in the 𝑛-dimensional sphere of radius 𝑑† centered around ⃗𝑡 is a valid solution to Search-CVP. How many lattice vectors are exactly 𝑑† distance away from ⃗𝑡? There are 2𝑛 corners of the parallelepiped, so in the worst case, each one of the 2𝑛 corners could be a potential candidate. This leads to the following trivial exhaustive search algorithm with a worst case running time of 𝑂(2𝑛).

The exhaustive search algorithm above does not lead to a polynomial time reduction. As alluded before, a better strategy to get a polynomial time reduction is to transform Search-CVP into an 𝛼-BDD instance, and then use Babai’s nearest plane algorithm to exactly solve 𝛼-BDD. These two steps are described in next two subsections:

Search-CVP reduces to 𝛼-BDD

Given the explicit knowledge of 𝑑†=Δ(⃗𝑡,L(𝐁)) and access to Decisional-CVP oracle, the reduction from Search-CVP to 𝛼-BDD works as follows (adapted from Chapter 03 of 6 and Regev’s Lecture Notes):

(Search-CVP[Decisional-CVP] ⪯𝛼-BDD)
Input
A non-singular basis matrix 𝐁∈ℤ𝑛×𝑛 representing a full-rank integral lattice L(𝐁).
Target Vector ⃗𝑡∈ℚ𝑛
Distance 𝑑†=Δ(⃗𝑡,L(𝐁))∈ℚ
Output
A vector ⃗𝑥∈L(𝐁) such that ∀⃗𝑦∈L(𝐁):‖⃗𝑡−⃗𝑥‖≤‖⃗𝑡−⃗𝑦‖.
Oracle
Decisional-CVP(𝐂,⃗𝑠,𝑟) that outputs 1 if Δ(⃗𝑠,L(𝐂))≤𝑟 and 0 otherwise, where 𝐂∈ℤ𝑛×𝑛, ⃗𝑠∈ℚ𝑛, and 𝑟∈ℚ.
𝛼-BDD(𝐂,⃗𝑠) that outputs unique ⃗𝑥∈L(𝐂) closest to ⃗𝑠∈ℚ𝑛, provided Δ(⃗𝑠,L(𝐂))𝜆1(𝐂)<𝛼, where 𝜆1(𝐂) is the length of shortest non-zero vector in L(𝐂), 𝐂∈ℤ𝑛×𝑛 and 0≤𝛼<12.
Algorithm
We first describe the high level ideas of the reduction:
  • Given the lattice basis 𝐁:={𝑏1,⋯,𝑏𝑛}, the Search-CVP solver creates sublattices L(𝐁∗) of L(𝐁) using a “dilated” basis

    𝐁∗:=[2⃗𝑏1,⃗𝑏2,⋯,⃗𝑏𝑛].

    Since L(𝐁∗) is a subgroup of L(𝐁), by construction, its quotient group is L(𝐁)/L(𝐁∗)={L(𝐁∗),L(𝐁∗)+⃗𝑏1}⟹L(𝐁)=L(𝐁∗)⨆(L(𝐁∗)+⃗𝑏1)⟹P(𝐁∗)=P(𝐁)⨆(P(𝐁)+⃗𝑏1).

    Given that P(𝐁∗) is the disjoint union of P(𝐁) and P(𝐁)+⃗𝑏1, either ⃗𝑡 or ⃗𝑡+⃗𝑏1 must be 𝑑† apart from L(𝐁∗). (See Fig. 2 for an illustration.) Therefore, the solver can easily maintain the invariant in (19) provided it can decide whether: Δ(⃗𝑡,L(𝐁∗))=𝑑†orΔ(⃗𝑡+⃗𝑏1,L(𝐁∗))=𝑑†?(20)

  • To decide between the above two cases in (20), the solver invokes 𝜉1⟵ Decisional-CVP(𝐁∗,⃗𝑡,𝑑†)∈{0,1} to determine if ⃗𝑡 is still 𝑑† apart from L(𝐁∗)? If 𝜉1=1 then Δ(⃗𝑡,L(𝐁∗))=𝑑†, otherwise Δ(⃗𝑡+⃗𝑏1,L(𝐁∗))=𝑑†. By updating the target vector to ⃗𝑡∗←⃗𝑡+(1−𝜉1)⋅⃗𝑏1, the solver can maintain the invariant Δ(⃗𝑡∗,L(𝐁∗))=Δ(⃗𝑡,L(𝐁))=𝑑†.

    Furthermore, suppose the Search-CVP solver could somehow find the closest vector ⃗𝑥∗∈L(𝐁∗) to ⃗𝑡∗, then finding the closest vector ⃗𝑥∈L(𝐁) to ⃗𝑡 is easy: ⃗𝑥=⃗𝑥∗−(1−𝜉1)⋅⃗𝑏1.

  • The solver repeats the above procedure for all the 𝑛 basis vectors, ⃗𝑏1,⋯,⃗𝑏𝑛, updating the target vector ⃗𝑡 to ⃗𝑡∗⋯∗ using help from Decisional-CVP oracle. At the end of one complete round covering all columns of 𝐁, the Search-CVP solver would be left with:

    • A sublattice L(2𝐁)⊆L(𝐁) with basis 2𝐁=[2⃗𝑏1,2⃗𝑏2,⋯,2⃗𝑏𝑛]

    • A displacement vector ⃗ℎ:=𝑛∑𝑖=1(1−𝜉𝑖)⋅⃗𝑏𝑖∈L(𝐁) where each 𝜉𝑖∈{0,1} is the output of invocations to Decisional-CVP oracle, and

    • The updated target vector ⃗𝑡∗⋯∗←⃗𝑡+⃗ℎ that maintains the invariant Δ(⃗𝑡∗⋯∗,2𝐁)=Δ(⃗𝑡,𝐁)=𝑑†.

    • As before, if the Search-CVP solver could somehow find the closest lattice vector ⃗𝑥∗⋯∗∈L(2𝐁) to ⃗𝑡∗⋯∗, then the solver can find the closest lattice vector ⃗𝑥∈L(𝐁) to ⃗𝑡 as ⃗𝑥=⃗𝑥∗⋯∗−⃗ℎ∈L(𝐁).

  • Let 𝜆1(𝐁) be the length of the shortest non-zero vector in L(𝐁) and let ̂𝛼(⃗𝑡,𝐁):=Δ(⃗𝑡,L(𝐁))𝜆1(𝐁).

    Before the solver can invoke 𝛼-BDD oracle, it must ensure that ̂𝛼(⃗𝑡∗⋯∗,𝐁∗⋯∗)<𝛼 for 𝛼-BDD to find the unique solution. Since 𝜆1(2𝐁)=2⋅𝜆1(𝐁) while Δ(⃗𝑡,L(𝐁))=Δ(⃗𝑡∗⋯∗,L(2𝐁)) ⟹ 𝛼(⃗𝑡∗⋯∗,2𝐁)=12𝛼(⃗𝑡,𝐁). Therefore, repeating the above procedure 𝑘-times results in the updated target vector ⃗𝑡k times⏞∗⋯∗ with a sublattice basis 2𝑘𝐁=[2𝑘⃗𝑏1,⋯,2𝑘⃗𝑏𝑛] and 𝛼(⃗𝑡k times⏞∗⋯∗,2𝑘𝐁)=12𝑘𝛼(⃗𝑡,𝐁).

    Unfortunately, the solver doesn’t know 𝜆1(𝐁)! To address that, let 𝐿=min1≤𝑖≤𝑛{‖⃗𝑏𝑖‖} be the length of the shortest basis vector of 𝐁. By definition, 𝜆1(𝐁)≤𝐿, therefore Δ(⃗𝑡,L(𝐁))𝐿≤Δ(⃗𝑡,L(𝐁))𝜆1(𝐁)⟹𝑑†2𝑘⋅𝐿=Δ(⃗𝑡k times⏞∗⋯∗,L(𝐁k times⏞∗⋯∗))2𝑘⋅𝐿≤Δ(⃗𝑡k times⏞∗⋯∗,L(𝐁k times⏞∗⋯∗))2𝑘⋅𝜆1(𝐁).

    Therefore, to ensure ̂𝛼(⃗𝑡k times⏞∗⋯∗,2𝑘⋅𝐁)<𝛼 it’s sufficient to iterate the above steps 𝑘-times, where 𝑘≥⌈log2⁡(𝑑†𝛼⋅𝐿)⌉(21)

    As proved in the next subsection, Babai’s nearest plane approximation algorithm acts as an 𝛼-BDD solver for 𝛼=11+2𝑛/2. Substituting this value of 𝛼 in (21) leads to 𝑘≥⌈log2⁡(1+2𝑛/2)+log2⁡(𝑑†/𝐿)⌉∈𝑂(𝑛).

Lattice with basis 𝐁:=[⃗𝑏1,⃗𝑏2], target vector ⃗𝑡, and computed minimum distance 𝑑†=Δ(L(𝐁),⃗𝑡).
Iteration-1: Sublattice with basis 𝐁∗:=[2⃗𝑏1,⃗𝑏2] has Δ(L(𝐁∗),⃗𝑡)>𝑑† and requires updating the target vector to ⃗𝑡∗←⃗𝑡+⃗𝑏1 to maintain the invariant Δ(L(𝐁∗),⃗𝑡∗)=𝑑†.
Iteration-2: Sublattice with basis 𝐁∗∗:=[2⃗𝑏1,2⃗𝑏2] implicitly preserves the invariant Δ(L(𝐁∗∗),⃗𝑡∗)=𝑑† and does not require update to target vector ⃗𝑡∗, therefore ⃗𝑡∗∗←⃗𝑡∗.
Two iterations of Search-CVP to Decisional-CVP reduction.

The exact steps of the reduction are described below:

Search-CVP solver via 11+2𝑛/2-BDD

  1. Compute 𝐿=min1≤𝑖≤𝑛{‖⃗𝑏𝑖‖}
  2. set iteration count 𝑘=⌈log2⁡(1+2𝑛/2)+log2⁡(𝑑†/𝐿)⌉
  3. set displacement vector ⃗ℎ=⃗0∈L(𝐁)
  4. for 𝑖←1⋯𝑘 do

    • for 𝑗=1⋯𝑛 do

      • Let the basis so far be 𝐁=[⃗𝑏1,⋯,⃗𝑏𝑛], update basis: 𝐁←[⃗𝑏1,⋯,⃗𝑏𝑗−1,2⋅⃗𝑏𝑗,⃗𝑏𝑗+1,⋯,⃗𝑏𝑛]

      • invoke 𝜉← Decisional-CVP(𝐁,⃗𝑡,𝑑†) and update ⃗𝑡←⃗𝑡+(1−𝜉)⋅⃗𝑏𝑗⃗ℎ←⃗ℎ+(1−𝜉)⋅⃗𝑏𝑗

  5. compute LLL reduced basis ̃𝐁←LLL(𝐁).

  6. invoke ⃗𝑥←𝛼-BDD(̃𝐁,⃗𝑡).

  7. return ⃗𝑥−⃗ℎ.

Note: Even though the BDD oracle is invoked on LLL reduced basis, the closeness of ⃗𝑥 to ⃗𝑡 is independent of the choice of basis.

The next subsection describes Babai’s nearest plane algorithm and proves that it solves 𝛼-BDD exactly for 𝛼<11+2𝑛/2.

Polynomial time algorithm for 11+2𝑛/2-BDD instance

Babai’s nearest plane algorithm is a polynomial time approximation algorithm for CVP. Details of this algorithm for an arbitrary lattice basis 𝐁 is described below.

(Babai's Nearest Plane Algorithm)
Input
A non-singular lattice basis 𝐁={𝑏𝑖}∈ℤ𝑛×𝑛
A target vector ⃗𝑡∈ℚ𝑛
Output
⃗𝑥∈L(𝐁)
⃗𝑒∈P(𝐁⟂) such that ⃗𝑡=⃗𝑥+⃗𝑒 where P(𝐁⟂) is fundamental domain of Gram-Schmidt orthogonal basis.

The algorithm works by computing the Gram-Schmidt orthogonal basis 𝐁⟂:=[⃗𝑏⟂1,⋯,⃗𝑏⟂𝑛] and progressively projecting the target vector to ⃗𝑏⟂𝑖 and uses rounding to find a lattice vector “close” to ⃗𝑡.

In more detail:

  1. Compute Gram-Schmidt orthogonal basis 𝐁⟂:=[⃗𝑏⟂1,⋯,⃗𝑏⟂𝑛]←gso(𝐁)∈ℚ𝑛×𝑛

  2. Initialize error term ⃗𝑒←⃗𝑡∈ℚ𝑛

  3. Initialize “close” lattice ⃗𝑥←⃗0∈ℤ𝑛

  4. for 𝑖←𝑛⋯1 do

    • Compute 𝑘:=⌊⟨⃗𝑒,⃗𝑏⟂𝑖⟩∥⃗𝑏⟂𝑖∥2⌉∈ℤ

    • ⃗𝑒←⃗𝑒−𝑘⋅⃗𝑏𝑖

    • ⃗𝑥←⃗𝑥+𝑘⋅⃗𝑏𝑖

  5. Return (⃗𝑥,⃗𝑒).

For an arbitrary (bad) basis 𝐁, this algorithm does not guarantee that its output will be a known bounded approximation to Search-CVP. If 𝐁 is an LLL reduced basis, then one can show that ⃗𝑥 is guaranteed to be at a distance that’s at most 2𝑛/2 times the optimal. That is, if the optimal solution to Search-CVP(𝐁,⃗𝑡) is ⃗𝑥† then ‖⃗𝑥−⃗𝑡‖≤2𝑛/2⋅Δ(⃗𝑡,L(𝐁))=2𝑛/2⋅‖⃗𝑥†−⃗𝑡‖.

More generally, suppose Babai’s nearest plane algorithm returns ⃗𝑥∈L(𝐁) that’s a 𝛾(𝑛) approximation to Search-CVP, i.e., ‖⃗𝑥−⃗𝑡‖≤𝛾(𝑛)⋅Δ(⃗𝑡,L(𝐁)). For an 𝛼-BDD problem instance, we wish to derive the range of values of 𝛼∈[0,12) for which Babai’s nearest plane algorithm can solve Search-CVP exactly in polynomial time.

By triangle inequality ‖⃗𝑥−⃗𝑥†‖=‖⃗𝑥−⃗𝑡+⃗𝑡−⃗𝑥†‖≤‖⃗𝑥−⃗𝑡‖+‖⃗𝑥†−⃗𝑡‖(22)

By assumption, for an 𝛼-BDD instance, ‖⃗𝑥†−⃗𝑡‖<𝛼⋅𝜆1. Furthermore, the nearest plane algorithm guarantees that ‖⃗𝑥−⃗𝑡‖<𝛾(𝑛)⋅Δ(⃗𝑡,L(𝐁)), which again by 𝛼-BDD promise implies ‖⃗𝑥−⃗𝑡‖<𝛾(𝑛)⋅𝛼⋅𝜆1. Therefore by (22): ‖⃗𝑥−⃗𝑥†‖≤𝛾(𝑛)⋅Δ(⃗𝑡,L(𝐁))+𝛼⋅𝜆1≤𝛾(𝑛)⋅𝛼⋅𝜆1+𝛼⋅𝜆1=(1+𝛾(𝑛))⋅𝛼⋅𝜆1.

On the other hand, if ⃗𝑥 and ⃗𝑥† are distinct, then 𝜆1≤‖⃗𝑥−⃗𝑥†‖, and hence 𝜆1≤(1+𝛾(𝑛))⋅𝛼⋅𝜆1⟹𝛼≥11+𝛾(𝑛).

In other words, if 𝛼≥11+𝛾(𝑛) then Babai’s nearest plane algorithm is likely to output a lattice vector that’s not necessarily the optimal ⃗𝑥†. Conversely, if 𝛼<11+𝛾(𝑛) then ⃗𝑥 and ⃗𝑥† cannot be distinct and Babai’s nearest plane algorithm will output the optimal solution to Search-CVP! For example, if 𝐁 is an LLL reduced basis, then for 𝛼<11+2𝑛/2, the nearest plane algorithm will output the optimal solution to Search-CVP.

Sanity Check: If 𝛾(𝑛)=1 then the result above requires 𝛼<12 for a unique solution, which matches with the uniqueness requirement for 𝛼-BDD.

  1. D. Aharonov and O. Regev, “Lattice problems in 𝖭𝖯∩𝖼𝗈𝖭𝖯,” in Journal of the ACM (JACM), Volume 52, Issue 5., Pages 749 - 765. ↩

  2. S. Khot, “Hardness of approximating the shortest vector problem in lattices,” in Journal of the ACM (JACM), Volume 52, Issue 5., Pages 789 - 808 ↩

  3. I. Haviv and O. Regev, “Tensor-based Hardness of the Shortest Vector Problem to within Almost Polynomial Factors,” in Theory of Computing Journal, Volume 8 (2012), Pages 513 - 531. ↩

  4. Y. Liu, V. Lyubashevsky and D. Micciancio, “On Bounded Distance Decoding for General Lattices,” in 9th International Workshop on Approximation Algorithms for Combinatorial Optimization Problems, APPROX 2006 and 10th International Workshop on Randomization and Computation, RANDOM 2006, Barcelona, Spain, August 28-30, 2006. Pages 450 - 461 ↩ ↩2

  5. H. Bennett and C. Peikert, “Hardness of Bounded Distance Decoding on Lattices in ℓ𝑝 Norms,” in 35th Computational Complexity Conference (CCC 2020). Available Online ↩

  6. D. Micciancio and S. Goldwasser, “Complexity of Lattice Problems: A Cryptographic Perspective,” Springer, New York, NY., 2002, DOI: https://doi.org/10.1007/978-1-4615-0897-7 ↩ ↩2

  7. P. v. E. Boas, “Another 𝖭𝖯-complete partition problem and the complexity of computing short vectors in a lattice,” Technical Report, 1981. Available Online  ↩

  8. M. R. Garey and D. S. Johnson, “Computers and Intractability: A Guide to the Theory of NP-Completeness,” W. H. Freeman, 1979. ↩

  9. K. Kreuzer and T. Nipkow, “Verification of NP-hardness Reduction Functions for Exact Lattice Problems” in the Proceedings of CADE 29: 29th International Conference on Automated Deduction, Rome, Italy, July 1–4, 2023. Available Online ↩

  10. R. Kannan, “Minkowski’s convex body theorem and integer programming,” Mathematics of Operations Research, 12(3), 1987. Pages 415–440 ↩ ↩2

  11. N. Stephens-Davidowitz, “Search-to-Decision Reductions for Lattice Problems with Approximation Factors (Slightly) Greater Than One,” in Approximation, Randomization, and Combinatorial Optimization, Algorithms and Techniques (APPROX/RANDOM 2016), Article No. 19; Pages 19:1–19:18 ↩