Étude du crypto-système NTRU GUEGUEN david 14 mai 2010 GUEGUEN david Étude du crypto-système NTRU Table of contents Introduction Les réseaux NTRU GUEGUEN david Étude du crypto-système NTRU Introduction NTRU est un crypto-système à clef publique très efficace dont la sécurité n’est basée ni sur le problème de factorisation des entiers, ni sur des problèmes de log discret mais sur des problèmes difficiles de la géométrie des nombres dans des classes très particulières de réseaux outre sa grande rapidité un autre de ses attraits est la résistance à un éventuel ordinateur quantique. GUEGUEN david Étude du crypto-système NTRU Sous-réseau d’un espace vectoriel Définition Soit E un K-espace vectoriel de dimension finie N. Une partie Γ de E est appelé sous-réseau de E si elle peut s’écrire de la façon suivante : Γ={ r P i=1 ( λi bi |λi ∈ Z} avec GUEGUEN david r ∈ N∗ une famille libre{bi }1≤i≤r ⊂ E Étude du crypto-système NTRU Rang d’un sous réseau, réseau Proposition Étant donné une base d’un sous réseau alors l’entier r ne dépends que de Γ ; on appelle cet entier Rang du sous réseau. Définition C’est seulement lorsque RgK (Γ) = n que l’on parle de réseau de Kn GUEGUEN david Étude du crypto-système NTRU Théorèmes de Minkowski Définition On définit ainsi les plus petites normes de vecteur du réseau appelées minima successifs du réseau : ∀i ≤ r , Li (Γ) = min {R : dim B(0, R) ∩ L ≥ i}. Théorèmes de Minkowski Soit Γ un réseau de dimension N, alors : √ √ N Q λ1 (Γ) ≤ N.Det(Γ)1/N i=N n .Det(Γ) i=1 λi (Γ) ≤ GUEGUEN david Étude du crypto-système NTRU Deux problèmes en géométrie des nombres SVP Problème 1 : ”plus court vecteur” ou SVP : Étant donnée une base B d’un réseau Γ trouver le plus court vecteur, non trivial, pour la norme Euclidienne. CVP ”plus proche vecteur” ou CVP : Étant donnée une base B et un vecteur v ∈ Kn , trouver un vecteur u, non trivial, de Γ minimisant u-v pour la norme Euclidienne. GUEGUEN david Étude du crypto-système NTRU Classe de complexité I Définitions •Classe P : Un problème de décision est dans la classe P s’il peut être décidé sur une machine déterministe en temps polynomial par rapport à la taille de la donnée. •Classe NP : La classe NP est formée des problèmes de décision qui peuvent être résolus par un algorithme polynomial non déterministe Exemple La résolution d’un système linéaire de rang maximum est dans la classe P. GUEGUEN david Étude du crypto-système NTRU Classe de complexité II Définition • Pour une classe de complexité C donnée, que un problème est dit C-difficile s’il est plus dur à résoudre que tous les problèmes de C . • Un problème est C-Complet si et seulement si : ( Il est dans C Il est C-difficile Exemple Le problème des voyageurs de commerce est NP-Complet GUEGUEN david Étude du crypto-système NTRU Un autre problème ”difficile” Définition Problème 0 : ”du Sac a dos” : Étant donnée une famille (a1 , ..., ap ) une famille de p ntiers positifs et un entier M, existe il une sous famille de ai de somme M. Théorème de Karp Le problème du sac à dos est NP-complet Mort de Merkle-Hellman et de ses variantes Pas de connection cas moyen/ cas général... GUEGUEN david Étude du crypto-système NTRU La percée d’Ajtaı̈ Théorème 1996 Connection pire cas/moyen cas pour le SVP, toutes les instances ont à peu près la même difficulté : le SVP est NP-difficile pour une instance au hasard. Remarque Il n’existe actuellement aucun algorithme quantique connu pouvant résoudre un problème NP-difficile de la géométrie des nombres. GUEGUEN david Étude du crypto-système NTRU L’anneau R Definition Soit N un entier positif, on appelle anneau de polynômes convolutifs l’anneau quotient : R= Z[X ] (X N −1) Produit dans R la k e coordonnée du vecteur obtenu par produit dans R de deux éléments f et g s’écrit comme leur convolé évaluée en k : (f • g)k = X i+j≡k GUEGUEN david fi gj mod N Étude du crypto-système NTRU Paramètres Definition L(i, j) = P ∈ Z[X ] tq P possède i coefficients 1, P possède j coefficients -1, et N-(i+j) coefficients 0. NTRU-1998 p=3 et q est une puissance de 2 Dm = {−1, 0, 1}[X ] : l’espace des messages. Df = L(df , df − 1), Dg = L(dg , dg ), Dr = L(dr , dr ) : l’ espace de brouille. GUEGUEN david Étude du crypto-système NTRU La génération des clefs étape 1 : on génère au hasard deux polynômes f , g dans Df et Dg . étape 2 : on vérifie que f est inversible dans Rp et Rq on note ces inverses respectivement fp et fq . La clef privée est la paire : (f ,fp ). La clef publique est H = p*fq *g (mod q). Confidentialité Doivent rester secret f , g, fq , fp , Df , Dg , Dr GUEGUEN david Étude du crypto-système NTRU Le chiffrement étape 1 : on génère au hasard un polynôme r ∈ Dr . étape 2 : on calcul le chiffré e ≡ r • h + m (mod q). les coefficients du polynôme m doivent être choisis dans un intervalle bien choisis contenant p entiers successifs. Le déchiffrement étape 1 : on utilise f première moitié de la clef privée : a = f • e (mod q). étape 2 : on utilise fp seconde moitié de la clé privée : m = fp • a mod p = fp • (p.r • g + f • m) mod p Une faiblesse Le déchiffrement n’est pas garantit... GUEGUEN david Étude du crypto-système NTRU Attaque par force brute Jouant sur les relations entre les éléments, et les la faibles longueurs des vecteurs associés au clefs, on peut mener des attaques exhaustives. Sécurité Modérée Haute Très Haute N 107 167 503 df 15 61 216 —Df — 2115 2255 2719 GUEGUEN david dg 12 20 72 —Dg — 2100 2166 2569 dr 5 18 55 Étude du crypto-système NTRU —Dφ — 253 2155 2482 Attaque de Coppersmith Pour deux vecteurs tq u • h = v on peut remarquer l’écriture 1 0 .. . 0 1 .. . 0 h0 h1 .. . 0 h1 h2 .. . hN−1 h0 ... ... .. . 0 0 0 1 ... . . . hN−1 ... h0 .. . 0 . . . hN−2 0 0 ... 0 0 ... .. .. . . . . . 0 0 ... q 0 ... 0 q ... .. .. . . . . . 0 0 0 0 0 0 0 0 0 ... q GUEGUEN david u0 .. . .. . uN−1 K0 .. . .. . KN−1 Étude du crypto-système NTRU Lenstra, Lenstra et Lovász 1982’ Réduction de réseaux de LLL C’est le pendant de l’orthogonalisation de Gram-Schmidt mais pour les réseaux, il fournit en sortie une base dont les vecteurs sont courts et presque orthogonaux L’irruption de LLL La matrice précédente génère un réseau de dimension 2N auquel appartient le vecteur (f, g) et celui-ci est un vecteur court. GUEGUEN david Étude du crypto-système NTRU Attaque à chiffrés choisis Principe Muni d’un oracle de déchiffrement, on peut trouver une erreur de déchiffrement. Donc il existe α entier relatif et k entier tels que : m0 = fp • (f • m − α.q.X k ) mod p = m − (α.qmod p)X k • fp mod p Un second couple de clé privé m-m’ permet alors de trouver une rotation (au signe près) fp0 = α0 .X k • fp du polynôme fp de la clef privée, que l’on inverse et : une autre clef (f 0 , fp0 ). GUEGUEN david Étude du crypto-système NTRU Conclusion • NTRU est rapide, portatif, et peut être exécuter en grande dimension sans sacrifier la vitesse. • Les meilleures attaques connues reposent sur LLL, qui progresse vite... • Les réseaux NTRU sont très particuliers... • NTRU est donc un crypto-systeme en devenir, qui pourrait être une alternative en cas d’arrivée d’un ordinateur quantique. GUEGUEN david Étude du crypto-système NTRU