In this post, we discuss an important class of algebraic structures known as
Hardness of problems
Computational hardness usually revolves around problems with worst-case hardness guarantees since we want to design algorithms that run efficiently even on the worst possible input.
On the other hand, cryptographic schemes require security guarantees for random keys. Therefore, cryptographic applications require problems with average-case hardness guarantees.
However, it is not immediately apparent how to create hard instances of problems with worst-case hardness guarantees. In other words, how to design the most secure keys for cryptographic applications is unclear.
Any random instance of a problem with average-case hardness guarantee is hard with a positive probability. Suppose one could show that such a random instance is as hard as the hardest instance (a reduction from average-case hardness to worst-case hardness). In that case, such a reduction immediately lends itself to applications in cryptography. This reduction is precisely the central thesis of the seminal work Ajtai'96 1.
Lattice-based Cryptography
What is a Lattice?
A Lattice
or is defined as the set of all integer linear combinations of linearly independent -dimensional vectors . Formally, we denote lattices as
The set
Why do we need Lattice-based Cryptography?
Ajtai'96 1 showed reductions from lattice based problems with average-case hardness guarantees to lattice problems with worst-case guarantees.
Let
be the class of lattice based problems defined in Ajtai'96 1. Then, the above reduction implies that any randomly sampled instance of is as computationally hard to solve as the hardest instance in .
For reasons discussed above, this immediately makes lattices an extremely important tool in cryptography. In fact, lattice based cryptographic constructions are invaluable for their many potential advantages as follows:
- Lattice-based schemes usually only require linear operations on integers which leads to asymptotic efficiency.
- Lattice-based schemes have been shown to be resistant to cryptanalysis by quantum algorithms unlike current classical cryptographic schemes which are based on factoring or discrete log (Shor'95 2). This makes lattice-based cryptography the cornerstone of post-quantum cryptography.
- As noted earlier, random instances of lattice based constructions are “as hard as possible”, which lends itself to conceptual simplicity while designing cryptographic schemes.
Hard Lattice problems w/ known worst-case hardness guarantees
In this section, we discuss a few lattice problems with known worst-case hardness guarantees.
Shortest Vector Problem
In the
- It is known that the approximate (and also decision) SVP is NP-hard under a randomized reduction.3
Shortest Independent Vector Problem
The goal of the
- SIVP is NP-hard to approximate for any constant approximation factor.4
Shortest Basis Problem
The
Later in this post we will see the connection between the above problems.
Constructing random instances of a Hard Lattice problem
In this section, we show a reduction from randomly generated lattices to instances of one of these problems. We now state some important results from Ajtai'961 and Ajtai'995 which deal with the construction of random instances of hard lattice problems. The following lemma shows that hardness of SBP by reduction to SVP.
Lemma 1 (Ajtai'96)
If
has no polynomial time solution for , then we can generate a random lattice (over some distribution ) together with a “short” vector in polynomial time s.t. there is no algorithm which can find a vector shorter than in over w.p. greater than , for sufficiently large and any .
Note: Here “short'' refers to
Theorem 2 (Main Theorem, Ajtai'99)
If
has no polynomial time solution for , then we can generate a random lattice (from the same distribution as in Lemma 1 together with a “short” basis of in polynomial time s.t. there is no algorithm which can find a vector shorter than in over w.p. greater than , for sufficiently large and any .
As we see, Theorem 2 clearly gives us a way to construct a random instance of a hard problem (
The SIS problem
In this section, we take a deeper dive into the special class of random lattices given by Ajtai'961, where it was shown how to
- Construct a family of one-way functions (based on the earlier family of random lattices as seen in Lemma 1), s.t.,
- If we invert any function from this family of functions with non-negligible probability, it implies that we can solve any instance of the
for .
Therefore, by the previous discussion, we see that the above construction implies an average-case to worst-case reduction. GGH116 later extended the analysis of Ajtai96 to show that the family of one-way functions is also collision-resistant, which is a stronger and more useful property for cryptographic applications.
We now define the SIS problem and state a lemma (without proof) of its hardness.
Short Integer Solution ( )
Let
be a uniformly random matrix , i.e. , consists of uniformly random vectors . Find a nontrivial , s.t. and .
Here
We also note here that without the constraint
Hardness of
For any
, any , and any sufficiently large (for any constant ), solving with nonnegligible probability is at least as hard as solving and for some with a high probability in the worst-case scenario.
Now we turn our attention to the construction of GGH116 based on the hardness of
A specific CRHF construction (GGH11)
We define a Collision-Resistant Hash function (CRHF) as follows:
- Set
. - Key: A matrix
chosen uniformly at random from . - Hash function: Define a Shrinking function (shrinking since the domain is greater than the range):
s.t. . - Goal: Find
s.t. .
Note that finding a solution to the collision problem yields a solution
We now define a class of random lattices known as
-ary lattices and connect it to the problem.
-ary Lattices at last!
Given
, -ary lattices are defined as
We note that the randomness of
Here, we see that we have successfully characterized a lattice in terms of a parity check matrix
Lemma 2 (Ajtai96)
Finding short
s.t. , implies solving on any n-dimensional lattice.
Properties of -ary Lattices
- A
-ary lattice satisfies for . - Any integer lattice
is a -ary lattice for some , e.g., whenever q is an integer multiple of the determinant . We are only interested when is much smaller than . - The following two problems are equivalent:
- Finding a short vector in
s.t. . - Finding a short solution to a set of
random equations modulo in variables.
- Finding a short vector in
- The dual of any
-ary lattice is also a -ary lattice. We represent the dual of a -ary lattice using the notation , which is defined as- Here
is the code generated by the rows of , i.e., itself is the generator matrix of the code. Contrast this with where is the parity check matrix.
- Here
References
Ajtai96: M. Ajtai. 1996. Generating hard instances of lattice problems (extended abstract). In Proceedings of the twenty-eighth annual ACM symposium on Theory of Computing (STOC ‘96). Association for Computing Machinery, New York, NY, USA, 99–108. https://doi.org/10.1145/237814.237838 ↩︎
Shor95: Peter W. Shor. 1997. Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. SIAM J. Comput. 26, 5 (Oct. 1997), 1484–1509. https://doi.org/10.1137/S0097539795293172 ↩︎
BP23: Huck Bennett and Chris Peikert. Hardness of the (Approximate) Shortest Vector Problem: A Simple Proof via Reed-Solomon Codes. In Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques (APPROX/RANDOM 2023). Leibniz International Proceedings in Informatics (LIPIcs), Volume 275, pp. 37:1-37:20, Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2023). https://doi.org/10.4230/LIPIcs.APPROX/RANDOM.2023.37 ↩︎
BS99: Johannes Blömer and Jean-Pierre Seifert. On the complexity of computing short linearly independent vectors and short bases in a lattice. In Proceedings of the Thirty-first Annual ACM Symposium on Theory of Computing, STOC ’99, pages 711–720, New York, NY, USA, 1999. ACM. ↩︎
Ajtai99: Miklós Ajtai. 1999. Generating Hard Instances of the Short Basis Problem. In Proceedings of the 26th International Colloquium on Automata, Languages and Programming (ICAL ‘99). Springer-Verlag, Berlin, Heidelberg, 1–9. ↩︎
GGH11: O. Goldreich, S. Goldwasser, and S. Halevi. Collision-free hashing from lattice problems. Studies in Complexity and Cryptography. Miscellanea on the Interplay between Randomness and Computation: In Collaboration with Lidor Avigad, Mihir Bellare, Zvika Brakerski, Shafi Goldwasser, Shai Halevi, Tali Kaufman, Leonid Levin, Noam Nisan, Dana Ron, Madhu Sudan, Luca Trevisan, Salil Vadhan, Avi Wigderson, David Zuckerman, pages 30–39, 2011 ↩︎