Curve25519

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

Curve25519 est une courbe elliptique offrant 128 bits de sécurité et conçue pour être utilisée par le protocole d'échange de clés Diffie-Hellman basé sur les courbes elliptiques (ECDH). C'est une courbe elliptique permettant des performances très élevées, n'étant protégé par aucun brevet connu et moins impactée par les générateurs de nombres pseudo-aléatoires défaillants.

Propriétés mathématiques[modifier | modifier le code]

La courbe est de la forme y2 = x3 + 486662x2 + x, une courbe de Montgomery, sur corps fini définie par le nombre premier 2255 - 19, utilisant le point de coordonnée x = 9

La courbe est conçue de manière à éviter de nombreux pièges potentiel dans son implémentation. Par conception, elle offre une grande résistance aux attaques par canal auxiliaire ainsi qu'aux générateurs de nombres pseudo-aléatoires défaillants.

La courbe est une équivalente birationnelle à la courbe de Mongtomery, connu sous le nom de « Ed25519 »[1].

Popularité[modifier | modifier le code]

La courbe a été publiée pour la première fois par Daniel J. Bernstein en 2005 mais son intérêt a considérablement augmenté en 2013 avec les révélations d'Edward Snowden et la découverte de la porte-dérobée implémentée dans le générateur de nombres pseudo-aléatoire « Dual_EC_DRBG ». Bien que n'étant pas directement relié, des suspicions ont émergées s'agissant des constantes utilisées pour les courbes elliptiques « P » certifiés par le NIST (P-224, P-256, P324), suspectant que la NSA aurait choisie ces valeurs dans le but de faciliter la factorisation des clés publiques.

Ces craintes ont été cristallisées par les déclarations de Bruce Schneier, un proéminent chercheur en sécurité:

I no longer trust the constants. I believe the NSA has manipulated them through their relationships with industry.[2]

« Je ne crois plus aux constantes. Je pense que la NSA les a manipulées au travers de ses liens avec l'industrie. »

Depuis, la Curve25519 est devenue une alternative à la courbe P-256 et est utilisée dans une large gamme d'applications. En 2014, le logiciel OpenSSH l'utilise par défaut pour l'algorithme ECDH.

Bibliothèques[modifier | modifier le code]

Applications[modifier | modifier le code]

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é « Curve25519 » (voir la liste des auteurs).

  1. Bernstein, Daniel J.; Lange, Tanja (2007).
  2. "The NSA Is Breaking Most Encryption on the Internet - Schneier on Security". www.schneier.com
  3. Adamantiadis, Aris (2013-11-03).
  4. "Introduction". yp.to.
  5. "nettle: curve25519.h File Reference - doxygen documentation | Fossies Dox". fossies.org.
  6. Limited, ARM.
  7. https://www.wolfssl.com/wolfSSL/Products-wolfssl.html
  8. http://botan.randombit.net/doxygen/curve25519_8cpp_source.html
  9. (en) Markus Friedl, « ssh/kex.c#kexalgs »,‎
  10. Murenin, Constantine A. (2014-04-30).
  11. Murenin, Constantine A. (2014-01-19).
  12. Murenin, Constantine A. (2014-05-01). timothy, ed.
  13. Roger Dingledine & Nick Mathewson.
  14. (en) « 0.9.15 Release - Blog », sur geti2p.net,‎
  15. (en) « GNUnet 0.10.0 », sur gnunet.org,‎
  16. iOS Security Guide
  17. How does Peerio implement end-to-end encryption
  18. miniLock File Encryption

Articles connexes[modifier | modifier le code]