Appendix: Lattice problems
A quick primer to essential notions useful in post-quantum cryptography. While this aims to be precise, it cannot and will not be exhaustive; please check out the wealth of resources available to students of cryptography1.
SIS problem
(Inhomogenous) Short Integer Solutions problem 2
Given
- \(A \overset{R}{\leftarrow}\mathbb{Z}_q^{n\times m}\), an \((n\times m)\) matrix with random entries in \(\mathbb{Z}_q\),
- \(b \overset{R}{\leftarrow}\mathbb{Z}_q^{m}\), an \((m \times 1)\) vector with random entries in \(\mathbb{Z}_q\),
find \(z \in\mathbb{Z}^{m}\) such that \(Az=b\pmod{q}\) and \(z\in[-B,B]^m\).
Parameters
- If \(n>m\), no solution exists.
- If \((2B+1)^m \gg q^n\) i.e., \(m \gg (n \log q)/\log(2B + 1)\), a solution is likely to exist.
Equivalence: SIS
Inhomogeneous indicates that \(b\neq 0\). The SIS problem with \(b=0\) is of equivalent difficulty.
LWE problem
Learning With Errors problem 3
Let
- \(s \overset{R}{\leftarrow}\mathbb{Z}_q^{n}\) a vector with random entries in \(\mathbb{Z}_q\) – a secret;
- \(e \overset{R}{\leftarrow} [-B,B]^m\) with \(B \ll q/2\) – a small error.
Given
- \(A \overset{R}{\leftarrow}\mathbb{Z}_q^{m\times n}\) an \(m\times n\) matrix with random entries in \(\mathbb{Z}_q\),
- \(b = As+e \pmod{q}\),
find \(s\).
Parameters
- If \(e=0\) (\(B=0\)), a solution is easy to find.
- If \(B=(q-1)/2\), a solution is impossible to find; assume \(B<q/4\).
- If \(m\gg n\), an unique solution is likely to exist.
- However, if also \(B\ll\sqrt{n}\), a solution can be easy to find.
Equivalence: DLWE, ss-LWE
The difficulty of solving the LWE problem has been proved equivalent to:
- the Decisional LWE (DLWE) problem: distinguish whether a given \(\tilde{b}\) is a solution to an LWE instance or a random vector in \(\mathbb{Z}_q^{m}\);
- the short-secret LWE (ss-LWE) problem: same as LWE but with smaller coefficients in \(s\), more precisely \(s \overset{R}{\leftarrow}[-B,B]^m\) a vector with random entries in \([-B,B]^m\) rather than \(\mathbb{Z}_q\).
References
Menezes, A. J. (2024). Cryptography 101. https://cryptography101.ca/. ↩︎
Ajtai, M. (1996). Generating hard instances of lattice problems (extended abstract). STOC 96, 99–108. https://doi.org/10.1145/237814.237838 ↩︎
Regev, O. (2005). On lattices, learning with errors, random linear codes, and cryptography. STOC 96, 84–93. https://doi.org/10.1145/1060590.1060603 ↩︎