Article de reference

EdDSA

En cryptographie à clé publique , l'algorithme de signature numérique à courbe d'Edwards ( EdDSA ) est un schéma de signature numérique utilisant une variante de la signature de...

En cryptographie à clé publique , l'algorithme de signature numérique à courbe d'Edwards ( EdDSA ) est un schéma de signature numérique utilisant une variante de la signature de Schnorr basée sur des courbes d'Edwards torsadées . Il est conçu pour être plus rapide que les schémas de signature numérique existants sans sacrifier la sécurité. Il a été développé par une équipe comprenant Daniel J. Bernstein , Niels Duif, Tanja Lange , Peter Schwabe et Bo-Yin Yang. L' implémentation de référence est un logiciel du domaine public .

Résumé

Ce qui suit est une description simplifiée d'EdDSA, ignorant les détails de l'encodage des entiers et des points de courbe sous forme de chaînes de bits ; les détails complets se trouvent dans les articles et la RFC.

Un schéma de signature EdDSA est un choix :

  • de corps fini sur puissance première impaire ;
  • de courbe elliptique sur laquelle le groupe de points rationnels est d'ordre , où est un grand nombre premier et est appelé le cofacteur ;
  • du point de base avec ordre ; et
  • de fonction de hachage cryptographique avec des sorties à -bits, où les éléments de et les points de courbe dans peuvent être représentés par des chaînes de bits.q 2 b 1 > q {\displaystyle 2^{b-1}>q} q}" data-src="https://wikimedia.org/api/rest_v1/media/math/render/svg/23bc6e19b13051fae668f48de2e6e03045d60c35">

Ces paramètres sont communs à tous les utilisateurs du schéma de signature EdDSA. La sécurité du schéma de signature EdDSA dépend essentiellement du choix des paramètres, à l'exception du choix arbitraire du point de base. Par exemple, l'algorithme rho de Pollard pour les logarithmes devrait prendre environ additions de courbes avant de pouvoir calculer un logarithme discret, il doit donc être suffisamment grand pour que cela soit impossible, et est généralement considéré comme supérieur à 2 200 . Le choix de est limité par le choix de , car selon le théorème de Hasse , ne peut pas différer de de plus de . La fonction de hachage est normalement modélisée comme un oracle aléatoire dans les analyses formelles de la sécurité d'EdDSA.

Dans un schéma de signature EdDSA,

Clé publique
Une clé publique EdDSA est un point de courbe , codé en bits.
Vérification de signature
Une signature EdDSA sur un message par clé publique est le couple , codé en bits, d'un point de courbe et d'un entier satisfaisant l'équation de vérification suivante, où désigne la concaténation :

Clé privée
Une clé privée EdDSA est une chaîne de bits qui doit être choisie uniformément au hasard. La clé publique correspondante est , où est le nombre de bits de poids faible interprété comme un entier en little-endian .
Signature
La signature d'un message est calculée de manière déterministe comme où pour , et Ceci satisfait l'équation de vérification

Ed25519

Ed25519 est le schéma de signature EdDSA utilisant SHA-512 (SHA-2) et Curve25519

  • et
  • est le point unique dont les coordonnées sont et dont les coordonnées sont positives. « positif » est défini en termes de codage binaire :
    • les coordonnées « positives » sont des coordonnées paires (le bit le moins significatif est effacé)
    • Les coordonnées « négatives » sont des coordonnées impaires (le bit le moins significatif est défini)
  • est SHA-512 , avec .

La courbe est birationnellement équivalente à la courbe de Montgomery connue sous le nom de Curve25519 . L'équivalence est

Performance

L'équipe d'origine a optimisé Ed25519 pour la famille de processeurs x86-64 Nehalem / Westmere . La vérification peut être effectuée par lots de 64 signatures pour un débit encore plus élevé. Ed25519 est destiné à fournir une résistance aux attaques comparable à celle des chiffrements symétriques 128 bits de qualité .

Les clés publiques ont une longueur de 256 bits et les signatures ont une longueur de 512 bits.

Codage sécurisé

Ed25519 est conçu pour éviter les implémentations qui utilisent des conditions de branche ou des indices de tableau qui dépendent de données secrètes, afin d'atténuer les attaques par canal auxiliaire .

Comme pour d'autres schémas de signature basés sur des logarithmes discrets, EdDSA utilise une valeur secrète appelée nonce unique à chaque signature. Dans les schémas de signature DSA et ECDSA , ce nonce est traditionnellement généré de manière aléatoire pour chaque signature. Si le générateur de nombres aléatoires est cassé et prévisible lors de la création d'une signature, la signature peut divulguer la clé privée, comme cela s'est produit avec la clé de signature de mise à jour du micrologiciel de la Sony PlayStation 3.

En revanche, EdDSA choisit le nonce de manière déterministe comme hachage d'une partie de la clé privée et du message. Ainsi, une fois qu'une clé privée est générée, EdDSA n'a plus besoin d'un générateur de nombres aléatoires pour créer des signatures, et il n'y a aucun risque qu'un générateur de nombres aléatoires défectueux utilisé pour créer une signature révèle la clé privée.

Incohérences dans la normalisation et la mise en œuvre

Il convient de noter qu'il existe deux efforts de normalisation pour EdDSA, l'un de l'IETF, un RFC 8032 informatif et l'autre du NIST dans le cadre de la norme FIPS 186-5. Les différences entre les normes ont été analysées, et des vecteurs de test sont disponibles.

Logiciel

Les utilisations notables d'Ed25519 incluent OpenSSH , GnuPG et diverses alternatives, ainsi que l' outil signify d' OpenBSD . L'utilisation d'Ed25519 (et Ed448) dans le protocole SSH a été normalisée. En 2023, la version finale de la norme FIPS 186-5 incluait Ed25519 déterministe comme schéma de signature approuvé.

Ed448

Ed448 est le schéma de signature EdDSA utilisant SHAKE256 et Curve448 défini dans la RFC 8032. Il a également été approuvé dans la version finale de la norme FIPS 186-5.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index