NTRUEncrypt

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

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 et Joseph H. Silverman), qui, avec Daniel Lieman, ont fondé la même année NTRU Cryptosystems 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 ont é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 tous 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).

  1. (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).
  2. http://bench.cr.yp.to/

Bibliographie[modifier | modifier le code]

  • (en) E. Jaulmes et A. Joux, « A Chosen-Ciphertext Attack against NTRU », Proceedings of the 20th Annual International Cryptology Conference on Advances in Cryptography, coll. « Lecture Notes in Computer Science » (vol. 1880), 2000, p. 20-35
  • (en) Jeffrey Hoffstein, Jill Pipher et Joseph H. Silverman, « NTRU: A Ring Based Public Key Cryptosystem », J.P. Buhler, Algorithmic Number Theory (ANTS III), Portland, OR, June 1998, coll. « Lecture Notes in Computer Science » (vol. 1423), Springer-Verlag, Berlin, 1998, p. 267-288
  • (en) N. Howgrave-Graham, J. H. Silverman et W. Whyte, Meet-In-The-Middle Attack on a NTRU Private Key
  • (en) J. Hoffstein, et J. Silverman, « Optimizations for NTRU », Public-Key Cryptography and Computational Number Theory (Warsaw, September 11–15, 2000), DeGruyter
  • (en) A. C. Atici, L. Batina, J. Fan et I. Verbauwhede, Low-cost implementations of NTRU for pervasive security