Cryptographie sur les courbes elliptiques

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

En cryptographie, les courbes elliptiques, des objets mathématiques, peuvent être utilisées pour des opérations asymétriques comme des échanges de clés sur un canal non-sécurisé ou un chiffrement asymétrique, on parle alors de cryptographie sur les courbes elliptiques ou ECC (du sigle anglais Elliptic curve cryptography). L'usage des courbes elliptiques en cryptographie a été suggéré, de manière indépendante, par Neal Koblitz et Victor Miller en 1985.

Les clés employées pour un chiffrement par courbe elliptique sont plus courtes qu'avec un système fondé sur le problème de la factorisation comme RSA. De plus l'ECC procure un niveau de sécurité équivalent ou supérieur aux autres méthodes. Un autre attrait de l'ECC est qu'un opérateur bilinéaire peut être défini entre les groupes. Cet opérateur se base sur le couplage de Weil ou le couplage de Tate. Les opérateurs bilinéaires se sont récemment vus appliquer de nombreuses façons en cryptographie, par exemple pour le chiffrement basé sur l'identité. Un point négatif est que les opérations de chiffrement et de déchiffrement peuvent avoir une plus grande complexité que pour d'autres méthodes.

La résistance d'un système fondé sur les courbes elliptiques repose sur le problème du logarithme discret dans le groupe correspondant à la courbe elliptique. Les développements théoriques sur les courbes étant relativement récents, la cryptographie sur courbe elliptique n'est pas très connue et souffre d'un grand nombre de brevets qui empêchent son développement.

Échange de clés[modifier | modifier le code]

Dans le groupe associé à une courbe elliptique, le problème du logarithme discret est considéré comme difficile. On peut donc naturellement y définir l'échange de clés Diffie-Hellman. Alice et Bob se mettent d'accord (publiquement) sur une courbe elliptique E(a,b,p), c'est-à-dire qu'ils choisissent une courbe elliptique y^2 = x^3+ax+b\mod p. Ils se mettent aussi d'accord (toujours publiquement) sur un point P situé sur la courbe.

On définit  n P = P + P + \ldots P (n fois) où l'opération + correspond à la somme de 2 points définie par le symétrique du troisième point d'intersection de la droite définie par les 2 points originaux avec la courbe elliptique. Dans le cas où les deux points à ajouter sont identiques, on considère que la droite qui les joint est la tangente à la courbe elliptique passant par l'un d'entre eux. Un tel point est rationnel.

Secrètement, Alice choisit un entier d_A, et Bob un entier d_B. Alice envoie à Bob le point d_A P, et Bob envoie à Alice d_B P. Chacun de leur côté, ils sont capables de calculer d_A(d_B P) = d_B(d_A P) = d_A d_B P qui est un point de la courbe, et constitue leur clef secrète commune.

Si Eve a espionné leurs échanges, elle connaît E(a,b,p), P, d_A P, d_B P. Pour pouvoir calculer d_A d_B P, il faut pouvoir calculer d_A connaissant P et d_A P. C'est ce que l'on appelle résoudre le logarithme discret sur une courbe elliptique. Or, actuellement, si les nombres sont suffisamment grands, on ne connaît pas de méthode efficace pour résoudre ce problème en un temps raisonnable.

Implémentation[modifier | modifier le code]

Paramètres du domaine[modifier | modifier le code]

Article détaillé : Algorithme de Schoof.

Longueur des clés[modifier | modifier le code]

Pour une sécurité de 128 bits, on utilise une courbe sur le corps \mathbb{F}_q, où q \approx 2^{256}.

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

  • Cet article contient tout ou une partie d'un document provenant du site Ars Cryptographica. L'auteur autorise Wikipédia à utiliser les textes présents sur son site si la source originale est mentionnée.


Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • (en) Neal Koblitz, « Elliptic curve cryptosystems », dans Mathematics of Computation, n°48, 1987, p.203–209
  • (en) V. Miller, « Use of elliptic curves in cryptography », dans CRYPTO, n°85, 1985.
  • (en) Blake, Seroussi et Smart, Elliptic Curves in Cryptography, Cambridge University Press, 1999
  • (en) Hankerson, Menezes, Vanstone, Guide to Elliptic Curve Cryptography, Springer-Verlag, 2004
  • (en) L. Washington, Elliptic Curves: Number Theory and Cryptography, Chapman & Hall/CRC, 2003

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]