Cryptographie sur les courbes elliptiques

Un article de Wikipédia, l'encyclopédie libre.

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 (de l'acronyme 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 appliqués 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.

Sommaire

[modifier] Échange de clés

Dans le groupe associé a une courbe elliptique, le problème du logarithme discret est consideré 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.

Secrètement, Alice choisit un entier dA, et Bob un entier dB. Alice envoie à Bob le point dAP, et Bob envoie à Alice dBP. Chacun de leur côté, ils sont capables de calculer dA(dBP) = (dAdB)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,dAP,dBP. Pour pouvoir calculer dAdBP, il faut pouvoir calculer dA connaissant P et dAP. 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.

[modifier] Implémentation

[modifier] Paramètres du domaine

Icône de détail Article détaillé : Algorithme de Schoof.

[modifier] Longueur des clés

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

[modifier] Références

  • (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

[modifier] Voir aussi

[modifier] Entreprises

[modifier] Liens externes

  • 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.