# Apprentissage avec erreurs

L'apprentissage avec erreurs, souvent abrégé LWE (acronyme de l'anglais Learning With Errors), est un problème calculatoire supposé difficile. Il est au cœur de nombreux cryptosystèmes récents et constitue l'une des principales pistes de recherche pour le développement de la cryptographie post-quantique$^,$. L'introduction de ce problème par Oded Regev dans la communauté informatique, et ses travaux sur ce sujet, lui ont valu de recevoir le prix Gödel en 2018.

## Principe

Si $s$ est un vecteur secret, alors il est aisé de retrouver $s$ étant donné des produits scalaires $\langle \mathbf {a} ,\mathbf {s} \rangle$ si l'on connaît suffisamment de vecteurs $\mathbf {a}$ : il s'agit d'un problème d'algèbre linéaire, qui se résout efficacement — par un pivot de Gauss par exemple. En revanche, si les produits scalaires ne sont connus qu'approximativement, alors le problème devient difficile sous certaines conditions. Plus précisément on ne connaît pas d'algorithmes efficaces pour retrouver le vecteur $s$ à partir de nombreuses entrées $\{(\mathbf {a} ,\langle \mathbf {a} ,\mathbf {s} \rangle +e)\}$, lorsque le bruit $e$ est tiré de distributions appropriées.

## Énoncé

On considère la distribution gaussienne discrète suivante, donnée pour chaque entier $x$ par :$D_{\mathbb {Z} ,\sigma ,c}(x)={\frac {\exp(-\pi (x-c)^{2}/\sigma ^{2})}{\sum _{k\in \mathbb {Z} }\exp(-\pi (k-c)^{2}/\sigma ^{2})}}$Cette distribution peut être échantillonnée en temps quasi linéaire et permet de construire l'objet suivant : soient les entiers $n\geq 1$, $q\geq 2$, un paramètre réel $\alpha \in [0,1]$, et un vecteur $\mathbf {s} \in \mathbb {Z} _{q}^{n}$, alors la distribution LWE $D_{n,q,\alpha }(\mathbf {s} )$ définie sur $\mathbb {Z} _{q}^{n}\times \mathbb {Z} _{q}$ de la manière suivante :
* On échantillonne le « terme d'erreur » $e\gets D_{\mathbb {Z} ,\alpha \cdot q,0}$
* On échantillonne uniformément $\mathbf {a} \gets U(\mathbb {Z} _{q}^{n})$
* On retourne le couple $\left(\mathbf {a} ,\left\langle \mathbf {a} ,\mathbf {s} \right\rangle +e{\bmod {q}}\right)$
Cette distribution permet de définir le problème « LWE » sous forme de problème de recherche ou de problème décisionnel:
* Le problème de recherche LWE : étant donnés des échantillons distribués selon $D_{n,q,\alpha }(\mathbf {s} )$, retrouver $\mathbf {s}$.
* Le problème de décision LWE : si $\mathbf {s} \in \mathbb {Z} _{q}^{n}$ est tiré uniformément au hasard, distinguer la distribution $D_{n,q,\alpha }(\mathbf {s} )$ de la distribution uniforme sur $\mathbb {Z} _{q}^{n}\times \mathbb {Z} _{q}$.
Le paramètre $\alpha$ module la difficulté du problème : si $\alpha =0$, le bruit est absent, et le problème revient à la résolution d'un système linéaire, ce qui se résout en temps polynomial. En revanche, si $\alpha =1$, le bruit remplace toute l'information sur $\mathbf {s}$ et rend impossible la résolution du problème.
Entre les deux, le problème de l'apprentissage avec erreurs s'interprète comme un problème de décodage dans un réseau euclidien, et dans certains cas il est démontré que les deux problèmes sont équivalents. Puisque le problème de décodage (ou du plus court vecteur) est réputé difficile, cela rend attrayant l'utilisation de LWE comme base sur laquelle construire des primitives cryptographiques.

## Résultats de complexité

Les travaux d'Oded Regev et de Brakerski et al. montrent que la résolution du problème d'apprentissage avec erreurs est au moins aussi difficile que de trouver approximativement le plus court vecteur (en) d'un réseau euclidien, un problème supposé difficile pour lequel aucun algorithme efficace n'est connu lorsque la dimension du réseau augmente. Plus spécifiquement, si $\alpha >0$ et $q$ premier satisfont $\alpha q>2{\sqrt {n}}$, avec $q\leq \operatorname {poly} (n)$ alors il existe une réduction quantique polynomiale du problème $\operatorname {GapSVP} _{\gamma }^{(n)}$ au problème de décision sur $D_{n,q,\alpha }$ avec $\gamma ={\widetilde {O}}(n/\alpha )$. Il existe également une réduction classique polynomiale à $\operatorname {GapSVP} _{\gamma }^{({\sqrt {n}})}$$^,$.
Le problème du plus court vecteur est connu pour être NP-difficile (via réduction aléatoire) lorsque l'on souhaite le résoudre de façon exacte$^,$, ou avec un tout petit facteur d'approximation. Malheureusement, ces cas ne couvrent pas les facteurs d'approximations polynomiaux, obtenus lors de la réduction du problème du plus court vecteur au problème LWE. Ainsi, il n'existe pour l'instant pas de réduction prouvant que le problème LWE est NP-difficile.
Il est conjecturé que même un ordinateur quantique ne permettrait pas de résoudre efficacement le problème LWE.

## Variantes structurées

Il existe des variantes structurées du problème LWE, c'est-à-dire des variantes où l'on se restreint à des réseaux ayant pour base une matrice structurée (comme par exemple une matrice circulante). Parmi ces variantes structurées, les plus connues sont Polynomial-LWE, Ring-LWE ou encore Module-LWE.

## Utilisation en cryptographie

Les résultats de complexité sont encourageants pour le développement de cryptosystèmes post-quantiques. Ainsi, des protocoles d'échange de clé$^,$$^,$, de signature, de chiffrement$^,$, de chiffrement homomorphe$^,$, ainsi que des fonctions de hachage ont été proposés, dont la sécurité s'appuie sur la difficulté à résoudre le problème d'apprentissage avec erreurs.
En 2016, Google a introduit de manière expérimentale l'un de ces algorithmes dans son navigateur Google Chrome pour certains services.
En pratique, l'anneau choisi est généralement un quotient de la forme $\mathbb {Z} [X]/(\Phi _{m}(X))$ avec $\Phi _{m}(X)$ le $m$-ième polynôme cyclotomique. On parle alors de ring-LWE. Le bruit est ici encore échantillonné à partir d'une distribution gaussienne discrète. Le problème de l'apprentissage avec erreur se ramène alors au calcul d'un vecteur court dans un réseau idéal. À l'heure actuelle il n'est pas prouvé qu'il s'agit encore, comme dans un réseau régulier, d'un problème difficile ; cependant aucune technique efficace n'est connue pour le résoudre. L'intérêt de ces choix est notamment de permettre une réduction substantielle de la taille des clés, et une efficacité algorithmique accrue.