0Pricing
Cryptology Academy · Leçon

ECDH : les courbes elliptiques pour l’échange de clés

Appliquez la multiplication scalaire sur courbe elliptique à l’accord de clés ECDH.

ECDH : les courbes elliptiques pour l’échange de clés est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Bienvenue

ECDH remplace le groupe multiplicatif de DH par un groupe de courbe elliptique. Résultat : une sécurité équivalente avec des clés 10 fois plus petites et des opérations 10 fois plus rapides.

Opérations sur un groupe EC

Dans ECDH, la « multiplication » est une multiplication scalaire sur une courbe elliptique : multiplier un point P par un scalaire k signifie additionner P à lui-même k fois : k×P. C’est l’équivalent EC de g^k mod p.

Protocole ECDH

Se mettre d’accord sur la courbe E et le point de base G (publics). Alice : clé privée a, clé publique A = a×G Bob : clé privée b, clé publique B = b×G Alice : S = a×B = a×b×G Bob : S = b×A = b×a×G Tous deux dérivent le même point S.

ECDLP

Étant donné A = a×G sur une courbe elliptique, trouver a. C’est le problème du logarithme discret sur les courbes elliptiques. Aucun algorithme sous-exponentiel n’est connu pour les courbes générales, ce qui rend l’ECDLP plus difficile que le DLP à taille de clé égale.

Curve25519

Conçue par Bernstein en 2005. Forme de Montgomery : y²=x³+486662x²+x sur le nombre premier 2^255-19. Conçue pour être rapide et résistante aux erreurs d’implémentation. Utilisée dans WireGuard, Signal et SSH.

Échange de clés X25519

X25519 est la fonction ECDH utilisant Curve25519. Seule la coordonnée x du point partagé est utilisée (la multiplication par le cofacteur traite les cas limites). La RFC 7748 a normalisé X25519 et X448.

ECDH en Python

from cryptography.hazmat.primitives.asymmetric.x25519 import X25519PrivateKey alice_priv = X25519PrivateKey.generate() bob_priv = X25519PrivateKey.generate() alice_pub = alice_priv.public_key() bob_pub = bob_priv.public_key() shared_alice = alice_priv.exchange(bob_pub) shared_bob = bob_priv.exchange(alice_pub) assert shared_alice == shared_bob

Du point partagé à la clé symétrique

Le point partagé brut n’est pas utilisé directement comme clé (il n’est pas distribué uniformément). Utilisez HKDF pour dériver une clé symétrique correcte : from cryptography.hazmat.primitives.kdf.hkdf import HKDF key = HKDF(SHA256, 32, salt, info).derive(shared_secret)

Tailles des clés ECDH et DH

Niveau de sécurité de 128 bits : - DH : nombre premier de 3072 bits - ECDH : courbe de 256 bits Rapport des tailles de clés : environ 12:1. Clé publique ECDH : 32 octets (Curve25519). Clé publique DH : 384 octets. Les opérations sur les clés privées ECDH sont environ 50 fois plus rapides.

Attaque par cofacteur sur les mauvaises courbes

Les attaques par petits sous-groupes exploitent les courbes dont les cofacteurs sont non triviaux. Curve25519 possède un cofacteur égal à 8, mais X25519 le traite correctement. Les courbes P de NIST ont un cofacteur égal à 1. Utilisez toujours des implémentations normalisées.

ECDH dans TLS 1.3

TLS 1.3 prend en charge X25519, X448, P-256, P-384 et P-521 pour l’échange de clés. X25519 est le plus courant : rapide, sécurisé et à temps constant. Les deux pairs génèrent des clés éphémères pour chaque session.

Vérification rapide

Quel est le principal avantage d’ECDH par rapport à Diffie-Hellman classique ?

Récapitulatif

Vous maîtrisez ECDH ! Nous allons maintenant comprendre la confidentialité persistante et pourquoi l’échange de clés éphémères est essentiel dans TLS.

Questions Fréquemment Posées

La leçon « ECDH : les courbes elliptiques pour l’échange de clés » est-elle gratuite ?

Oui — le texte complet de « ECDH : les courbes elliptiques pour l’échange de clés » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « ECDH : les courbes elliptiques pour l’échange de clés » ?

Appliquez la multiplication scalaire sur courbe elliptique à l’accord de clés ECDH. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « ECDH : les courbes elliptiques pour l’échange de clés » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Le problème de la distribution des clés
  2. Mathématiques de l’échange de clés Diffie-Hellman
  3. ECDH : les courbes elliptiques pour l’échange de clés
  4. Confidentialité persistante et échange de clés éphémères
← Retour à Cryptology Academy