EdDSA (Ed25519) Chiffrer & Déchiffrer
Outil en ligne gratuit EdDSA (Ed25519) Chiffrer & Déchiffrer. Traitement 100% local — vos données ne quittent jamais votre appareil.
Le résultat sera affiché ici...
Entrée → Chiffrer
Usage Guide
À propos d'EdDSA (Ed25519)
EdDSA (algorithme de signature numérique sur courbe d'Edwards) avec Curve25519 est un schéma de signature numérique moderne et haute performance, standardisé dans la RFC 8032. C'est l'algorithme de signature par défaut pour SSH (défaut d'OpenSSH), largement utilisé dans les certificats clients TLS 1.3, les sous-clés GPG, les portefeuilles de cryptomonnaies (Solana, Cardano) et la signature de JWT. Ed25519 offre une sécurité de 128 bits avec des clés remarquablement petites (32 octets chacune) et des performances exceptionnelles (~100 000 opérations de signature/vérification par seconde).
Étapes d'utilisation
Cet outil prend en charge la génération de paires de clés Ed25519, la signature de messages et la vérification de signatures :
Format des clés
Les clés Ed25519 dans cet outil utilisent un format hexadécimal compact :
Ed25519 vs RSA
Ed25519 et RSA sont tous deux utilisés pour les signatures numériques, mais ont des caractéristiques très différentes :
FAQ
Q: Quelle est la différence entre EdDSA et ECDSA ?
A: Les deux sont des algorithmes de signature sur courbe elliptique, mais ils diffèrent de manières importantes. ECDSA (utilisé avec les courbes NIST P-256, P-384) nécessite un nonce aléatoire (k) par signature — si le nonce est réutilisé ou faible, la clé privée peut être complètement récupérée. C'est exactement comment la clé privée de la PlayStation 3 de Sony a été extraite en 2010. EdDSA utilise un nonce déterministe dérivé de la clé privée et du hash du message, rendant la réutilisation du nonce mathématiquement impossible. EdDSA utilise également des courbes Twisted Edwards plus sûres (Curve25519 pour Ed25519) conçues pour résister à certaines attaques par canal auxiliaire. Pour les nouvelles implémentations, EdDSA est fortement préféré à ECDSA.
Q: Pourquoi la signature déterministe est-elle plus sûre ?
A: Dans ECDSA, la sécurité de chaque signature dépend d'un nonce cryptographiquement aléatoire et frais. Si un attaquant obtient deux signatures qui ont utilisé le même nonce (réutilisation de nonce), ou si le nonce a une entropie insuffisante (caractère aléatoire faible), la clé privée peut être algébriquement récupérée à l'aide d'équations simples. Ce n'est pas théorique — cela a brisé de vrais systèmes (PS3, portefeuilles Bitcoin). La signature déterministe d'Ed25519 dérive le nonce d'un hash de la graine de clé privée et du message, il est donc toujours unique et ne peut pas être influencé par des sources d'aléatoire externes. Il n'y a pas de générateur de nombres aléatoires dans le chemin de signature — éliminant toute une classe de vulnérabilités.
Q: Puis-je utiliser EdDSA pour chiffrer des données ?
A: Non. EdDSA (Ed25519) est uniquement un algorithme de signature numérique — il ne peut pas chiffrer ni déchiffrer des données. Signer prouve l'authenticité (qui a créé le message) mais ne fournit pas de confidentialité (n'importe qui peut lire le message). Pour chiffrer des données, utilisez un chiffrement symétrique comme ChaCha20-Poly1305 ou AES-256-GCM. Remarque : X25519 (un algorithme apparenté mais distinct basé sur Curve25519) peut être utilisé pour l'échange de clés (Diffie-Hellman), mais n'est pas identique à Ed25519 et les clés ne sont pas interchangeables.
Q: Comment générer une clé SSH Ed25519 ?
A: Utilisez l'outil de génération de clés intégré d'OpenSSH :ssh-keygen -t ed25519 -C "votre_email@exemple.fr"
Ceci génère ~/.ssh/id_ed25519 (clé privée) et ~/.ssh/id_ed25519.pub (clé publique). Ed25519 est le type de clé SSH recommandé depuis OpenSSH 6.5 (2014) et est maintenant le défaut dans la plupart des distributions. Les clés générées par OpenSSH utilisent un encodage différent (format PEM/OpenSSH) du format hexadécimal de cet outil, mais reposent sur le même algorithme cryptographique.
Q: Que contient la signature Ed25519 de 64 octets ?
A: Une signature Ed25519 est composée de deux valeurs de 32 octets : R (un point de courbe elliptique compressé, dérivé du nonce déterministe) et S (une valeur scalaire calculée à partir du nonce, de la clé privée et du hash du message). Ensemble, R et S forment la signature de 64 octets. La vérification reconstruit R en utilisant la clé publique, le message et S, et vérifie qu'il correspond au R dans la signature. Toute la vérification implique uniquement de l'arithmétique de corps rapide sur Curve25519 — pas d'exponentiation modulaire comme RSA.
Q: Ed25519 est-il résistant aux ordinateurs quantiques ?
A: Non — pas contre un ordinateur quantique suffisamment grand. Un ordinateur quantique exécutant l'algorithme de Shor pourrait casser Ed25519 en résolvant le problème du logarithme discret sur les courbes elliptiques. La même menace s'applique à RSA et ECDSA. Cependant, un ordinateur quantique capable de casser la sécurité de courbe elliptique 128 bits nécessiterait des milliers de qubits logiques avec des taux d'erreur très bas — bien au-delà de la technologie actuelle. Pour les signatures post-quantiques, le NIST a standardisé ML-DSA (anciennement CRYSTALS-Dilithium) et SLH-DSA (SPHINCS+). Ed25519 reste le meilleur choix pratique pour les modèles de menaces classiques et est largement déployé dans les systèmes de production aujourd'hui.
Use Cases
Recommandé : Clés d'authentification SSH
Ed25519 est le type de clé SSH recommandé depuis OpenSSH 6.5 et est maintenant le défaut dans la plupart des distributions Linux et macOS. Comparé à RSA-2048, les clés SSH Ed25519 sont beaucoup plus courtes (68 caractères vs 400+), plus rapides à générer, plus rapides à authentifier et ne sont pas vulnérables aux attaques de faible aléatoire. Utilisez ssh-keygen -t ed25519 pour toutes les nouvelles clés SSH. Ajoutez la clé publique dans ~/.ssh/authorized_keys sur les serveurs.
- ✅ Utiliser ssh-keygen -t ed25519 pour les nouvelles clés SSH
- ✅ Protéger la clé privée avec une passphrase forte
- ✅ Distribuer librement la clé publique aux serveurs
- ❌ Ne pas utiliser RSA-1024 ; préférer Ed25519 à RSA-2048
Recommandé : Signature de code et distribution de logiciels
Ed25519 est idéal pour signer les versions de logiciels, les images de conteneurs et les mises à jour de firmware. La propriété de signature déterministe garantit que la même version produit toujours la même signature — rendant fiable la vérification des builds reproductibles. Des outils comme Sigstore, minisign et signify utilisent Ed25519. GPG supporte les sous-clés de signature Ed25519. La signature compacte de 64 octets est facile à intégrer dans les fichiers de métadonnées ou de manifestes.
- ✅ Signer les artefacts de release et les checksums avec Ed25519
- ✅ Utiliser minisign ou signify pour la signature simple de fichiers
- ✅ Inclure les fichiers de signature avec les artefacts de release
- ❌ Ne pas distribuer de logiciels sans signature cryptographique
Recommandé : Signature JWT (algorithme EdDSA)
Les JSON Web Tokens (JWT) supportent Ed25519 via l'identifiant d'algorithme EdDSA (RFC 8037). Utiliser EdDSA pour les JWT est plus sûr qu'HMAC-SHA256 (qui nécessite de partager la clé secrète) et plus efficace que RS256 (RSA). Le serveur signe les tokens avec la clé privée Ed25519 ; les clients et serveurs de ressources vérifient avec la clé publique. Ceci permet une authentification sans état et évolutive — pas de secret partagé nécessaire entre le serveur d'authentification et les serveurs de ressources.
- ✅ Utiliser EdDSA (Ed25519) pour les JWT dans les nouveaux projets
- ✅ Publier la clé publique sur un endpoint /.well-known/jwks.json
- ✅ Faire tourner les clés de signature périodiquement
- ❌ Ne pas utiliser HS256 (symétrique) quand plusieurs services doivent vérifier
Recommandé : Authentification des requêtes API
Ed25519 peut authentifier les requêtes API en signant un payload de requête (méthode + chemin + horodatage + hash du corps) avec une clé privée. Le serveur API vérifie la signature en utilisant la clé publique enregistrée du client. C'est plus sûr que les clés API (qui sont des secrets pouvant fuiter) car la clé privée ne quitte jamais le client. Comparez ceci avec HMAC-SHA256, qui nécessite que le serveur stocke le secret — si le serveur est compromis, tous les clients sont affectés.
- ✅ Signer les payloads de requête avec des horodatages pour prévenir les attaques de rejeu
- ✅ Enregistrer les clés publiques client côté serveur (pas de partage de secret)
- ✅ Utiliser Ed25519 plutôt qu'HMAC quand le serveur ne doit pas connaître les secrets client
- 💡 Inclure un nonce ou horodatage dans le payload signé
Acceptable : Signatures de portefeuille de cryptomonnaies
Ed25519 est l'algorithme de signature natif pour plusieurs cryptomonnaies dont Solana, Cardano, Stellar et Near Protocol. Les adresses de portefeuille sont dérivées des clés publiques Ed25519. Les transactions sont signées avec la clé privée correspondante. C'est un cas d'usage légitime et important, mais notez que les clés privées de cryptomonnaies nécessitent un stockage extra-prudent (portefeuilles matériels, enclaves sécurisées) — une clé privée perdue ou volée signifie une perte permanente de fonds.
- ✅ Utiliser des portefeuilles matériels (Ledger, Trezor) pour les clés à haute valeur
- ✅ Sauvegarder les phrases de récupération dans un stockage offline sécurisé
- ❌ Ne pas stocker les clés privées de cryptomonnaies dans des fichiers en texte clair
- ❌ Ne pas utiliser cet outil de navigateur pour les clés de portefeuille de production
Non recommandé : Chiffrement de données
Ed25519 ne peut pas chiffrer des données — tenter de l'utiliser pour le chiffrement est une mauvaise utilisation fondamentale de l'algorithme. Ed25519 est un algorithme de signature : il prend un message et produit une signature qui prouve l'authenticité. Il ne transforme pas le message en texte chiffré. Pour la communication confidentielle, utilisez ChaCha20-Poly1305 ou AES-256-GCM. Si vous avez besoin de chiffrement asymétrique, utilisez RSA.
- ❌ Ne pas utiliser Ed25519 pour le chiffrement de données
- ✅ Utiliser AES-256-GCM ou ChaCha20-Poly1305 pour le chiffrement symétrique
- ✅ Utiliser RSA-OAEP pour le chiffrement asymétrique
- 💡 Signer ≠ Chiffrer — ils servent des objectifs de sécurité différents
Résumé des meilleures pratiques
- Ed25519 est un algorithme de signature — il prouve l'authenticité mais ne chiffre pas. Utilisez AES-256-GCM ou ChaCha20-Poly1305 pour la confidentialité.
- Préférez Ed25519 à RSA et ECDSA pour tous les nouveaux cas d'usage de signature : clés plus petites, opérations plus rapides, signature déterministe.
- La clé privée (64 caractères hex) doit rester secrète. La clé publique (64 caractères hex) peut être distribuée librement.
- Vérifiez les signatures en utilisant le format d'entrée 'message|signature_Base64'. Le séparateur pipe est requis.
- Pour SSH, utilisez ssh-keygen -t ed25519. Ed25519 est le standard moderne recommandé par OpenSSH, le NIST et les principales directives de sécurité.