Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

ECDSA / Ed25519

general

Définition

ECDSA (Elliptic Curve Digital Signature Algorithm) et Ed25519 sont deux algorithmes de signature numérique basés sur les courbes elliptiques. Ils permettent de signer des données (prouver leur authenticité et intégrité) avec des clés beaucoup plus courtes que RSA, offrant une sécurité comparable pour une taille de clé drastiquement réduite. ECDSA est la version sur courbes elliptiques de l'algorithme de signature DSA. Il utilise des courbes comme P-256 (secp256r1, NIST P-256), P-384, ou secp256k1 (utilisée par Bitcoin). Une clé ECDSA P-256 de 256 bits offre une sécurité équivalente à RSA-3072, avec des signatures et des clés beaucoup plus petites et des opérations plus rapides. ECDSA est utilisé dans TLS (pour les certificats ECDSA), dans les passeports biométriques, dans la blockchain Bitcoin (secp256k1), et dans de nombreuses implémentations TLS modernes. Ed25519 est un algorithme de signature basé sur la courbe Edwards Curve25519, conçu par Daniel J. Bernstein (également auteur de ChaCha20). Il résout plusieurs problèmes pratiques d'ECDSA : absence de nonce aléatoire (le nonce est déterministe, dérivé de la clé privée et du message, éliminant le risque de compromission de clé par mauvaise génération de nonce), constant-time par conception (résistant aux timing attacks), performances supérieures (vérification de signature ~2x plus rapide que ECDSA P-256), et API simple et difficile à mal utiliser. L'une des vulnérabilités critiques d'ECDSA (et de DSA) est la nécessité d'un nonce aléatoire de haute qualité pour chaque signature. Si le nonce est réutilisé ou s'il est prévisible, la clé privée peut être retrouvée mathématiquement. Le hack de la PlayStation 3 (2010) résultait d'un nonce constant (toujours le même k) dans l'implémentation ECDSA de Sony. Ed25519 résout ce problème par conception — le nonce est déterministe. Les recommandations actuelles privilégient Ed25519 pour les nouvelles implémentations (clés SSH, signatures de code, JWT, tokens d'API), tout en conservant ECDSA P-256/P-384 pour la compatibilité avec les systèmes qui ne supportent pas Ed25519. RSA est progressivement remplacé par ces algorithmes dans tous les contextes où des performances et une sécurité modernes sont requises.

Comparaison RSA vs ECDSA vs Ed25519

La comparaison des trois familles d'algorithmes de signature illustre l'évolution vers les courbes elliptiques. RSA-2048 : clé publique 2048 bits, signature 2048 bits, sécurité ~112 bits, 40ms pour générer une clé, 1ms pour vérifier une signature. ECDSA P-256 : clé publique 64 octets (512 bits non compressés), signature 64 octets, sécurité ~128 bits, 0.1ms pour générer, 0.4ms pour vérifier. Ed25519 : clé publique 32 octets, signature 64 octets, sécurité ~128 bits, 0.06ms pour générer, 0.2ms pour vérifier. La réduction de taille des clés et signatures est cruciale pour les protocoles à fort volume (TLS handshakes, blockchains, IoT) où chaque octet compte. OpenSSH recommande Ed25519 pour les clés SSH depuis la version 6.5.

Ed25519 dans la pratique — SSH, JWT, code signing

Ed25519 s'est imposé dans de nombreux usages pratiques. SSH : `ssh-keygen -t ed25519` génère une paire de clés Ed25519 — recommandé par défaut sur les systèmes Linux modernes, offrant une meilleure sécurité et des performances légèrement supérieures à ECDSA P-256. JWT (JSON Web Tokens) : EdDSA (Ed25519) est l'algorithme recommandé pour les tokens d'API modernes — l'implémentation déterministe simplifie les tests et le débogage. Code signing : Git peut signer les commits et tags avec GPG (Ed25519 supporté) ou SSH keys. Sigstore (le standard de code signing dans l'écosystème open-source) utilise ECDSA P-256 pour les signatures Fulcio. WireGuard : utilise Curve25519 (X25519, liée à Ed25519) pour l'échange de clés Diffie-Hellman.

Post-quantum et transition ECDSA/Ed25519

L'ordinateur quantique de suffisante puissance (avec l'algorithme de Shor) brisera ECDSA, Ed25519, et RSA, car ces trois algorithmes reposent sur des problèmes mathématiques solubles en temps polynomial quantique (factorisation pour RSA, logarithme discret sur courbes elliptiques pour ECDSA/Ed25519). Les algorithmes post-quantiques sélectionnés par le NIST (ML-DSA/CRYSTALS-Dilithium pour la signature, ML-KEM/CRYSTALS-Kyber pour l'échange de clés) remplacent ces algorithmes dans les architectures qui doivent résister aux attaques quantiques futures. La transition est progressive : TLS 1.3 permet déjà des négociations hybrides (X25519Kyber768 pour l'échange de clés), combinant sécurité classique et post-quantique en attendant la migration complète.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis