thesis/sec-lattices.tex

178 lines
14 KiB
TeX
Raw Normal View History

2018-01-15 11:56:09 +00:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \section{Lattice-Based Cryptography} %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2018-04-10 08:32:28 +00:00
During the last decade, lattice-based cryptography has emerged as a promising candidate for post-quantum cryptography.
2018-02-16 14:54:03 +00:00
For example, on the first round of the NIST post-quantum competition, there are 28 out of 82 submissions from lattice-based cryptography~\cite{NIS17}.
Lattice-based cryptography takes advantage of a simple mathematical structure, the so-called lattices, in order to provide beyond encryption and signature cryptography.
For instance, fully homomorphic encryption~\cite{Gen09,GSW13} are only possible in the lattice-based world for now.
2018-01-27 20:27:06 +00:00
2018-04-10 15:11:38 +00:00
In the context of provable security, lattice assumptions benefit from a worst-case to average-case reduction~\cite{Reg05,GPV08,MP12,AFG14}.
Concurrently, worst-case lattice problems have been extensively analyzed in the last decade~\cite{ADS15,ADRS15,HK17}, both classically and quantumly.
2018-02-16 14:54:03 +00:00
This gives us a good confidence in the lattice-based assumptions (given the \emph{caveats} of Chapter~\ref{ch:proofs}) such as Learning with Errors ($\LWE$) and Short Integer Solutions ($\SIS$) that are defined in Section~\ref{sse:lattice-problems}. The rest of this section will describe some useful algorithms that relies on \emph{lattice trapdoors}.
2018-01-27 20:27:06 +00:00
2018-01-15 11:56:09 +00:00
\subsection{Lattices and Hard Lattice Problems}
2018-01-23 14:34:23 +00:00
\label{sse:lattice-problems}
2018-04-04 16:46:37 +00:00
\addcontentsline{tof}{subsection}{\protect\numberline{\thesubsection} Réseaux euclidiens et problèmes difficiles}
2018-01-23 14:34:23 +00:00
\begin{figure}
\centering
2018-02-02 15:07:17 +00:00
\input fig-lattice-base
2018-01-23 14:34:23 +00:00
\caption{A lattice $\Lambda$ with two different basis.}
\label{fig:lattice-basis}
\end{figure}
2018-02-16 14:54:03 +00:00
A (full-rank) lattice~$\Lambda$ is defined as the set of all integer linear combinations of some linearly independent basis vectors~$(\mathbf{b}_i^{})^{}_{1\leq i \leq n}$ belonging to some~$\RR^n_{}$.
2018-02-28 17:02:30 +00:00
The integer~$n$ denotes the \emph{dimension} of the lattice.
A lattice basis is not unique, as illustrated in Figure~\ref{fig:lattice-basis} with a dimension $2$ lattice.
In the following, we work with $q$-ary lattices, for some prime number $q$, defined as follows.
\begin{definition}[$q$-ary lattices] \label{de:qary-lattices} \index{Lattices}
Let two integers~$m \geq n \geq 1$, a prime~$q \geq 2$, a matrix $\mathbf{A} \in \ZZ_q^{n \times m}$ and a vector~$\mathbf{u} \in \ZZ_q^n$, define
\begin{align*}
2018-03-19 16:30:35 +00:00
\Lambda_q^{}(\mathbf{A}) & \triangleq \{ \mathbf{e} \in \ZZ^m_{} \mid \exists~\mathbf{s} \in \ZZ_q^n ~\text{ s.t. }~\mathbf{A}^T_{} \cdot \mathbf{s} = \mathbf{e} \bmod q \} \text{ as well as}\\
2018-02-28 17:02:30 +00:00
\Lambda_q^{\perp} (\mathbf{A}) & \triangleq \{\mathbf{e} \in \ZZ^m_{} \mid \mathbf{A} \cdot \mathbf{e} = \mathbf{0}^n \bmod q \} \text{, and}\\
\Lambda_q^{\mathbf{u}} (\mathbf{A}) & \triangleq \{\mathbf{e} \in \ZZ^m_{} \mid \mathbf{A} \cdot \mathbf{e} = \mathbf{u} \bmod q \}.
\end{align*}
For any lattice point $\mathbf{t} \in \Lambda_q^{\mathbf{u}} (\mathbf{A})$, it holds that $\Lambda_q^{\mathbf{u}}(\mathbf{A})=\Lambda_q^{\perp}(\mathbf{A}) + \mathbf{t}$. Meaning that $\Lambda_q^{\mathbf{u}} (\mathbf{A}) $
is a shift of $\Lambda_q^{\perp} (\mathbf{A})$.
2017-12-19 14:25:47 +00:00
\end{definition}
2018-04-11 15:35:11 +00:00
\begin{definition}[Gaussian distribution over a lattice] \index{Probability!Gaussian distribution}
2018-02-28 17:02:30 +00:00
For a lattice~$\Lambda$, a vector $\mathbf{c} \in \RR^n$ and a real~$\sigma>0$, define the distribution function
$\rho_{\sigma,\mathbf{c}}(\mathbf{x}) \triangleq \exp(-\pi\|\mathbf{x}- \mathbf{c} \|^2/\sigma^2)$.
The discrete Gaussian distribution of support~$\Lambda$, parameter~$\sigma$ and center $\mathbf{c}$ is defined as
$D_{\Lambda,\sigma,\mathbf{c}}(\mathbf{y}) = \rho_{\sigma,\mathbf{c}}(\mathbf{y})/\rho_{\sigma,\mathbf{c}}(\Lambda)$ for any $\mathbf{y} \in \Lambda$.
We denote by $D_{\Lambda,\sigma}(\mathbf{y}) $ the distribution centered in $\mathbf{c}=\mathbf{0}$.
\end{definition}
2018-03-19 16:30:35 +00:00
\begin{lemma}[{\cite[Le.~1.5]{Ban93}}]
\label{le:small}
For any lattice~$\Lambda \subseteq \RR^{n}_{}$ and positive real number~$\sigma>0$, we have
$\Pr_{\mathbf{b} \sample D_{\Lambda,\sigma}} \left[ \|\mathbf{b}\| \leq \sigma \sqrt{n} \right] \geq 1-2^{-\Omega(n)}.$
\end{lemma}
2018-04-06 17:48:57 +00:00
In order to work with lattices in cryptography, hard lattice problems have to be defined~\cite{Ajt96}.
In the following we state the \textit{Shortest Independent Vectors Problem}~($\SIVP$).
2018-04-06 13:46:08 +00:00
This problem reduces to the \textit{Learning With Errors}~($\LWE$) problems and the Short Integer Solution~($\SIS$) problem as explained later in \cref{le:sis-hard} and~\ref{le:lwe-hard}.
2018-02-28 17:02:30 +00:00
These links are important as those are ``worst-case to average-case'' reductions.
2018-01-23 14:34:23 +00:00
2018-04-04 16:46:37 +00:00
In other words, the $\SIVP$ assumption by itself is not very handy to manipulate in order to construct new cryptographic designs.
2018-04-13 13:41:25 +00:00
On the other hand, the $\LWE$ and $\SIS$ assumptions --\,which are ``average-case'' assumptions\,-- are more suitable to design cryptographic schemes.
2018-01-23 14:34:23 +00:00
In order to define the $\SIVP$ problem and assumption, let us first define the successive minima of a lattice, a generalization of the minimum of a lattice (the length of a shortest non-zero vector in a lattice).
\begin{definition}[Successive minima] \label{de:lattice-lambda}
For a lattice $\Lambda$ of dimension $n$, let us define for $i \in \{1,\ldots,n\}$ the $i$-th successive minimum as
2018-04-12 16:44:45 +00:00
\[ \lambda_i(\Lambda) = \inf \bigl\{ r \mid \dim \left( \Span\left(\lambda \cap \mathcal B\left(\mathbf{0}, r \right) \right) \right) \geq i \bigr\}, \]
2018-04-12 16:42:39 +00:00
where $\mathcal B(\mathbf{c}, r)$ denotes the ball of radius $r$ centered in $\mathbf{c}$.
2018-01-23 14:34:23 +00:00
\end{definition}
2018-02-28 17:05:08 +00:00
This leads us to the $\SIVP$ problem, which is finding a set of sufficiently short linearly independent vectors given a lattice basis.
2018-01-23 14:34:23 +00:00
\begin{definition}[$\SIVP$] \label{de:sivp}
2018-04-12 16:42:39 +00:00
For a dimension $n$ lattice described by a basis $\mathbf{B} \in \RR^{n \times m}$, and a parameter $\gamma > 0$, the shortest independent vectors problem is to find $n$ linearly independent vectors $v_1, \ldots, v_n$ such that $\| v_1 \| \leq \| v_2 \| \leq \ldots \leq \| v_n \|$ and $\|v_n\| \leq \gamma \cdot \lambda_n(\mathbf{B})$.
2018-01-23 14:34:23 +00:00
\end{definition}
2018-04-04 16:46:37 +00:00
As explained before, the hardness of this assumption for worst-case lattices implies the hardness of the following two assumptions in their average-case setting, which are illustrated in Figure~\ref{fig:lwe-sis}.
2018-02-28 17:02:30 +00:00
In other words, it means that no polynomial time algorithms can solve those problems with non-negligible probability and non-negligible advantage given that $\SIVP$ is hard.
%As explained before, we will rely on the assumption that both algorithmic problems below are hard. Meaning that no (probabilistic) polynomial time algorithms can solve them with non-negligible probability and non-negligible advantage, respectively.
2018-01-23 14:34:23 +00:00
2018-04-06 13:46:08 +00:00
\begin{definition}[The $\SIS$ and $\ISIS$ problem] \label{de:sis} \index{Lattices!Short Integer Solution} \index{Lattices!Inhomogeneous \SIS}
2018-02-28 17:05:08 +00:00
Let~$m,q,\beta$ be functions of~$n \in \mathbb{N}$.
2018-04-10 08:32:28 +00:00
The \textit{Short Integer Solution} problem $\SIS_{n,m,q,\beta}$ is, given~$\mathbf{A} \sample \U(\Zq^{n \times m})$, find~$\mathbf{x} \in \Lambda_q^{\perp}(\mathbf{A})$ with~$0 < \|\mathbf{x}\| \leq \beta$.
2018-04-06 13:46:08 +00:00
2018-04-12 16:42:39 +00:00
The \textit{Inhomogeneous Short Integer Solution}~$\ISIS_{n,m,q,\beta}$ problem is, given~$\mathbf{A} \sample \U(\Zq^{n \times m})$ and $\mathbf{u} \in \Zq^n$, find~$\mathbf{x} \in \Lambda_q^{\mathbf{u}}(\mathbf{A})$ with~$0 < \| \mathbf{x} \| \leq \beta$.
2018-01-23 14:34:23 +00:00
\end{definition}
2018-04-06 13:46:08 +00:00
Evidences of the hardness of the $\SIS$ and $\ISIS$ assumptions are given by the following Lemma, which reduced these problems from $\SIVP$.
\begin{lemma}[{\cite[Se.~9]{GPV08}}] \label{le:sis-hard}
If~$q \geq \sqrt{n} \beta$ and~$m,\beta \leq \mathsf{poly}(n)$, then $\SIS_{n,m,q,\beta}$ and $\ISIS_{n,m,q,\beta}$ problems are both at least as hard as
standard worst-case lattice problem $\mathsf{SIVP}_\gamma$ with~$\gamma = \softO(\beta\sqrt{n})$.
\end{lemma}
2018-02-02 15:09:02 +00:00
2018-02-28 17:02:30 +00:00
\begin{definition}[The $\LWE$ problem] \label{de:lwe} \index{Lattices!Learning With Errors}
2018-04-06 13:46:08 +00:00
Let $n,m \geq 1$, $q \geq 2$, and let $\chi$ be a probability distribution on~$\mathbb{Z}$.
2018-04-10 08:32:28 +00:00
For $\mathbf{s} \in \mathbb{Z}_q^n$, let $A_{\mathbf{s}, \chi}$ be the distribution obtained by sampling $\mathbf{a} \hookleftarrow \U(\mathbb{Z}_q^n)$ and $e \hookleftarrow \chi$, and outputting $(\mathbf{a}, \mathbf{a}^T\cdot\mathbf{s} + e) \in \mathbb{Z}_q^n \times \mathbb{Z}_q$.
The Learning With Errors problem $\mathsf{LWE}_{n,q,\chi}$ asks to distinguish~$m$ samples chosen according to $\mathcal{A}_{\mathbf{s},\chi}$ (for $\mathbf{s} \hookleftarrow \U(\mathbb{Z}_q^n)$) and $m$ samples chosen according to $\U(\mathbb{Z}_q^n \times \mathbb{Z}_q)$.
2018-01-23 14:34:23 +00:00
\end{definition}
2018-04-04 16:46:37 +00:00
\begin{figure}
\centering
\input fig-lwe-sis
\caption{Illustration of the LWE and SIS problems.}
\label{fig:lwe-sis}
\end{figure}
2018-04-06 13:46:08 +00:00
The worst-case to average-case reduction for $\LWE$ is stated by the following Lemma.
\begin{lemma}[{\cite{Reg05,Pei09,BLP+13}}] \label{le:lwe-hard}
If $q$ is a prime power, $B \geq \sqrt{n}\omega(\log n)$, $\gamma= \widetilde{\mathcal{O}}(nq/B)$, then there exists an efficient sampleable $B$-bounded distribution~$\chi$ ({i.e.}, $\chi$ outputs samples with norm at most $B$ with overwhelming probability) such that $\mathsf{LWE}_{n,q,\chi}$ is as least as hard as $\mathsf{SIVP}_{\gamma}$.
\end{lemma}
2018-01-23 14:34:23 +00:00
% (see~\cite{Pei09,BLPRS13} for classical analogues).
2018-03-20 08:41:33 +00:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% subsection: lattice trapdoors %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2018-01-15 11:56:09 +00:00
\subsection{Lattice Trapdoors}
2018-03-20 08:41:33 +00:00
\label{sse:lattice-trapdoors}
2018-04-04 16:46:37 +00:00
\addcontentsline{tof}{subsection}{\protect\numberline{\thesubsection} Trappes d'un réseau euclidien}
2018-01-15 11:56:09 +00:00
2018-03-19 16:30:35 +00:00
In this section, we state the different algorithms that use ``\textit{lattice trapdoors}''.
A trapdoor for lattice $\Lambda$ is a \textit{short} basis of this lattice.
The knowledge of such a basis allows to sample elements in $D_{\Lambda, \sigma}$ within some restrictions given in~\cref{le:GPV}.
The existence of this sampler permits to solve hard lattice problems such as $\SIS$, which is assumed to be intractable in polynomial time.
2018-04-04 16:46:37 +00:00
Indeed,~\cref{le:TrapGen} shows that it is possible to sample a (statistically close to) uniform matrix $\mathbf{A} \in \ZZ_q^{n \times m}$ along with a short basis for $\Lambda^\perp_{q}(\mathbf{A})$.
2018-03-19 16:30:35 +00:00
Thus, a vector sampled in $D_{\Lambda^\perp_{q}(\mathbf{A}), \sigma}$, which is short with overwhelming probabilities according to~\cref{le:small}, is a solution to $\SIS_{n,m,q,\sigma \sqrt{n}}$.
2018-03-16 13:08:04 +00:00
2018-03-19 16:30:35 +00:00
Gentry {\em et al.}~\cite{GPV08} showed that Gaussian distributions with lattice support can be sampled efficiently given a sufficiently short basis of the lattice.
2017-12-19 14:25:47 +00:00
2018-04-04 16:46:37 +00:00
\scbf{Recall.} Given a matrix $\mathbf{A}$, $\widetilde{\mathbf{A}}$ denotes the Gram-Schmidt orthogonalization of $\mathbf{A}$.
2018-03-20 08:41:33 +00:00
2018-01-23 14:34:23 +00:00
\begin{lemma}[{\cite[Le.~2.3]{BLP+13}}]
2017-12-19 14:25:47 +00:00
\label{le:GPV}
2018-02-02 15:09:02 +00:00
There exists a $\ppt$ (probabilistic polynomial-time) algorithm $\GPVSample$ that takes as inputs a
2018-01-30 08:52:53 +00:00
basis~$\mathbf{B}$ of a lattice~$\Lambda \subseteq \ZZ^n$ and a
2017-12-19 14:25:47 +00:00
rational~$\sigma \geq \|\widetilde{\mathbf{B}}\| \cdot \Omega(\sqrt{\log n})$,
2018-03-19 16:30:35 +00:00
and outputs vectors~$\mathbf{b} \in \Lambda$ with distribution~$D_{\Lambda,\sigma}$.
2017-12-19 14:25:47 +00:00
\end{lemma}
2018-03-19 16:30:35 +00:00
The following Lemma states that it is possible to efficiently compute a uniform~$\mathbf{A}$ along with a short basis of its orthogonal lattice $\Lambda^{\perp}_q(\mathbf{A})$.
2017-12-19 14:25:47 +00:00
%We
%use an algorithm that jointly samples a uniform~$\mathbf{A}$ and a short
%basis of~$\Lambda_q^{\perp}(\mathbf{A})$.
2018-01-23 14:34:23 +00:00
\begin{lemma}[{\cite[Th.~3.2]{AP09}}]
2017-12-19 14:25:47 +00:00
\label{le:TrapGen}
2018-04-10 08:32:28 +00:00
There exists a $\ppt$ algorithm $\TrapGen$ that takes as inputs $1^n$, $1^m$ and an integer~$q \geq 2$ with~$m \geq \Omega(n \log q)$, and outputs a matrix~$\mathbf{A} \in \ZZ_q^{n \times m}$ and a basis~$\mathbf{T}_{\mathbf{A}}$ of~$\Lambda_q^{\perp}(\mathbf{A})$ such that~$\mathbf{A}$ is within statistical distance~$2^{-\Omega(n)}$ to~$\U(\ZZ_q^{n \times m})$, and~$\|\widetilde{\mathbf{T}_{\mathbf{A}}}\| \leq \bigO(\sqrt{n \log q})$.
2017-12-19 14:25:47 +00:00
\end{lemma}
2018-03-19 16:30:35 +00:00
\noindent Lemma~\ref{le:TrapGen} is often combined with the sampler from Lemma~\ref{le:GPV}. Micciancio and Peikert~\cite{MP12} proposed a more efficient approach for this combined task, which is to be be preferred in practice but, for the sake of simplicity, schemes are presented using $\TrapGen$ and $\GPVSample$ in this thesis.
2017-12-19 14:25:47 +00:00
2018-03-19 16:30:35 +00:00
We also make use of an algorithm that extends a trapdoor for~$\mathbf{A} \in \ZZ_q^{n \times m}$ to a trapdoor of any~$\mathbf{B} \in \ZZ_q^{n \times m'}$ whose left~$n \times m$ submatrix is~$\mathbf{A}$.
2017-12-19 14:25:47 +00:00
2018-01-23 14:34:23 +00:00
\begin{lemma}[{\cite[Le.~3.2]{CHKP10}}]\label{lem:extbasis}
2018-02-02 15:09:02 +00:00
There exists a $\ppt$ algorithm $\ExtBasis$ that takes as inputs a
2017-12-19 14:25:47 +00:00
matrix~$\mathbf{B} \in \ZZ_q^{n \times m' }$ whose first~$m$ columns
span~$\ZZ_q^n$, and a basis~$\mathbf{T}_{\mathbf{A}}$
of~$\Lambda_q^{\perp}(\mathbf{A})$ where~$\mathbf{A}$ is the left~$n \times
2018-03-16 13:08:04 +00:00
m$ submatrix of~~$\mathbf{B}$, and outputs a basis~$\mathbf{T}_{\mathbf{B}}$
2017-12-19 14:25:47 +00:00
of~$\Lambda_q^{\perp}(\mathbf{B})$ with~$\|\widetilde{\mathbf{T}_{\mathbf{B}}}\|
\leq \|\widetilde{\mathbf{T}_{\mathbf{A}}}\|$.
\end{lemma}
2018-03-19 16:30:35 +00:00
In some of our security proofs, analogously to \cite{Boy10,BHJ+15} we also use a technique due to Agrawal, Boneh and Boyen~\cite{ABB10} that implements an all-but-one trapdoor mechanism (akin to the one of Boneh and Boyen \cite{BB04}) in the lattice setting.
2017-12-19 14:25:47 +00:00
2018-01-23 14:34:23 +00:00
\begin{lemma}[{\cite[Th.~19]{ABB10}}]\label{lem:sampler}
2018-04-12 16:42:39 +00:00
There exists a $\ppt$ algorithm $\SampleR$ that takes as inputs matrices $\mathbf{A}, \mathbf{C} \in \ZZ_q^{n \times m}$, a low-norm matrix $\mathbf{R} \in \ZZ^{m \times m}$,
a short basis $\mathbf{T_C} \in \ZZ^{m \times m}$ of $\Lambda_q^{\perp}(\mathbf{C})$, a vector $\mathbf{u} \in \ZZ_q^{n}$ and a rational $\sigma$ such that $\sigma \geq \|
\widetilde{\mathbf{T_C}}\| \cdot \Omega(\sqrt{\log n})$, and outputs a short vector $\mathbf{b} \in \ZZ^{2m}$ such that $\left[ \begin{array}{c|c} \mathbf{A} ~ &~ \mathbf{A}
\cdot \mathbf{R} + \mathbf{C} \end{array} \right]\cdot \mathbf{b} = \mathbf{u} \bmod q$ and with distribution statistically close to $D_{L,\sigma}$ where $L$ denotes the shifted
lattice $\Lambda^\mathbf{u}_q \left( \left[ \begin{array}{c|c} \mathbf{A} ~&~ \mathbf{A} \cdot \mathbf{R} + \mathbf{C} \end{array} \right] \right)$.
%$\{ \mathbf{x} \in \ZZ^{2 m} : \left[ \begin{array}{c|c} \mathbf{A} ~&~ \mathbf{A} \cdot \mathbf{R} + \mathbf{C} \end{array} \right] \cdot \mathbf{x} = \mathbf{u} \bmod q \}$.
2017-12-19 14:25:47 +00:00
\end{lemma}