EdDSA

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

EdDSA (anglais : Edwards-curve Digital Signature Algorithm (algorithme de signature numérique Courbe d'Edwards), à ne pas confondre avec ecDSA), est, dans le domaine de la cryptographie asymétrique, un schéma de signature numérique utilisant une variante de la Cryptographie sur les courbes elliptiques basée sur Twisted Edwards curve (en). Il a été conçu pour fournir de bonnes performances tout en évitant les problèmes de sécurité qui sont apparus dans les autres schémas de signatures électroniques. Il a été développé par une équipe dirigée par Daniel J. Bernstein et incluant Niels Duif, Tanja Lange, Peter Schwabe et Bo-Yin Yang.

Ed25519 est une implémentation spécifique de EdDSA, utilisant la Courbe d'Edwards twisted :

.

Cette courbe est une équivalente birationnelle à la courbe de Mongtomery (en), connu sous le nom de « Curve25519 ». L'équipe de Bernstein a optimisé Ed25519 pour les processeurs 64-bit x86 des familles de microarchitecture Nehalem et Westmere, permettant une génération de clé, une signature de document et une vérification rapides. Les vérifications peuvent être effectuées par lots de 64 signatures pour un débit encore plus élevé. Ed25519 a pour but de fournir une résistance aux attaques comparable à celle des cipher de 128-bits de qualité. Les clés publiques sont encodés sur 256 bits (32 octets) de long et les signatures sont deux fois plus longues.

Parmi les fonctionnalités de Ed25519, on peut citer l'élimination des opérations de branchement conditionnelles et des étapes d'indexation des tables qui dépendent des données et pourraient les révéler, immunisant ainsi l'algorithme contre les attaques par canal auxiliaire. Comme les autres algorithmes de signature numérique, EdDSA requiert une valeur secrète appelé nonce cryptographique, unique pour chaque signature, EdDSA calcule cette nonce de façon déterministe, comme étant le résultat du hachage des clés secrètes et du message, plutôt que de dépendre d'un générateur de nombre aléatoire. Cela réduit les risques d'une attaque sur le générateur de nombres aléatoires, sans l'éliminer complètement lorsque des nombres aléatoires sont utilisés an amont pour la génération des clés.

Le logiciel libre OpenSSH permet d'utiliser cet algorithme de signature depuis sa version 6.5[1] et deux brouillons sont en cours d'élaboration à l'IETF :

  • Le premier depuis l'automne 2013 pour une éventuelle mise à jour des RFC 5246[2] (TLS 1.2) et RFC 4492[3] (Elliptic Curve Cryptography for TLS) avec l'appui d'un des auteurs de la bibliothèque PolarSSL[4].
  • Le second, depuis mars 2014 pour l'utilisation de ce nouvel format de signature dans les enregistrements SSHFP des DNS, étendant le RFC 4255[5]. Il s'agit d'une empreinte permettant de s'assurer, grâce à un enregistrement DNS, de l'authenticité de la clé publique fournie par un serveur SSH, avant de l'accepter. Pour être efficace, la connexion au serveur DNS doit également utiliser DNSSEC [6].

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

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]