Content deleted Content added
Citation bot (talk | contribs) Alter: chapter, title. Add: chapter. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox3 | #UCB_webform_linked 1106/2306 |
|||
(19 intermediate revisions by 10 users not shown) | |||
Line 1:
{{Short description|Optimization problem in computer science}}
In [[computer science]], '''lattice problems''' are a class of [[Mathematical optimization|optimization]] problems related to mathematical objects called ''[[Lattice (group)|lattices]]''. The conjectured [[Intractable problem|intractability]] of such problems is central to the construction of secure [[Lattice-based cryptography|lattice-based cryptosystems]]:
For all the problems below, assume that we are given (in addition to other more specific inputs) a [[Basis (linear algebra)|basis]] for the vector space ''V'' and a [[Norm (mathematics)|norm]] ''N''. The norm usually considered is the Euclidean norm [[Norm (mathematics)#Euclidean norm|''L''<sup>2</sup>]]. However, other norms (such as [[Norm (mathematics)#p-norm|''L''<sup>''p''</sup>]]) are also considered and show up in a variety of results.<ref>{{cite journal |author-link=Subhash Khot |first=Subhash |last=Khot |title=Hardness of approximating the shortest vector problem in lattices |journal=J. ACM |volume=52 |issue=5 |year=2005 |pages=789–808 |doi=10.1145/1089023.1089027 |s2cid=13438130 }}</ref>
Throughout : <math>\lambda(L) = \min_{v \in L \smallsetminus \{\mathbf{0}\}} \|v\|_N.</math>
== Shortest vector problem (SVP) ==
[[File:SVP.svg|thumb|left|This is an illustration of the shortest vector problem (basis vectors in blue, shortest vector in red).]]
In the SVP, a [[Basis (linear algebra)|basis]] of a [[vector space]] ''V'' and a [[Norm (mathematics)|norm]] ''N'' (often [[Norm (mathematics)#Euclidean norm|''L''<sup>2</sup>]]) are given for a lattice ''L'' and one must find the shortest non-zero vector in ''V'', as measured by ''N'', in ''L''. In other words, the algorithm should output a non-zero vector ''v'' such that
In the γ-approximation version SVP<sub>γ</sub>, one must find a non-zero lattice vector of length at most <math>\gamma \cdot \lambda(L)</math> for given
=== Hardness results ===
The exact version of the problem is only known to be [[NP-hard]] for randomized reductions.<ref name="ajtai" /><ref name="Ajtai 1998 10–19">{{cite book |first=Miklós |last=Ajtai |chapter=The shortest vector problem in ''L''<sub>2</sub>
=== Algorithms for the Euclidean norm ===
To solve the exact version of the SVP under the Euclidean norm, several different approaches are known, which can be split into two classes: algorithms requiring superexponential time (<math>2^{\omega(n)}</math>) and <math>\operatorname{poly}(n)</math> memory, and algorithms requiring both exponential time and space (<math>2^{\Theta(n)}</math>) in the lattice dimension. The former class of algorithms most notably includes lattice enumeration<ref>{{Cite book|last=Kannan|first=Ravi|chapter=Improved algorithms for integer programming and related lattice problems |title=Proceedings of the fifteenth annual ACM symposium on Theory of computing - STOC '83|date=1983
To solve the γ-approximation version SVP<sub>γ</sub> for <math>\gamma > 1</math> for the Euclidean norm, the best known approaches are based on using [[lattice basis reduction]]. For large
==GapSVP==
The problem GapSVP<sub>β</sub> consists of distinguishing between the instances of SVP in which the length of the shortest vector is at most <math>1</math> or larger than
Yet another version of the problem is GapSVP<sub>ζ,
== Closest vector problem (CVP) ==
[[File:CVP.svg|thumb|left|This is an illustration of the closest vector problem (basis vectors in blue, external vector in green, closest vector in red).]]
In CVP, a basis of a vector space ''V'' and a [[Metric (mathematics)|metric]] ''M'' (often [[Euclidean distance|''L''<sup>2</sup>]]) are given for a lattice ''L'', as well as a vector ''v'' in ''V'' but not necessarily in ''L''. It is desired to find the vector in ''L'' closest to ''v'' (as measured by ''M''). In the <math>\gamma</math>-approximation version CVP<sub>γ</sub>, one must find a lattice vector at distance at most <math>\gamma</math>.
=== Relationship with SVP ===
The closest vector problem is a generalization of the shortest vector problem. It is easy to show that given an [[oracle machine|oracle]] for CVP<sub>γ</sub> (defined below), one can solve SVP<sub>γ</sub> by making some queries to the oracle.<ref>{{cite book |first1=Daniele |last1=Micciancio |author-link2=Shafi Goldwasser |first2=Shafi |last2=Goldwasser |title=Complexity of Lattice Problems |publisher=Springer |year=2002 }}</ref> The naive method to find the shortest vector by calling the CVP<sub>γ</sub> oracle to find the closest vector to
The reduction from SVP<sub>γ</sub> to CVP<sub>γ</sub> is as follows: Suppose that the input to the SVP<sub>γ</sub> is the basis for lattice <math>B=[b_1,b_2,\ldots,b_n]</math>. Consider the basis <math>B^i=[b_1,\ldots,2b_i,\ldots,b_n]</math> and let <math>x_i</math> be the vector returned by {{nowrap|CVP<sub>γ</sub>(''B''<sup>''i''</sup>, ''b''<sub>''i''</sub>)}}. The claim is that the shortest vector in the set <math>\{x_i-b_i\}</math> is the shortest vector in the given lattice.
=== Hardness results ===
Goldreich et al. showed that any hardness of SVP implies the same hardness for CVP.<ref>{{cite journal |first=O. |last=Goldreich |title=Approximating shortest lattice vectors is not harder than approximating closest lattice vectors |journal=Inf. Process. Lett. |volume=71 |issue=2 |year=1999 |pages=55–61 |doi=10.1016/S0020-0190(99)00083-6 |display-authors=etal}}</ref> Using [[Probabilistically checkable proof (complexity)|PCP]] tools, [[Sanjeev Arora|Arora]] et al. showed that CVP is hard to approximate within factor <math>2^{\log^{1-\epsilon}(n)}</math> unless <math>\operatorname{NP} \subseteq \operatorname{DTIME}(2^{\operatorname{poly}(\log n)})</math>.<ref>{{cite
=== Sphere decoding ===
Algorithms for CVP, especially the Fincke and Pohst variant,<ref name=":0">{{cite journal |last1=Fincke |first1=U. |last2=Pohst |first2=M. |title=Improved Methods for Calculating Vectors of Short Length in a Lattice, Including a Complexity Analysis |journal=Math. Comp. |volume=44 |issue=170 |pages=463–471 |year=1985 |doi=10.1090/S0025-5718-1985-0777278-8 |doi-access=free }}</ref> have been used for data detection in multiple-input multiple-output ([[MIMO]]) wireless communication systems (for coded and uncoded signals).<ref>{{cite book |last1=Biglieri |first1=E. |last2=Calderbank |first2=R. |author-link3=Anthony G. Constantinides |first3=Anthony G. |last3=Constantinides |last4=Goldsmith |first4=A. |last5=Paulraj |first5=A. |last6=Poor |first6=H. V. |title=MIMO Wireless Communications |publisher=Cambridge U. P. |___location=Cambridge |year=2007 }}</ref><ref name=":2">{{cite journal |last1=Agrell |first1=E. |last2=Eriksson |first2=T. |last3=Vardy |first3=A. |last4=Zeger |first4=K. |title=Closest Point Search in Lattices |journal=IEEE Trans. Inf. Theory |volume=48 |issue=8 |pages=2201–2214 |year=2002 |doi=10.1109/TIT.2002.800499 |url=
It has been applied in the field of the integer ambiguity resolution of carrier-phase GNSS (GPS).<ref>{{cite journal |last1=Hassibi |first1=A. |last2=Boyd |first2=S. |title=Integer Parameter Estimation in Linear Models with Applications to GPS |journal=IEEE Trans. Sig. Proc. |volume=46 |issue=11 |pages=2938–2952 |year=1998 |doi=10.1109/78.726808 |bibcode=1998ITSP...46.2938H |citeseerx=10.1.1.114.7246 }}</ref> It is called the ''[[Peter J. G. Teunissen|LAMBDA method]]'' in that field. In the same field, the general CVP problem is referred to as ''Integer Least Squares''.
== GapCVP ==
This problem is similar to the GapSVP problem. For GapSVP<sub>β</sub>, the input consists of a lattice basis and a vector <math>v</math>, and the algorithm must answer whether one of the following holds:
* there is a lattice vector such that the distance between it and <math>v</math> is at most 1
* every lattice vector is at a distance greater than <math>\beta</math> away from <math>v</math>.
The opposite condition is that the closest lattice vector is at a distance <math>1 < \lambda(L) \leq \beta</math>, hence the name ''Gap''CVP.
=== Known results ===
The problem is trivially contained in [[NP (complexity)|NP]] for any approximation factor.
[[Claus P. Schnorr|Schnorr]], in 1987, showed that deterministic polynomial time algorithms can solve the problem for <math>\beta=2^{O(n(\log \log n)^2/\log n)}</math>.<ref>{{cite book |first=C. P. |last=Schnorr |chapter=Factoring integers and computing [[discrete logarithm]]s via diophantine approximation |title=Advances in Cryptology – Proceedings of Eurocrypt '91 }}</ref> Ajtai et al. showed that probabilistic algorithms can achieve a slightly better approximation factor of <math>\beta=2^{O(n \log \log n/\log n)}</math>.<ref name=":1">{{cite book |first1=Miklós |last1=Ajtai |first2=Ravi |last2=Kumar |first3=D. |last3=Sivakumar |chapter=A sieve algorithm for the shortest lattice vector problem |title=Proceedings of the thirty-third annual ACM symposium on Theory of computing |___location=Hersonissos, Greece |publisher=ACM |year=2001 |pages=601–610 |doi=10.1145/380752.380857 |isbn=
In 1993, Banaszczyk showed that GapCVP<sub>n</sub> is in <math>\mathsf{NP \cap coNP}</math>.<ref>{{cite journal |first=W. |last=Banaszczyk |title=New bounds in some transference theorems in the geometry of numbers |journal=[[Mathematische Annalen|Math. Ann.]] |volume=296 |year=1993 |issue=1 |pages=625–635 |doi=10.1007/BF01445125 |s2cid=13921988 }}</ref> In 2000, Goldreich and Goldwasser showed that <math>\beta=\sqrt{n/\log n}</math> puts the problem in both NP and [[coAM]].<ref>{{cite book |first1=Oded |last1=Goldreich |first2=Shafi |last2=Goldwasser |chapter=On the limits of non-approximability of lattice problems |title=Proceedings of the thirtieth annual ACM symposium on Theory of computing |___location=Dallas, Texas, United States |publisher=ACM |year=1998 |pages=1–9 |doi=10.1145/276698.276704 |isbn=
For lower bounds, Dinur et al. showed in 1998 that the problem is NP-hard for <math>\beta=n^{o(1/\log{\log{n}})}</math>.<ref>{{cite book |first1=I. |last1=Dinur |first2=G. |last2=Kindler |first3=S. |last3=Safra |chapter=Approximating-CVP to within Almost-Polynomial Factors is NP-Hard |title=Proceedings of the 39th Annual Symposium on Foundations of Computer Science |publisher=IEEE Computer Society |year=1998 |
== Shortest independent vectors problem (SIVP) ==
Given a lattice L of dimension ''n'', the algorithm must output ''n'' [[linearly independent]] <math>v_1, v_2, \ldots, v_n</math> so that <math>\max \|v_i\| \leq \max_B \|b_i\|</math>, where the right
In the <math>\gamma</math>-approximate version, given a lattice L with dimension ''n'', one must find ''n'' [[linearly independent]] vectors <math>v_1, v_2,\ldots, v_n</math> of length
== Bounded distance decoding ==
This problem is similar to CVP. Given a vector such that its distance from the lattice is at most <math>\lambda(L)/2</math>, the algorithm must output the closest lattice vector to it.
== Covering radius problem ==
Given a basis for the lattice, the algorithm must find the largest distance (or in some versions, its approximation) from any vector to the lattice.
== Shortest basis problem ==
Many problems become easier if the input basis consists of short vectors. An algorithm that solves the Shortest Basis Problem (SBP) must, given a lattice basis
The approximation version SBP<sub>γ</sub> problem consist of finding a basis whose longest vector is at most <math>\gamma</math> times longer than the longest vector in the shortest basis.
== Use in cryptography ==
{{main|Lattice-based cryptography}}
[[Average case|Average-case]] hardness of problems forms a basis for proofs-of-security for most cryptographic schemes. However, experimental evidence suggests that most NP-hard problems lack this property: they are probably only worst case hard. Many lattice problems have been conjectured or proven to be average-case hard, making them an attractive class of problems to base cryptographic schemes on. Moreover, worst-case hardness of some lattice problems have been used to create secure cryptographic schemes. The use of worst-case hardness in such schemes makes them among the very few schemes that are very likely secure even against [[quantum computers]].
The above lattice problems are easy to solve if the algorithm is provided with a "good" basis. [[Lattice reduction]] algorithms aim, given a basis for a lattice, to output a new basis consisting of relatively short, nearly [[orthogonal]] vectors. The [[Lenstra–Lenstra–Lovász lattice basis reduction algorithm]] (LLL) was an early efficient algorithm for this problem which could output an almost reduced lattice basis in polynomial time.<ref>{{cite journal |first1=A. K. |last1=Lenstra |first2=H. W.
In his seminal papers, Ajtai showed that the SVP problem was NP-hard and discovered some connections between the worst-case complexity and [[average-case complexity]] of some lattice problems.<ref name="ajtai" /><ref name="Ajtai 1998 10–19"/> Building on these results, Ajtai and [[Cynthia Dwork|Dwork]] created a [[public-key cryptosystem]] whose security could be proven using only the worst case hardness of a certain version of SVP,<ref>{{cite book |first1=Miklós |last1=Ajtai |first2=Cynthia |last2=Dwork |chapter=A public-key cryptosystem with worst-case/average-case equivalence |title=Proceedings of the Twenty-Ninth annual ACM symposium on Theory of computing |___location=El Paso, Texas, United States |publisher=ACM |year=1997 |pages=284–293 |doi=10.1145/258533.258604 |isbn=
== See also ==
* [[Learning with errors]]
* [[Short integer solution problem]]
== References ==
{{reflist|colwidth=30em}}
== Further reading ==
* {{cite journal |author1=Agrell, E. |author2=Eriksson, T. |author3=Vardy, A. |author4=Zeger, K. |year=2002 |title=Closest Point Search in Lattices |journal=IEEE Trans. Inf. Theory |volume=48 |issue=8 |pages=2201–2214 |doi=10.1109/TIT.2002.800499 |url=
* {{cite journal |first=Daniele |last=Micciancio |title=The Shortest Vector Problem is {NP}-hard to approximate to within some constant |journal=SIAM Journal on Computing |year=2001 |volume=30 |issue=6 |pages=2008–2035 |doi=10.1137/S0097539700373039 |url=http://cseweb.ucsd.edu/~daniele/papers/SVP.html |citeseerx=10.1.1.93.6646 |s2cid=42794945 }}
* {{cite book |first1=Phong Q. |last1=Nguyen |first2=Jacques |last2=Stern |chapter=Lattice Reduction in Cryptology: An Update |title=Proceedings of the 4th International Symposium on Algorithmic Number Theory |publisher=Springer-Verlag |year=2000 |pages=85–112 |isbn=978-3-540-67695-9 |chapter-url=http://dl.acm.org/citation.cfm?id=749906 }}
|