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 ↩︎