Classical complexity reductions among hard lattice problems
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
(SVP
This chart is taken from 1 with the following change: Khot’s
seminal GapSVP
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
Both SVP and CVP are NP Optimization (NPO) problems. Recall that an SVPCVP
The three different flavors of exact SVP — Search-SVP, Opt-SVP, and
Decisional-SVP — as well
their approximate versions — Approx-SVPCVP). Readers already familiar
with CVP can safely skip the next subsection.
The Closest Vector Problem
The distance between any lattice vector
(Distance from a Lattice, Closest Vector)
Let
A lattice vector
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
such that⃗ 𝑥 ∈ L .∀ ⃗ 𝑦 ∈ 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⃗ 𝑡 , i.e.,L .Δ ( ⃗ 𝑡 , L )
Note: In
(Decisional-CVP)
- Input
- A non-singular basis matrix
representing a full-rank integral lattice𝐁 ∈ ℤ 𝑛 × 𝑛 .L - A point
.⃗ 𝑡 ∈ ℤ 𝑛 - A distance threshold
.𝑟 ∈ ℚ - Output
YesifΔ ( ⃗ 𝑡 , L ) ≤ 𝑟 Nootherwise.
Note: The distance threshold
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𝐁 ∈ ℤ 𝑛 × 𝑛 whose shortest non-zero vector has lengthL . (𝜆 1 is not an explicit input to the algorithm.)𝜆 1 - A target vector
with the guarantee that⃗ 𝑡 ∈ ℚ 𝑛 .0 ≤ Δ ( ⃗ 𝑡 , L ( 𝐁 ) ) < 𝛼 ⋅ 𝜆 1 - Output
- A unique vector
such that⃗ 𝑥 ∈ L ( 𝐁 ) .∀ ⃗ 𝑦 ∈ L ( 𝐁 ) : ‖ ⃗ 𝑡 − ⃗ 𝑥 ‖ ≤ ‖ ⃗ 𝑡 − ⃗ 𝑦 ‖
Note:
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
The approximate search and decision (Gap) problems related
to CVP are listed below:
(Approx-CVP𝛾 )
- Input
- A non-singular basis matrix
representing a full-rank integral lattice𝐁 ∈ ℤ 𝑛 × 𝑛 .L - A target vector
.⃗ 𝑡 ∈ ℤ 𝑛 - Output
- A lattice vector
such that⃗ 𝑥 ∈ L .∀ ⃗ 𝑦 ∈ L : ‖ 𝑥 ‖ ≤ 𝛾 ( 𝑛 ) ⋅ ‖ 𝑦 ‖
(GapCVP𝛾 )
- Input
- A non-singular basis matrix
representing a full-rank integral lattice𝐁 ∈ ℤ 𝑛 × 𝑛 .L - An threshold value
.𝑟 ∈ ℚ - Output
Yesif ,Δ ( ⃗ 𝑡 , L ) ≤ 𝑟 Noif ,Δ ( ⃗ 𝑡 , L ) > 𝛾 ( 𝑛 ) ⋅ 𝑟 Undefined, otherwise.
(Gap Reductions)
If a problem 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 Decisional-CVP is in
If
- Verifier computes
and checks𝑟 ′ : = ‖ ⃗ 𝑥 − ⃗ 𝑡 ‖ .𝑟 ′ ? ≤ 𝑟 - Verifier checks whether
by treating⃗ 𝑥 ? ∈ L ( 𝐁 ) 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⃗ 𝑧 ) then1 otherwise not.⃗ 𝑥 ∈ L ( 𝐁 )
To prove 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
of𝐴 : = { 𝑎 1 , ⋯ , 𝑎 𝑛 } ⊆ ℤ integers (distinct by definition of a set).𝑛 - A target sum
.𝑈 ∈ ℤ - Output
Yesif there exists a subset such that𝐴 ′ ⊆ 𝐴 𝑈 = ∑ 𝑎 ′ ∈ 𝐴 ′ 𝑎 ′ Nootherwise
Subset sum is a well known
(Subset-Sum ⪯ Decisional-CVP)
- Input
- A set
,𝐴 = { 𝑎 1 , ⋯ , 𝑎 𝑛 } ⊆ ℤ - A target sum
.𝑈 ∈ ℤ - Output
Yesif∃ 𝐴 ′ ⊆ 𝐴 : ∑ 𝑎 ′ ∈ 𝐴 ′ 𝑎 ′ = 𝑈 Nootherwise.- Oracle
- Decisional-CVP
where( 𝐁 , ⃗ 𝑡 , 𝑟 ) ,𝐁 ∈ ℤ ( 𝑛 + 1 ) × 𝑛 and⃗ 𝑡 ∈ ℚ 𝑛 + 1 . (𝑟 ∈ ℚ Note: Given a fixed target , there are standard techniques to transform low-rank⃗ 𝑡 CVPinstances into a full rankCVPinstance.) - Algorithm
- Let
denote the usual‖ ⋅ ‖ 𝑝 norm. Recall thatℓ 𝑝 norm of a vectorℓ 𝑝 is defined as⃗ 𝑥 = { 𝑥 𝑖 } ∥ ⃗ 𝑥 ∥ 𝑝 = ⎧ { { ⎨ { { ⎩ 𝑝 √ ∑ 𝑖 ‖ 𝑥 𝑖 ‖ 𝑝 𝑝 if 𝑝 < ∞ m a x 𝑖 { | 𝑥 𝑖 | } if 𝑝 = ∞ While this post is mainly geared towards
norm, this reduction works for arbitraryℓ 2 norm without much technicality, therefore the proof is given in full generality.ℓ 𝑝 Given
, the reduction needs to convert the𝐴 = { 𝑎 𝑖 } Subset-Suminstance into aDecisional-CVPinstance. Consider the followingDecisional-CVPinstance If𝐁 : = ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ 𝑛 ⋅ 𝑎 1 𝑛 ⋅ 𝑎 2 ⋯ 𝑛 ⋅ 𝑎 𝑛 2 0 ⋯ 0 0 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ 2 ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ∈ ℤ ( 𝑛 + 1 ) × 𝑛 ⃗ 𝑡 : = ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ 𝑛 ⋅ 𝑈 1 ⋮ 1 ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ∈ ℚ 𝑛 + 1 and 𝑟 : = ⎧ { { ⎨ { { ⎩ 𝑝 √ 𝑛 for 𝑝 < ∞ 1 for ℓ ∞ norm ( 1 ) then the difference between a lattice vector⃗ 𝑧 : = { 𝑧 1 , ⋯ , 𝑧 𝑛 } ∈ ℤ 𝑛 and𝐁 ⋅ ⃗ 𝑧 is:⃗ 𝑡 𝐁 ⋅ ⃗ 𝑧 − ⃗ 𝑡 = ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ 𝑛 ∑ 𝑛 𝑖 = 1 𝑧 𝑖 ⋅ 𝑎 𝑖 − 𝑛 𝑈 2 𝑧 1 − 1 ⋮ 2 𝑧 𝑛 − 1 ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ∈ ℚ 𝑛 + 1 ( 2 ) We will prove that
Subset-Sum is( 𝐴 , 𝑈 ) Trueif and only if , whereΔ 𝑝 ( ⃗ 𝑡 , L ( 𝐁 ) ) ≤ 𝑟 denotes the distance ofΔ 𝑝 ( ⋅ , ⋅ ) from⃗ 𝑡 inL ( 𝐁 ) norm.ℓ 𝑝 ( ⇒ ) - Suppose
Subset-Sum is( 𝐴 , 𝑈 ) True. Then there exists an index set such that𝐽 : = { 𝑗 1 , ⋯ , 𝑗 𝑘 } ⊆ { 1 , 2 , ⋯ , 𝑛 } . Consider∑ 1 ≤ 𝑖 ≤ 𝑘 𝑎 𝑗 𝑖 = 𝑈 where⃗ 𝑧 : = { 𝑧 1 , ⋯ , 𝑧 𝑛 } ∈ ℤ 𝑛 , ( 𝑧 𝑖 ∈ { 0 , 1 } ) if𝑧 𝑖 = 1 and zero otherwise. Then by (2)𝑖 ∈ 𝐽 Since𝐁 ⋅ ⃗ 𝑧 − ⃗ 𝑡 = ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ 0 2 𝑧 1 − 1 ⋮ 2 𝑧 𝑛 − 1 ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ 𝑧 𝑖 ∈ { 0 , 1 } ⟹ 2 𝑧 𝑖 − 1 ∈ { − 1 , 1 } ⟹ ∥ 𝐁 ⋅ ⃗ 𝑧 − ⃗ 𝑡 ∥ 𝑝 = { 𝑝 √ 𝑛 if 𝑝 < ∞ 1 if 𝑝 = ∞ ⟹ andΔ 𝑝 ( ⃗ 𝑡 , 𝐁 ) ≤ 𝑟 Decisional-CVP correspond to an( 𝐁 , ⃗ 𝑡 , 𝑟 ) Yesinstance.
( ⇐ ) - Conversely, suppose
. We need to show thatΔ 𝑝 ( ⃗ 𝑡 , L ( 𝐁 ) ) ≤ 𝑟 , such that∃ ⃗ 𝑧 : = { 𝑧 1 , ⋯ , 𝑧 𝑛 } ∈ { 0 , 1 } 𝑛 . By (2)∑ 𝑧 𝑖 ∈ ⃗ 𝑧 𝑧 𝑖 ⋅ 𝑎 𝑖 = 𝑈 ∥ 𝐁 ⋅ ⃗ 𝑧 − ⃗ 𝑡 ∥ 𝑝 𝑝 = ⎧ { { ⎨ { { ⎩ 𝑛 𝑝 ⋅ ‖ ∑ 𝑛 𝑖 = 1 𝑧 𝑖 ⋅ 𝑎 𝑖 − 𝑈 ‖ 𝑝 𝑝 + ∑ 𝑛 𝑗 = 1 ‖ 2 𝑧 𝑗 − 1 ‖ 𝑝 𝑝 if 𝑝 < ∞ m a x 1 ≤ 𝑖 ≤ 𝑛 { | 2 𝑧 𝑖 − 1 | , 𝑛 ⋅ ∣ ∑ 𝑛 𝑖 = 𝑗 𝑧 𝑗 ⋅ 𝑎 𝑗 − 𝑈 ∣ } if 𝑝 = ∞ We consider
andℓ 𝑝 | 𝑝 < ∞ norms separately:ℓ ∞ normℓ 𝑝 | 𝑝 < ∞ - Since each
is an integer,𝑧 𝑖 . Therefore‖ 2 𝑧 𝑖 − 1 ‖ 𝑝 ≥ 1 which implies𝑛 ∑ 𝑗 = 1 ‖ 2 𝑧 𝑗 − 1 ‖ 𝑝 𝑝 ≥ 𝑛 . However, by assumption,∥ 𝐁 ⋅ ⃗ 𝑧 − ⃗ 𝑡 ∥ 𝑝 𝑝 ≥ 𝑛 therefore the only feasible solution is∥ 𝐁 ⋅ ⃗ 𝑧 − ⃗ 𝑡 ∥ 𝑝 𝑝 ≤ 𝑛 ∥ 𝐁 ⋅ ⃗ 𝑧 − ⃗ 𝑡 ∥ 𝑝 𝑝 = 𝑛 ⟹ ∥ 𝑛 𝑝 ( 𝑛 ∑ 𝑖 = 1 𝑧 𝑖 ⋅ 𝑎 𝑖 − 𝑈 ) ∥ 𝑝 𝑝 = 0 and ∀ 𝑖 : ‖ 2 𝑧 𝑖 − 1 ‖ 𝑝 = 1 ⟹ 𝑛 ∑ 𝑖 = 1 𝑧 𝑖 ⋅ 𝑎 𝑖 = 𝑈 and { 𝑧 1 , ⋯ , 𝑧 𝑛 } ∈ { 0 , 1 } . normℓ ∞ - As before,
If∀ 𝑧 𝑖 ∈ ℤ : | 2 𝑧 𝑖 − 1 | ≥ 1 . then| ∑ 𝑛 𝑖 = 1 𝑧 𝑖 ⋅ 𝑎 𝑖 − 𝑈 | ≠ 0 By assumption,m a x 1 ≤ 𝑖 ≤ 𝑛 { | 2 𝑧 𝑖 − 1 | , 𝑛 ⋅ ∣ 𝑛 ∑ 𝑗 = 1 𝑧 𝑗 ⋅ 𝑎 𝑗 − 𝑈 ∣ } ≥ 𝑛 . . Therefore, the only feasible solution isΔ ∞ ( 𝐁 , ⃗ 𝑡 ) ≤ 1 ∥ 𝐁 ⋅ ⃗ 𝑧 − ⃗ 𝑡 ∥ ∞ = 1 and ∣ 𝑛 ∑ 𝑗 = 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
Decisional-CVP is also
Decisional-SVP| ℓ ∞ is 𝖭 𝖯 -Complete
Recall that a Decisional-SVP
This proof is an adaptation of the original 1981 proof by van Emde Boas 7. The proof follows the following chain of reductions:
-Partition
Bounded Homogeneous Linear Equation
Decisional-SVP
These individual problems and the corresponding reductions are described next.
Subset-Sum ⪯ 2 -Partition
Given a set -Partition problem asks: Does
Formally -Partition is defined as follows:
(2 -Partition)
- Input
- A set
.𝐴 = { 𝑎 1 , ⋯ , 𝑎 𝑛 } ⊆ ℤ - Output
Yesif such that∃ 𝐵 ⊆ 𝐴 ∑ 𝑏 ∈ 𝐵 𝑏 = ∑ 𝑐 ∈ 𝐴 ∖ 𝐵 𝑐 . Nootherwise.
The following reduction from
Subset-Sum-Partition
establishes NP-completeness of -Partition.
(Subset-Sum ⪯ 2 -Partition)
- Input
- A
Subset-Suminstance , and𝑆 ⊆ ℤ - A
Subset-Sumtarget .𝑈 ∈ ℤ - Output
Yesif∃ 𝑆 ′ ⊂ 𝑆 : ∑ 𝑠 ′ ∈ 𝑆 𝑠 ′ = 𝑈 Nootherwise- Algorithm
- This is a very well known reduction, details of which are left as an exercise to the
reader 😊. (See page
and Appendix A6 0 of 8 for a detailed analysis.)3 . 2
2 -Partition ⪯ ℓ ∞ -Bounded Homogeneous Linear Equation (BHLE)
Given a set BHLE) in
(ℓ ∞ -Bounded Homogeneous Linear Equation)
- Input
- A set
represented as𝐴 ,↪ 𝑎 : = { 𝑎 1 , ⋯ , 𝑎 𝑛 } ∈ ℤ 𝑛 - A positive solution threshold
.𝜅 ∈ ℤ > 0 - Output
Yesif such that∃ ⃗ 𝑥 : = { 𝑥 1 , ⋯ , 𝑥 𝑛 } ∈ ℤ 𝑛 (Or equivalently,⟨ ⃗ 𝑥 , ↪ 𝑎 ⟩ = 0 and 0 < ‖ ⃗ 𝑥 ‖ ℓ ∞ ≤ 𝜅 . ,⃗ 𝑥 ∈ ℤ 𝑛 ∖ ⃗ 0 , and⟨ ⃗ 𝑥 , ↪ 𝑎 ⟩ = 0 for all| 𝑥 𝑖 | ≤ 𝜅 .)𝑖 ∈ { 1 , ⋯ , 𝑛 } Nootherwise.
Note: One can define BHLE for any arbitrary
-
Inthis section, a set is often represented as a vector of unique values, i.e.,𝐴 : = { 𝑎 1 , ⋯ , 𝑎 𝑛 } ⊆ ℤ . The following notation is used to represent sets as vectors:∀ 𝑖 , 𝑗 ∈ { 1 , ⋯ , 𝑛 } : 𝑎 𝑖 = 𝑎 𝑗 ⟺ 𝑖 = 𝑗 ↪ 𝑎 : = { 𝑎 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 be a positive integer. Then the set of integers with absolute value less than or equal to𝜅 ∈ ℤ > 0 is denoted by𝜅 , i.e.,[ 𝜅 ] [ 𝜅 ] : = { 𝑖 : | 𝑖 | ≤ 𝜅 } ⊆ ℤ -
Vector denotes all zeros vector and⃗ 0 : = { 0 , ⋯ , 0 } denotes all ones vector of appropriate dimension (which should be inferred from the context).⃗ 1 : = { 1 , ⋯ , 1 }
When BHLE almost appears to be an instance of
-Partition. However, these two problems are
fundamentally different. To see why, notice that a solution to a
-Partition instance is a statement about the entire
set BHLE, since
Yes
instance of BHLE, then every superset of Yes instance of BHLE.
This is not the case with -Partition.
(In theory, one could consider an NPO version of BHLE, say Min-BHLE, with the goal to
minimize the count of Min-BHLE is different from
-Partition.)
To prove that -Partition (Karp) reduces to
BHLE in polynomial-time, we need to define a polynomial time
map -Partition instance, to inputs to the BHLE
instance. Let -Partition problem instance, and let
Let
and let
Define the polynomial time input encoding map
In the next few lemmas we will prove that if -Partition Yes instance, then
BHLE Yes
instance. Conversely, given an arbitrary set BHLE Yes
instance, then we will prove that -Partition
Yes instance.
Let -Partition linear Diophantine
equation
Corresponding to each BHLE linear Diophantine equations, i.e.,
BHLE Yes instance if there exists
In the following Lemma, we first
state and prove that if -Partition Yes instance, then
BHLE Yes instance.
(↪ 𝑎 ∈ 2 -Partition ⟹ 𝜉 ( ↪ 𝑎 ) ∈ BHLE)
Let Yes instance of
-Partition, i.e.,
Since -Partition Yes instance,
Consider the following assignment to
-
If
, then define𝑥 𝑖 = + 1 𝜒 + 1 𝑖 : = ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ 1 − 1 0 0 − 𝜅 ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ∈ [ 𝜅 ] 5 ∖ ⃗ 0 ( 8 ) -
If
, then define𝑥 𝑖 = − 1 𝜒 − 1 𝑖 : = ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ 0 0 1 − 1 𝜅 ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ∈ [ 𝜅 ] 5 ∖ ⃗ 0 ( 9 )
Note:
First observe that
-Partition
instance. Then by (7)
Notice that if
and BHLE.
To prove the other direction of Karp reduction, we need the following elementary lemma:
(Unique Bit Decomposition)
Let
If
simultaneously satisfies ⃗ 𝑥 ∈ [ 𝜅 ] 𝑛 and ⟨ ⃗ 𝑥 , ↪ 𝑎 ⟩ = 0 , then by bilinearity, ⟨ ⃗ 𝑥 , ↪ 𝑏 ⟩ = 0 Therefore, ⟨ ⃗ 𝑥 , ↪ 𝑎 ⟩ + 𝜇 ⋅ ⟨ ⃗ 𝑥 , ↪ 𝑏 ⟩ = ⟨ ⃗ 𝑥 , ↪ 𝑎 + 𝜇 ⋅ ↪ 𝑏 ⟩ = 0 . is a solution to ⃗ 𝑥 . ↪ 𝑎 + 𝜇 ⋅ ↪ 𝑏
Conversely, suppose
is a solution to ⃗ 𝑥 ∈ [ 𝜅 ] 𝑛 . We need to show that ⟨ ⃗ 𝑥 , ↪ 𝑎 + 𝜇 ⋅ ↪ 𝑏 ⟩ = 0 and ⟨ ⃗ 𝑥 , ↪ 𝑎 ⟩ = 0 . ⟨ ⃗ 𝑥 , ↪ 𝑏 ⟩ = 0 First note that by assumption,
and 𝑛 > 1 is a vector of distinct elements, hence ↪ 𝑎 must contain at least one non-zero element. Therefore ↪ 𝑎 ∑ 𝑖 | 𝑎 𝑖 | > 0 ⟹ . 𝜇 ≠ 0 Since
, 𝜇 > 𝜅 ∑ 𝑛 𝑖 = 1 | 𝑎 𝑖 | and by assumption, ∥ 𝑛 ∑ 𝑖 = 1 𝑥 𝑖 ⋅ 𝑎 𝑖 ∥ ≤ 𝑛 ∑ 𝑖 = 1 ‖ 𝑥 𝑖 ⋅ 𝑎 𝑖 ‖ ≤ 𝜅 𝑛 ∑ 𝑖 = 1 | 𝑎 𝑖 | < 𝜇 , Therefore, ⟨ ⃗ 𝑥 , ↪ 𝑎 + 𝜇 ⋅ ↪ 𝑏 ⟩ = 0 ⟹ 𝑛 ∑ 𝑖 = 1 𝑥 𝑖 ⋅ 𝑎 𝑖 = − 𝜇 𝑛 ∑ 𝑖 = 1 𝑥 𝑖 ⋅ 𝑏 𝑖 . But 𝜇 ∥ 𝑛 ∑ 𝑖 = 1 𝑥 𝑖 ⋅ 𝑏 𝑖 ∥ = ∥ 𝑛 ∑ 𝑖 = 1 𝑥 𝑖 ⋅ 𝑎 𝑖 ∥ < 𝜇 ⟹ ∥ 𝑛 ∑ 𝑖 = 1 𝑥 𝑖 ⋅ 𝑏 𝑖 ∥ < 1 ( since 𝜇 ≠ 0 ) . s and 𝑥 𝑖 s are integers, therefore 𝑏 𝑖 is an integer. But the only integer with norm strictly less than ∑ 𝑛 𝑖 = 1 𝑥 𝑖 ⋅ 𝑏 𝑖 is 1 . Therefore, 0 ∥ 𝑛 ∑ 𝑖 = 1 𝑥 𝑖 ⋅ 𝑏 𝑖 ∥ = 0 ⟹ ⎧ { { ⎨ { { ⎩ ∑ 𝑛 𝑖 = 1 𝑥 𝑖 ⋅ 𝑏 𝑖 = 0 and ∑ 𝑛 𝑖 = 1 𝑥 𝑖 ⋅ 𝑎 𝑖 = 0
Finally, we are ready to state and prove the other direction of the reduction.
(𝜉 ( ↪ 𝑎 ) ∈ BHLE ⟹ ↪ 𝑎 ∈ 2 -Partition)
Let
Given that there exists
Since
Expanding (12), we get
Since
Therefore, if
Claim: If the system of linear Diophantine equations in, ( 𝐴 1 ) , ( 𝐴 ) , ( 𝐵 ) , and ( 𝐶 ) have a non-trivial solution, i.e., ( 𝐷 ) with not all 𝑦 ( 𝑖 , 𝑗 ) ∈ [ 𝜅 ] , then 𝑦 ( 𝑖 , 𝑗 ) = 0 thereby proving that ∀ 𝑖 ∈ { 1 , ⋯ , 𝑛 } : 𝑦 ( 𝑖 , 1 ) + 𝑦 ( 𝑖 , 4 ) ∈ { − 1 , + 1 } . ↪ 𝑎 ∈ 2-Partition
Proof: Byand ( 𝐴 ) ( 𝐴 1 ) By 𝑦 ( 𝑖 , 1 ) + 𝑦 ( 𝑖 , 3 ) = − 𝑦 ( 𝑖 − 1 , 2 ) − 𝑦 ( 𝑖 − 1 , 4 ) , for 2 ≤ 𝑖 ≤ 𝑛 and 𝑦 ( 1 , 1 ) + 𝑦 ( 1 , 3 ) = − 𝑦 ( 𝑛 , 2 ) − 𝑦 ( 𝑛 , 4 ) and ( 𝐵 ) ( 𝐶 ) and 𝑦 ( 𝑖 , 1 ) = − 𝑦 ( 𝑖 , 2 ) for all 𝑦 ( 𝑖 , 3 ) = − 𝑦 ( 𝑖 , 4 ) . Substituting these values in the equation above we obtain 𝑖 which, by induction on 𝑦 ( 𝑖 , 1 ) + 𝑦 ( 𝑖 , 3 ) = 𝑦 ( 𝑖 − 1 , 1 ) + 𝑦 ( 𝑖 − 1 , 3 ) , for 2 ≤ 𝑖 ≤ 𝑛 and 𝑦 ( 1 , 1 ) + 𝑦 ( 1 , 3 ) = 𝑦 ( 𝑛 , 1 ) + 𝑦 ( 𝑛 , 3 ) , , implies 𝑖 does not depend on 𝑦 ( 𝑖 , 1 ) + 𝑦 ( 𝑖 , 3 ) . Let 𝑖 where 𝜔 : = 𝑦 ( 𝑖 , 1 ) + 𝑦 ( 𝑖 , 3 ) = 𝑦 ( 1 , 1 ) + 𝑦 ( 1 , 3 ) ∀ 𝑖 ∈ { 1 , ⋯ , 𝑛 } is called the weight of the invariant. A priori, 𝜔 can take any integer value between 𝜔 and − 𝜅 . However, since multiplying 𝜅 and ( 𝐴 1 ) by ( 𝐴 ) does not affect the solutions, − 1 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
BHLEinstance, not all non-trivial solutions result in a non-trivial solution to the2 -Partitionconstraint in (11). In particular, ifthen 𝜒 ⋆ 𝑖 : = ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ 1 − 1 1 − 1 0 ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ for 1 ≤ 𝑖 ≤ 𝑛 , , ( 𝐴 1 ) , ( 𝐴 ) , ( 𝐵 ) , ( 𝐶 ) and (11), are all satisfied, but ( 𝐷 ) , which corresponds to a trivial solution to the ∀ 𝑖 : 𝑦 𝑖 , 1 + 𝑦 𝑖 , 4 = 0 2 -Partitionconstraint in (11). Notice, however, there areindeterminates but only 5 𝑛 equations! Therefore, it’s desirable to impose an extra constraint such that every solution to (13) corresponds to a non-trivial solution to both: 4 𝑛 + 1
- The
BHLEinstance, and 𝜉 ( ↪ 𝑎 ) - The
2 -Partitioninstance in (11).Both these conditions can be enforced simultaneously by ensuring that
for at least one 𝑦 ( 𝑖 , 1 ) + 𝑦 ( 𝑖 , 4 ) ≠ 0 , say 𝑖 , by setting 𝑖 = 1 . Since 𝑦 ( 1 , 4 ) = 0 . 𝑦 ( 1 , 4 ) = − 𝑦 ( 1 , 3 ) = 0 ⟹ 𝜔 = 𝑦 ( 1 , 1 ) ∈ [ 𝜅 ] Furthermore, by
( 𝐷 ) Since 𝜅 | 𝑦 ( 𝑖 , 1 ) + 𝑦 ( 𝑖 , 4 ) | = | 𝑦 ( 𝑖 , 5 ) | ≤ 𝜅 ⟹ | 𝑦 ( 𝑖 , 1 ) | ≤ 1 for 1 ≤ 𝑖 ≤ 𝑛 . ( 14 ) and positive, by equation above 𝜔 = 𝑦 ( 1 , 1 ) . Furthermore, by 𝜔 ∈ { 0 , 1 } : ( 𝐶 ) and by 𝑦 ( 𝑖 , 3 ) = − 𝑦 ( 𝑖 , 4 ) : ( 𝐷 ) 𝑦 ( 𝑖 , 5 ) = − 𝜅 ( 𝑦 ( 𝑖 , 4 ) + 𝑦 ( 𝑖 , 1 ) ) = . However, 𝜅 ( 𝑦 ( 𝑖 , 3 ) − 𝑦 ( 𝑖 , 1 ) ) , therefore 𝑦 ( 𝑖 , 1 ) + 𝑦 ( 𝑖 , 3 ) = 𝜔 : ∀ 𝑖 ∈ { 1 , ⋯ , 𝑛 } We separately analyze the range of values that 𝜅 ( 𝑦 ( 𝑖 , 3 ) − 𝑦 ( 𝑖 , 1 ) ) = 𝑦 ( 𝑖 , 5 ) 𝑦 ( 𝑖 , 3 ) + 𝑦 ( 𝑖 , 1 ) = 𝜔 ⟹ 2 ⋅ 𝜅 ⋅ 𝑦 ( 𝑖 , 3 ) = 𝜅 ⋅ 𝜔 + 𝑦 ( 𝑖 , 5 ) 2 ⋅ 𝜅 ⋅ 𝑦 ( 𝑖 , 1 ) = 𝜅 ⋅ 𝜔 − 𝑦 ( 1 , 5 ) ( 15 ) can take when 𝑦 ( 𝑖 , 1 ) + 𝑦 ( 𝑖 , 4 ) and when 𝜔 = 0 . 𝜔 = 1
𝜔 = 0 - Since
, by (15) 𝜔 = 0 . However, as a linear Diophantine equation, both 2 ⋅ 𝜅 ⋅ 𝑦 ( 𝑖 , 3 ) = 𝑦 ( 𝑖 , 5 ) and 𝑦 ( 𝑖 , 3 ) must take integer values in 𝑦 ( 𝑖 , 5 ) . The only integer value that satisfies this requirement is { − 𝜅 , ⋯ , 𝜅 } However, this forces every 𝑦 ( 𝑖 , 3 ) = 𝑦 ( 𝑖 , 5 ) = 0 ∀ 𝑖 ∈ { 1 , ⋯ , 𝑛 } . for all 𝑦 ( 𝑖 , 𝑗 ) = 0 , which, by assumption, is not a valid solution. Therefore, ( 𝑖 , 𝑗 ) is a pathological case that is disallowed by the definition of 𝜔 = 0 BHLEinstance.𝜔 = 1 - Arguing as before, when
, 𝜔 = 1 cannot be 𝑦 ( 𝑖 , 5 ) , otherwise 0 and 𝑦 ( 𝑖 , 1 ) won’t be integers in (15). Furthermore, since 𝑦 ( 𝑖 , 3 ) and 𝑦 ( 𝑖 , 5 ) = − 𝜅 ( 𝑦 ( 𝑖 , 4 ) + 𝑦 ( 𝑖 , 1 ) ) , the only possible solution to | 𝑦 ( 𝑖 , 5 ) | ≤ 𝜅 , 𝑦 ( 𝑖 , 4 ) , and 𝑦 ( 𝑖 , 1 ) that are all integers is obtained when 𝑦 ( 𝑖 , 5 ) , in which case 𝑦 ( 𝑖 , 5 ) ∈ { − 𝜅 , 𝜅 } proving the claim. 𝑦 ( 𝑖 , 4 ) + 𝑦 ( 𝑖 , 1 ) ∈ { + 1 , − 1 } ∀ 𝑖 ∈ { 1 , ⋯ , 𝑛 } ,
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
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 -Partition
reduces to BHLE. Since -Partition is
BHLE is
BHLE ⪯ Decisional-SVP| ℓ ∞
To prove that Decisional-SVP is
Decisional-SVP. Recall that input to a
Decisional-SVP instance is a full rank integral
lattice basis BHLE instance is a set of integers BHLE solver is to
decide if
A Karp reduction from BHLE to Decisional-SVP
requires a polynomial time encoding map
BHLE instance
Decisional-SVP instance
If is a( ⃗ 𝑎 , 𝜅 ) BHLEYesinstance, then the encoded value corresponds to a( 𝐁 , 𝑟 ) : = 𝜁 ( ⃗ 𝑎 , 𝜅 ) Decisional-SVP Yesinstance, andGivenan arbitrary pair such that its encoded value( ⃗ 𝑎 , 𝜅 ) corresponds to a( 𝐁 , 𝑟 ) : = 𝜁 ( ⃗ 𝑎 , 𝜅 ) Decisional-SVP Yesinstance, then corresponds to a( ⃗ 𝑎 , 𝜅 ) BHLEYesinstance.
As before, let
The next two lemmas prove that
(( ⃗ 𝑎 , 𝜅 ) ∈ 𝖡 𝖧 𝖫 𝖤 ⟹ 𝜁 ( ⃗ 𝑎 , 𝜅 ) ∈ Decisional-SVP )
Suppose BHLE Yes instance, then
Decisional-SVP Yes instance.
Since BHLE
BHLE. Furthermore,
Decisional-SVP.
Note: The lemma above and its
proof holds for any arbitrary
(∃ ( ⃗ 𝑎 , 𝜅 ) : 𝜁 ( ⃗ 𝑎 , 𝜅 ) ∈ Decisional-SVP ⟹ ( ⃗ 𝑎 , 𝜅 ) ∈ 𝖡 𝖧 𝖫 𝖤 )
Let Decisional-SVP Yes instance, then BHLE Yes instance.
Given that Decisional-SVP Yes instance, there exists
a non-zero integer vector
, and0 < ‖ ⃗ 𝑧 ‖ ℓ ∞ ≤ 𝜅 .⟨ ⃗ 𝑧 , ⃗ 𝑎 ⟩ = 0
By construction
Decisional-SVP Yes instance,
Given that
We need to show that
Since
Suppose
Finally, by assumption
Search-CVP reduces to Decisional-CVP
This section is written with Search-CVP to Decisional-CVP holds in all
We are given an oracle that can somehow solve
Decisional-CVPDecisional-CVP oracle
to find a
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
Once Search-CVP solver works as
follows: It iteratively creates sublattices
Since 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𝑑 † ∈ ℚ . In other words,Δ ( ⃗ 𝑡 , L ( 𝐁 ) ) is such that𝑑 † for arbitrary user selected constant‖ 𝑑 † − Δ ( ⃗ 𝑡 , L ( 𝐁 ) ) ‖ < 1 2 𝑂 ( 𝑛 𝑐 ) .𝑐 > 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⃗ 𝑡 cannot be less than zero, thereforeL . This minimum distance is realized if and only ifΔ ( ⃗ 𝑡 , L ) ≥ 0 .⃗ 𝑡 ∈ L
- Claim-2
- Let
denote the⃗ 𝑏 𝑖 -th column of𝑖 and let𝐁 , then𝐷 ( 𝐁 ) : = ⌈ ∑ 𝑛 𝑖 = 1 ‖ ⃗ 𝑏 𝑖 ‖ ⌉ ∈ ℤ Δ ( ⃗ 𝑡 , L ) ≤ 𝐷 ( 𝐁 ) . - Proof
- Recall that the lattice-translates of the parallelepiped
tiles the entire space, that is,
Therefore, given the target vectorℝ 𝑛 = ⋃ ⃗ 𝑦 ∈ L ⃗ 𝑦 + P ( 𝐁 ) . , it must fall in some lattice-translate of⃗ 𝑡 ∈ ℝ 𝑛 . LetP ( 𝐁 ) for some⃗ 𝑡 = ⃗ 𝑦 ∗ + ⃗ 𝑣 ∗ and⃗ 𝑦 ∗ ∈ L ( 𝐁 ) . By definition,⃗ 𝑣 ∗ ∈ P ( 𝐁 ) is the smallest distance betweenΔ ( ⃗ 𝑡 , L ) and any lattice vector⃗ 𝑡 , therefore⃗ 𝑦 ∈ L Δ ( ⃗ 𝑡 , L ) ≤ ‖ ⃗ 𝑡 − ⃗ 𝑦 ∗ ‖ = ‖ ⃗ 𝑣 ∗ ‖ . Since
, it can be written uniquely as the fractional linear combination of columns of⃗ 𝑣 ∗ ∈ P ( 𝐁 ) , namely,𝐁 for uniquely determined⃗ 𝑣 ∗ = ∑ 𝑖 𝑢 ∗ 𝑖 ⋅ ⃗ 𝑏 𝑖 . Hence,𝑢 ∗ 𝑖 ∈ [ 0 , 1 ) ⊆ ℝ 𝑛 Δ ( ⃗ 𝑡 , L ) ≤ ‖ ⃗ 𝑣 ∗ ‖ = ∥ ∑ 𝑖 𝑢 ∗ 𝑖 ⋅ ⃗ 𝑏 𝑖 ∥ ≤ ∑ 𝑖 ‖ 𝑢 ∗ 𝑖 ⋅ ⃗ 𝑏 𝑖 ‖ ≤ ∑ 𝑖 ‖ ⃗ 𝑏 𝑖 ‖ ≤ 𝐷 ( 𝐁 ) .
Based on the upper and lower bounds on
, theΔ ( ⃗ 𝑡 , L ) Opt-CVP solver uses binary search in the range( 𝐁 , ⃗ 𝑡 ) to compute[ 0 , 𝐷 ( 𝐁 ) ] as follows:Δ ( ⃗ 𝑡 , L ) Opt-CVP Solver
-
The solver maintains a search range
, where( 𝛼 , 𝛽 ) ∈ ℚ 2 and𝛼 are initialized to𝛽 and𝛼 ← 0 𝛽 ← 𝐷 ( 𝐁 ) . -
Repeat until :𝛽 − 𝛼 < 1 2 𝑂 ( 𝑛 𝑐 ) a. Set
.𝜓 = 𝛼 + 𝛽 2 ∈ ℚ b.
InvokeDecisional-CVP oracle to determine if( 𝐁 , ⃗ 𝑡 , 𝜓 ) ?Δ ( ⃗ 𝑡 , L ) < 𝜓 c. If
Δ ( ⃗ 𝑡 , L ) < 𝜓 thenset ,𝛽 ← 𝜓 elseset .𝛼 ← 𝜓 d.
Continueto step .2 -
Set
and𝑑 † ← 𝛼 + 𝛽 2 return .𝑑 †
Note: The precision threshold
Given Search-CVP. How many lattice
vectors are exactly
(CVP Exhaustive Search)
- Input
- A non-singular basis matrix
representing a full-rank integral lattice𝐁 ∈ ℤ 𝑛 × 𝑛 .L ( 𝐁 ) - A target vector
⃗ 𝑡 ∈ ℚ 𝑛 - Distance
and a precision threshold𝑑 † = Δ ( ⃗ 𝑡 , L ( 𝐁 ) ) 𝑂 ( 1 / 2 𝑐 ) - Output
such that⃗ 𝑥 ∈ L ( 𝐁 ) ‖ ⃗ 𝑡 − ⃗ 𝑥 ‖ = 𝑑 †
The algorithm works as follows:
Since
and ⃗ 𝑡 ∈ ℚ 𝑛 is non-singular, it can be uniquely written as an element of 𝐁 ∈ ℤ 𝑛 × 𝑛 ⊆ ℚ 𝑛 × 𝑛 , i.e., span ℚ ( 𝐁 ) ∀ 𝑖 ∈ 1 ⋯ 𝑛 , ∃ ! 𝑞 𝑖 ∈ ℚ : ⃗ 𝑡 = 𝑞 1 ⃗ 𝑏 1 + ⋯ + 𝑞 𝑛 ⃗ 𝑏 𝑛 .
Letdenote the fractional part of ⟦ 𝑞 𝑖 ⟧ : = 𝑞 𝑖 − ⌊ 𝑞 𝑖 ⌋ ∈ [ 0 , 1 ) ⊆ ℚ . Compute the target vector within the parallelepiped 𝑞 𝑖 ⃗ 𝑡 ∗ = ⟦ 𝑞 1 ⟧ ⃗ 𝑏 1 + ⋯ + ⟦ 𝑞 𝑛 ⟧ ⃗ 𝑏 𝑛 ∈ P ( 𝐁 )
for𝑖 ← 0 ⋯ ( 2 𝑛 − 1 ) do
Bit decompose
as 𝑖 (that is { 𝑖 1 , ⋯ , 𝑖 𝑛 } ∈ { 0 , 1 } 𝑛 ). 𝑖 = ∑ 𝑛 𝑗 = 1 𝑖 𝑗 2 𝑗 − 1 Let
and compute ⃗ 𝑥 ∗ 𝑖 : = 𝑖 1 ⃗ 𝑏 1 + 𝑖 2 ⃗ 𝑏 2 + ⋯ + 𝑖 𝑛 ⃗ 𝑏 𝑛 ∈ L ( 𝐁 ) 𝜇 𝑖 = ‖ ⃗ 𝑡 ∗ − ⃗ 𝑥 ∗ 𝑖 ‖
If| 𝜇 𝑖 − 𝑑 † | < 1 2 𝑐 break.Compute the final closest vector as
and ⃗ 𝑥 = ⃗ 𝑥 ∗ 𝑖 + 𝑛 ∑ 𝑗 = 1 ⌊ 𝑞 𝑗 ⌋ ⃗ 𝑏 𝑗 return. ⃗ 𝑥
The loop in step-3 enumerates all
lattice vectors on the corners the parallelepiped. Since
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 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
such that⃗ 𝑥 ∈ L ( 𝐁 ) .∀ ⃗ 𝑦 ∈ L ( 𝐁 ) : ‖ ⃗ 𝑡 − ⃗ 𝑥 ‖ ≤ ‖ ⃗ 𝑡 − ⃗ 𝑦 ‖ - Oracle
- Decisional-CVP
that outputs( 𝐂 , ⃗ 𝑠 , 𝑟 ) if1 andΔ ( ⃗ 𝑠 , L ( 𝐂 ) ) ≤ 𝑟 otherwise, where0 ,𝐂 ∈ ℤ 𝑛 × 𝑛 , and⃗ 𝑠 ∈ ℚ 𝑛 .𝑟 ∈ ℚ -BDD𝛼 that outputs unique( 𝐂 , ⃗ 𝑠 ) closest to⃗ 𝑥 ∈ L ( 𝐂 ) , provided⃗ 𝑠 ∈ ℚ 𝑛 , whereΔ ( ⃗ 𝑠 , L ( 𝐂 ) ) 𝜆 1 ( 𝐂 ) < 𝛼 is the length of shortest non-zero vector in𝜆 1 ( 𝐂 ) ,L ( 𝐂 ) and𝐂 ∈ ℤ 𝑛 × 𝑛 .0 ≤ 𝛼 < 1 2 - Algorithm
- We first describe the high level ideas of the reduction:
-
Given the lattice basis
, the𝐁 : = { 𝑏 1 , ⋯ , 𝑏 𝑛 } Search-CVPsolver creates sublattices ofL ( 𝐁 ∗ ) using a “dilated” basisL ( 𝐁 ) 𝐁 ∗ : = [ 2 ⃗ 𝑏 1 , ⃗ 𝑏 2 , ⋯ , ⃗ 𝑏 𝑛 ] . Since
is a subgroup ofL ( 𝐁 ∗ ) , by construction, its quotient group isL ( 𝐁 ) L ( 𝐁 ) / L ( 𝐁 ∗ ) = { L ( 𝐁 ∗ ) , L ( 𝐁 ∗ ) + ⃗ 𝑏 1 } ⟹ L ( 𝐁 ) = L ( 𝐁 ∗ ) ⨆ ( L ( 𝐁 ∗ ) + ⃗ 𝑏 1 ) ⟹ P ( 𝐁 ∗ ) = P ( 𝐁 ) ⨆ ( P ( 𝐁 ) + ⃗ 𝑏 1 ) . Given that
is the disjoint union ofP ( 𝐁 ∗ ) andP ( 𝐁 ) , eitherP ( 𝐁 ) + ⃗ 𝑏 1 or⃗ 𝑡 must be⃗ 𝑡 + ⃗ 𝑏 1 apart from𝑑 † . (See Fig. 2 for an illustration.) Therefore, the solver can easily maintain the invariant in (19) provided it can decide whether:L ( 𝐁 ∗ ) Δ ( ⃗ 𝑡 , L ( 𝐁 ∗ ) ) = 𝑑 † or Δ ( ⃗ 𝑡 + ⃗ 𝑏 1 , L ( 𝐁 ∗ ) ) = 𝑑 † ? ( 20 ) -
To decide between the above two cases in (20), the solver invokes
𝜉 1 ⟵ Decisional-CVP to determine if( 𝐁 ∗ , ⃗ 𝑡 , 𝑑 † ) ∈ { 0 , 1 } is still⃗ 𝑡 apart from𝑑 † ? IfL ( 𝐁 ∗ ) then𝜉 1 = 1 , otherwiseΔ ( ⃗ 𝑡 , L ( 𝐁 ∗ ) ) = 𝑑 † . By updating the target vector toΔ ( ⃗ 𝑡 + ⃗ 𝑏 1 , L ( 𝐁 ∗ ) ) = 𝑑 † the solver can maintain the invariant⃗ 𝑡 ∗ ← ⃗ 𝑡 + ( 1 − 𝜉 1 ) ⋅ ⃗ 𝑏 1 , Δ ( ⃗ 𝑡 ∗ , L ( 𝐁 ∗ ) ) = Δ ( ⃗ 𝑡 , L ( 𝐁 ) ) = 𝑑 † . Furthermore, suppose the
Search-CVPsolver could somehow find the closest vector to⃗ 𝑥 ∗ ∈ L ( 𝐁 ∗ ) , then finding the closest vector⃗ 𝑡 ∗ to⃗ 𝑥 ∈ L ( 𝐁 ) is easy:⃗ 𝑡 ⃗ 𝑥 = ⃗ 𝑥 ∗ − ( 1 − 𝜉 1 ) ⋅ ⃗ 𝑏 1 . -
The solver repeats the above procedure for all the
basis vectors,𝑛 , updating the target vector⃗ 𝑏 1 , ⋯ , ⃗ 𝑏 𝑛 to⃗ 𝑡 using help from⃗ 𝑡 ∗ ⋯ ∗ Decisional-CVPoracle. At the end of one complete round covering all columns of , the𝐁 Search-CVPsolver would be left with:-
A sublattice
with basisL ( 2 𝐁 ) ⊆ L ( 𝐁 ) 2 𝐁 = [ 2 ⃗ 𝑏 1 , 2 ⃗ 𝑏 2 , ⋯ , 2 ⃗ 𝑏 𝑛 ] -
A displacement vector
where each⃗ ℎ : = 𝑛 ∑ 𝑖 = 1 ( 1 − 𝜉 𝑖 ) ⋅ ⃗ 𝑏 𝑖 ∈ L ( 𝐁 ) is the output of invocations to𝜉 𝑖 ∈ { 0 , 1 } Decisional-CVPoracle, and -
The updated target vector
that maintains the invariant⃗ 𝑡 ∗ ⋯ ∗ ← ⃗ 𝑡 + ⃗ ℎ Δ ( ⃗ 𝑡 ∗ ⋯ ∗ , 2 𝐁 ) = Δ ( ⃗ 𝑡 , 𝐁 ) = 𝑑 † . -
As before, if the
Search-CVPsolver could somehow find the closest lattice vector to⃗ 𝑥 ∗ ⋯ ∗ ∈ L ( 2 𝐁 ) , then the solver can find the closest lattice vector⃗ 𝑡 ∗ ⋯ ∗ to⃗ 𝑥 ∈ L ( 𝐁 ) as⃗ 𝑡 ⃗ 𝑥 = ⃗ 𝑥 ∗ ⋯ ∗ − ⃗ ℎ ∈ L ( 𝐁 ) .
-
-
Let
be the length of the shortest non-zero vector in𝜆 1 ( 𝐁 ) and letL ( 𝐁 ) ̂ 𝛼 ( ⃗ 𝑡 , 𝐁 ) : = Δ ( ⃗ 𝑡 , L ( 𝐁 ) ) 𝜆 1 ( 𝐁 ) . Before the solver can invoke
𝛼 -BDDoracle, it must ensure that for̂ 𝛼 ( ⃗ 𝑡 ∗ ⋯ ∗ , 𝐁 ∗ ⋯ ∗ ) < 𝛼 𝛼 -BDDto find the unique solution. Since while𝜆 1 ( 2 𝐁 ) = 2 ⋅ 𝜆 1 ( 𝐁 ) Δ ( ⃗ 𝑡 , L ( 𝐁 ) ) = Δ ( ⃗ 𝑡 ∗ ⋯ ∗ , L ( 2 𝐁 ) ) ⟹ . Therefore, repeating the above procedure𝛼 ( ⃗ 𝑡 ∗ ⋯ ∗ , 2 𝐁 ) = 1 2 𝛼 ( ⃗ 𝑡 , 𝐁 ) -times results in the updated target vector𝑘 with a sublattice basis⃗ 𝑡 k times ⏞ ∗ ⋯ ∗ and2 𝑘 𝐁 = [ 2 𝑘 ⃗ 𝑏 1 , ⋯ , 2 𝑘 ⃗ 𝑏 𝑛 ] 𝛼 ( ⃗ 𝑡 k times ⏞ ∗ ⋯ ∗ , 2 𝑘 𝐁 ) = 1 2 𝑘 𝛼 ( ⃗ 𝑡 , 𝐁 ) . Unfortunately, the solver doesn’t know
! To address that, let𝜆 1 ( 𝐁 ) be the length of the shortest basis vector of𝐿 = m i n 1 ≤ 𝑖 ≤ 𝑛 { ‖ ⃗ 𝑏 𝑖 ‖ } . By definition,𝐁 , therefore𝜆 1 ( 𝐁 ) ≤ 𝐿 Δ ( ⃗ 𝑡 , L ( 𝐁 ) ) 𝐿 ≤ Δ ( ⃗ 𝑡 , L ( 𝐁 ) ) 𝜆 1 ( 𝐁 ) ⟹ 𝑑 † 2 𝑘 ⋅ 𝐿 = Δ ( ⃗ 𝑡 k times ⏞ ∗ ⋯ ∗ , L ( 𝐁 k times ⏞ ∗ ⋯ ∗ ) ) 2 𝑘 ⋅ 𝐿 ≤ Δ ( ⃗ 𝑡 k times ⏞ ∗ ⋯ ∗ , L ( 𝐁 k times ⏞ ∗ ⋯ ∗ ) ) 2 𝑘 ⋅ 𝜆 1 ( 𝐁 ) . Therefore, to ensure
it’s sufficient to iterate the above stepŝ 𝛼 ( ⃗ 𝑡 k times ⏞ ∗ ⋯ ∗ , 2 𝑘 ⋅ 𝐁 ) < 𝛼 -times, where𝑘 𝑘 ≥ ⌈ l o g 2 ( 𝑑 † 𝛼 ⋅ 𝐿 ) ⌉ ( 21 ) As proved in the next subsection, Babai’s nearest plane approximation algorithm acts as an
𝛼 -BDDsolver for . Substituting this value of𝛼 = 1 1 + 2 𝑛 / 2 in (21) leads to𝛼 𝑘 ≥ ⌈ l o g 2 ( 1 + 2 𝑛 / 2 ) + l o g 2 ( 𝑑 † / 𝐿 ) ⌉ ∈ 𝑂 ( 𝑛 ) .
-
The exact steps of the reduction are described below:
Search-CVP solver via
-BDD 1 1 + 2 𝑛 / 2
- Compute
𝐿 = m i n 1 ≤ 𝑖 ≤ 𝑛 { ‖ ⃗ 𝑏 𝑖 ‖ } setiteration count𝑘 = ⌈ l o g 2 ( 1 + 2 𝑛 / 2 ) + l o g 2 ( 𝑑 † / 𝐿 ) ⌉ setdisplacement vector⃗ ℎ = ⃗ 0 ∈ L ( 𝐁 )
for𝑖 ← 1 ⋯ 𝑘 do
for𝑗 = 1 ⋯ 𝑛 do
Let the basis so far be
, 𝐁 = [ ⃗ 𝑏 1 , ⋯ , ⃗ 𝑏 𝑛 ] updatebasis:𝐁 ← [ ⃗ 𝑏 1 , ⋯ , ⃗ 𝑏 𝑗 − 1 , 2 ⋅ ⃗ 𝑏 𝑗 , ⃗ 𝑏 𝑗 + 1 , ⋯ , ⃗ 𝑏 𝑛 ]
invoke𝜉 ← Decisional-CVPand ( 𝐁 , ⃗ 𝑡 , 𝑑 † ) update⃗ 𝑡 ← ⃗ 𝑡 + ( 1 − 𝜉 ) ⋅ ⃗ 𝑏 𝑗 ⃗ ℎ ← ⃗ ℎ + ( 1 − 𝜉 ) ⋅ ⃗ 𝑏 𝑗
computeLLLreduced basis. ̃ 𝐁 ← LLL ( 𝐁 )
invoke⃗ 𝑥 ← 𝛼 -BDD. ( ̃ 𝐁 , ⃗ 𝑡 ) return. ⃗ 𝑥 − ⃗ ℎ
Note: Even though the BDD oracle is invoked on
LLL reduced basis, the closeness of
The next subsection describes Babai’s nearest plane algorithm and proves
that it solves -BDD exactly for
Polynomial time algorithm for 1 1 + 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
(Babai's Nearest Plane Algorithm)
- Input
- A non-singular lattice basis
𝐁 = { 𝑏 𝑖 } ∈ ℤ 𝑛 × 𝑛 - A target vector
⃗ 𝑡 ∈ ℚ 𝑛 - Output
⃗ 𝑥 ∈ L ( 𝐁 ) such that⃗ 𝑒 ∈ P ( 𝐁 ⟂ ) where⃗ 𝑡 = ⃗ 𝑥 + ⃗ 𝑒 is fundamental domain of Gram-Schmidt orthogonal basis.P ( 𝐁 ⟂ )
The algorithm works by computing the Gram-Schmidt orthogonal basis
In more detail:
Compute Gram-Schmidt orthogonal basis
𝐁 ⟂ : = [ ⃗ 𝑏 ⟂ 1 , ⋯ , ⃗ 𝑏 ⟂ 𝑛 ] ← gso ( 𝐁 ) ∈ ℚ 𝑛 × 𝑛
Initializeerror term⃗ 𝑒 ← ⃗ 𝑡 ∈ ℚ 𝑛
Initialize“close” lattice⃗ 𝑥 ← ⃗ 0 ∈ ℤ 𝑛
for𝑖 ← 𝑛 ⋯ 1 do
Compute
𝑘 : = ⌊ ⟨ ⃗ 𝑒 , ⃗ 𝑏 ⟂ 𝑖 ⟩ ∥ ⃗ 𝑏 ⟂ 𝑖 ∥ 2 ⌉ ∈ ℤ
⃗ 𝑒 ← ⃗ 𝑒 − 𝑘 ⋅ ⃗ 𝑏 𝑖
⃗ 𝑥 ← ⃗ 𝑥 + 𝑘 ⋅ ⃗ 𝑏 𝑖
Return. ( ⃗ 𝑥 , ⃗ 𝑒 )
For an arbitrary (bad) basis Search-CVP
More generally, suppose Babai’s nearest plane algorithm returns
Search-CVP, i.e.,
Search-CVP exactly in polynomial time.
By triangle inequality
By assumption, for an -BDD instance,
-BDD promise implies
On the other hand, if
In other words, if Search-CVP!
For example, if LLL reduced
basis, then for Search-CVP.
Sanity Check: If -BDD.
-
D. Aharonov and O. Regev, “Lattice problems in
,” in Journal of the ACM (JACM), Volume 52, Issue 5., Pages 749 - 765. ↩𝖭 𝖯 ∩ 𝖼 𝗈 𝖭 𝖯 -
S. Khot, “Hardness of approximating the shortest vector problem in lattices,” in Journal of the ACM (JACM), Volume 52, Issue 5., Pages 789 - 808 ↩
-
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. ↩
-
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
-
H. Bennett and C. Peikert, “Hardness of Bounded Distance Decoding on Lattices in
Norms,” in 35th Computational Complexity Conference (CCC 2020). Available Online ↩ℓ 𝑝 -
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
-
P. v. E. Boas, “Another
-complete partition problem and the complexity of computing short vectors in a lattice,” Technical Report, 1981. Available Online ↩𝖭 𝖯 -
M. R. Garey and D. S. Johnson, “Computers and Intractability: A Guide to the Theory of
NP-Completeness,” W. H. Freeman, 1979. ↩ -
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 ↩
-
R. Kannan, “Minkowski’s convex body theorem and integer programming,” Mathematics of Operations Research, 12(3), 1987. Pages 415–440 ↩ ↩2
-
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 ↩
Comments
You can use MathJax/TeX syntax in comments and check rendered text in Preview tab.