Aller au contenu principal

1. Introduction

1. Introduction

Depuis la normalisation initiale de la cryptographie sur courbes elliptiques (Elliptic Curve Cryptography, ECC [RFC6090]) dans [SEC1], des progrès significatifs ont été réalisés concernant l'efficacité et la sécurité des courbes et des implémentations. Parmi les exemples notables figurent des algorithmes protégés contre certaines attaques par canaux auxiliaires, diverses formes de nombres premiers dites « spéciales » permettant une arithmétique modulaire plus rapide, et un ensemble plus large de modèles de courbes parmi lesquels choisir. La communauté s'inquiète également de la génération et des faiblesses potentielles des courbes définies par le NIST [NIST].

Ce mémo spécifie deux courbes elliptiques (« curve25519 » et « curve448 ») propices à une implémentation à temps constant et à une multiplication scalaire sans exception, résistante à un large éventail d'attaques par canaux auxiliaires, y compris les attaques par chronométrage et par cache. Il s'agit de courbes de Montgomery (où v^2 = u^3 + Au^2 + u) et elles admettent donc des formes d'Edwards birationnellement équivalentes. Les courbes d'Edwards permettent d'utiliser les formules complètes les plus rapides connues à ce jour pour les opérations de groupe sur la courbe, en particulier la courbe d'Edwards x^2 + y^2 = 1 + dx^2y^2 pour les nombres premiers p tels que p = 3 mod 4, et la courbe d'Edwards tordue -x^2 + y^2 = 1 + dx^2*y^2 lorsque p = 1 mod 4. Les correspondances entre les courbes de Montgomery et leurs équivalents d'Edwards (tordus) sont également données.

Ce mémo précise en outre comment utiliser ces courbes avec le protocole Diffie-Hellman pour l'établissement de clés.