NTRUEncrypt

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
image illustrant la cryptologie
Cet article est une ébauche concernant la cryptologie.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Le système de cryptographie asymétrique NTRUEncrypt, aussi connu comme l'algorithme de chiffrement NTRU, est une alternative au chiffrement RSA et à la cryptographie sur les courbes elliptiques reposant sur des hypothèses sur les réseaux euclidiens et en particulier sur le problème du plus court vecteur (en) (dont il n'existe pas en 2016 d'attaques par un ordinateur quantique). Les opérations sont effectuées dans un anneau de polynômes tronqués muni du produit de convolution.

Ce cryptosystème a été proposé en 1996 par Hoffstein, Pipher et Silverman[1].

Histoire[modifier | modifier le code]

Le cryptosystème NTRUEncrypt est relativement récent. Sa première version, simplement appelée NTRU, a été développée en 1996 par trois mathématiciens (Jeffrey Hoffstein (de), Jill Pipher (de) et Joseph H. Silverman (en)), qui, avec Daniel Lieman, ont fondé la même année la NTRU Cryptosystems, Inc. (en) et breveté ce système.

Durant les dix dernières années, des personnes ont cherché à améliorer le cryptosystème. Depuis sa première présentation, des changements on été effectués pour améliorer ses performances, notamment au niveau de la vitesse du processus, et sa sécurité. Jusqu'à 2005, on pouvait trouver les descriptions des failles de sécurité de NTRUEncrypt. Depuis sa création, de nouveaux paramètres ont été introduits semblant fiables par rapport aux attaques connues et augmentant raisonnablement la puissance de calcul.

Aujourd'hui, le système est totalement compatible aux normes IEEE P1363 selon les spécifications de la cryptographie à clé publique basée sur les réseaux. Grâce à sa vitesse, le cryptosystème à clé publique NTRUEncrypt[2] et sa faible consommation de mémoire, il peut être utilisé pour des applications telles que les appareils mobiles, ou les Smart-cards. En avril 2011, NTRUEncrypt a été accepté au standard X9.98, pour l'usage dans l'industrie des services financiers.

Génération de la clé publique[modifier | modifier le code]

Pour qu'Alice puisse envoyer un message à Bob, il lui faut générer une clé publique et une clé privée. La clé publique sera connue par tout deux, tandis que la clé privée ne sera connue que d'Alice. Pour générer cette paire de clés, il faut prendre deux polynômes f et g, de degré max N-1, N étant la taille du message, à petits coefficients, c'est-à-dire des coefficients dans {-1,0,1}. Ces polynômes peuvent être considérées comme des représentations de classe résiduelles modulo (X^N) -1 dans R. De plus, f doit être inversible dans modulo q et modulo p (selon l'algorithme d'Euclide).

Notes et références[modifier | modifier le code]

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « NTRUEncrypt » (voir la liste des auteurs).

Annexes[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • [Hoffstein, Pipher et Silverman 1996] (en) Jeffrey Hoffstein, Jill Pipher et Joseph H. Silverman, « NTRU: A ring-based public key cryptosystem », Algorithmic Number Theory Symposium (ANTS),‎ (DOI 10.1007/BFb0054868)