NTRUEncrypt
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
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.
Depuis lors, on améliore ce cryptosystème. Depuis sa première présentation, des changements ont été effectués pour améliorer ses performances, notamment la vitesse, et sa sécurité. Les concepteur ont réagi aux descriptions des failles de sécurité de NTRUEncrypt en introduisant de nouveaux paramètres plus fiables par rapport aux attaques connues et augmentant raisonnablement la puissance de calcul.
De 2008 à 2019, ce cryptosystème a fait partie de la norme IEEE P1363 .1 (cryptographie à clé publique basée sur les réseaux).
Depuis , NTRUEncrypt fait partie du standard ANSI X9.98, pour usage dans l'industrie des services financiers.
Il est un des candidats à la normalisation par le NIST dans l'initiative de cryptographie post-quantique, où il a déjà réussi 3 sélections.
Grâce à sa vitesse et à sa faible consommation de mémoire,[2] ce cryptosystème peut être utilisé pour des applications telles que les appareils mobiles ou les Smart-cards.
Génération de la clé publique
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 modulo q et modulo p (selon l'algorithme d'Euclide).
Notes et références
- (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).
- http://bench.cr.yp.to/
Bibliographie
- (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
- Portail de la cryptologie