Aller au contenu
ecdsa.com
TLS

Groupes pris en charge en TLS : courbes, FFDHE et ML-KEM

Groupes nommés de l’échange de clés TLS (registre IANA) : courbes elliptiques, groupes sur corps finis, ML-KEM et hybrides post-quantiques, avec leurs valeurs.

Affichage : 75 sur 75

Groupes pris en charge par TLS · 75 entrées

Groupes nommés pour l’échange de clés TLS : courbes elliptiques, groupes sur corps finis, ML-KEM et groupes hybrides post-quantiques.

ValeurNomDescriptionRecommandéRéférences
0x0001sect163k1sect163k1 (0x0001) est un échange Diffie–Hellman sur la courbe elliptique sect163k1.sect163k1DRFC 8422RFC 9847
0x0002sect163r1sect163r1 (0x0002) est un échange Diffie–Hellman sur la courbe elliptique sect163r1.DRFC 8422RFC 9847
0x0003sect163r2sect163r2 (0x0003) est un échange Diffie–Hellman sur la courbe elliptique sect163r2.sect163r2DRFC 8422RFC 9847
0x0004sect193r1sect193r1 (0x0004) est un échange Diffie–Hellman sur la courbe elliptique sect193r1.DRFC 8422RFC 9847
0x0005sect193r2sect193r2 (0x0005) est un échange Diffie–Hellman sur la courbe elliptique sect193r2.DRFC 8422RFC 9847
0x0006sect233k1sect233k1 (0x0006) est un échange Diffie–Hellman sur la courbe elliptique sect233k1.sect233k1DRFC 8422RFC 9847
0x0007sect233r1sect233r1 (0x0007) est un échange Diffie–Hellman sur la courbe elliptique sect233r1.sect233r1DRFC 8422RFC 9847
0x0008sect239k1sect239k1 (0x0008) est un échange Diffie–Hellman sur la courbe elliptique sect239k1.DRFC 8422RFC 9847
0x0009sect283k1sect283k1 (0x0009) est un échange Diffie–Hellman sur la courbe elliptique sect283k1.sect283k1NRFC 8422
0x000Asect283r1sect283r1 (0x000A) est un échange Diffie–Hellman sur la courbe elliptique sect283r1.sect283r1NRFC 8422
0x000Bsect409k1sect409k1 (0x000B) est un échange Diffie–Hellman sur la courbe elliptique sect409k1.sect409k1NRFC 8422
0x000Csect409r1sect409r1 (0x000C) est un échange Diffie–Hellman sur la courbe elliptique sect409r1.sect409r1NRFC 8422
0x000Dsect571k1sect571k1 (0x000D) est un échange Diffie–Hellman sur la courbe elliptique sect571k1.sect571k1NRFC 8422
0x000Esect571r1sect571r1 (0x000E) est un échange Diffie–Hellman sur la courbe elliptique sect571r1.sect571r1NRFC 8422
0x000Fsecp160k1secp160k1 (0x000F) est un échange Diffie–Hellman sur la courbe elliptique secp160k1.DRFC 8422RFC 9847
0x0010secp160r1secp160r1 (0x0010) est un échange Diffie–Hellman sur la courbe elliptique secp160r1.DRFC 8422RFC 9847
0x0011secp160r2secp160r2 (0x0011) est un échange Diffie–Hellman sur la courbe elliptique secp160r2.DRFC 8422RFC 9847
0x0012secp192k1secp192k1 (0x0012) est un échange Diffie–Hellman sur la courbe elliptique secp192k1.secp192k1DRFC 8422RFC 9847
0x0013secp192r1secp192r1 (0x0013) est un échange Diffie–Hellman sur la courbe elliptique P-192.P-192DRFC 8422RFC 9847
0x0014secp224k1secp224k1 (0x0014) est un échange Diffie–Hellman sur la courbe elliptique secp224k1.secp224k1DRFC 8422RFC 9847
0x0015secp224r1secp224r1 (0x0015) est un échange Diffie–Hellman sur la courbe elliptique P-224.P-224DRFC 8422RFC 9847
0x0016secp256k1secp256k1 (0x0016) est un échange Diffie–Hellman sur la courbe elliptique secp256k1.secp256k1NRFC 8422
0x0017Notesecp256r1secp256r1 (0x0017) est un échange Diffie–Hellman sur la courbe elliptique P-256.P-256YRFC 8422
0x0018Notesecp384r1secp384r1 (0x0018) est un échange Diffie–Hellman sur la courbe elliptique P-384.P-384YRFC 8422
0x0019secp521r1secp521r1 (0x0019) est un échange Diffie–Hellman sur la courbe elliptique P-521.P-521NRFC 8422
0x001AbrainpoolP256r1brainpoolP256r1 (0x001A) est un échange Diffie–Hellman sur la courbe elliptique brainpoolP256r1.brainpoolP256r1NRFC 7027
0x001BbrainpoolP384r1brainpoolP384r1 (0x001B) est un échange Diffie–Hellman sur la courbe elliptique brainpoolP384r1.brainpoolP384r1NRFC 7027
0x001CbrainpoolP512r1brainpoolP512r1 (0x001C) est un échange Diffie–Hellman sur la courbe elliptique brainpoolP512r1.brainpoolP512r1NRFC 7027
0x001DNotex25519x25519 (0x001D) est un échange Diffie–Hellman sur la courbe elliptique curve25519.curve25519YRFC 9846RFC 8422
0x001Ex448x448 (0x001E) est un échange Diffie–Hellman sur la courbe elliptique curve448.curve448YRFC 9846RFC 8422
0x001FbrainpoolP256r1tls13brainpoolP256r1tls13 (0x001F) est un échange Diffie–Hellman sur la courbe elliptique brainpoolP256r1.brainpoolP256r1NRFC 8734
0x0020brainpoolP384r1tls13brainpoolP384r1tls13 (0x0020) est un échange Diffie–Hellman sur la courbe elliptique brainpoolP384r1.brainpoolP384r1NRFC 8734
0x0021brainpoolP512r1tls13brainpoolP512r1tls13 (0x0021) est un échange Diffie–Hellman sur la courbe elliptique brainpoolP512r1.brainpoolP512r1NRFC 8734
0x0022GC256AGC256A (0x0022) est un échange Diffie–Hellman sur la courbe elliptique GC256A.GC256ANRFC 9189
0x0023GC256BGC256B (0x0023) est un échange Diffie–Hellman sur la courbe elliptique GC256B.GC256BNRFC 9189
0x0024GC256CGC256C (0x0024) est un échange Diffie–Hellman sur la courbe elliptique GC256C.GC256CNRFC 9189
0x0025GC256DGC256D (0x0025) est un échange Diffie–Hellman sur la courbe elliptique GC256D.GC256DNRFC 9189
0x0026GC512AGC512A (0x0026) est un échange Diffie–Hellman sur la courbe elliptique GC512A.GC512ANRFC 9189
0x0027GC512BGC512B (0x0027) est un échange Diffie–Hellman sur la courbe elliptique GC512B.GC512BNRFC 9189
0x0028GC512CGC512C (0x0028) est un échange Diffie–Hellman sur la courbe elliptique GC512C.GC512CNRFC 9189
0x0029curveSM2curveSM2 (0x0029) est un échange Diffie–Hellman sur la courbe elliptique SM2.SM2NRFC 8998
0x0100Noteffdhe2048ffdhe2048 (0x0100) est un groupe Diffie–Hellman sur corps fini de 2048 bits, défini dans la RFC 7919.NRFC 7919
0x0101ffdhe3072ffdhe3072 (0x0101) est un groupe Diffie–Hellman sur corps fini de 3072 bits, défini dans la RFC 7919.NRFC 7919
0x0102ffdhe4096ffdhe4096 (0x0102) est un groupe Diffie–Hellman sur corps fini de 4096 bits, défini dans la RFC 7919.NRFC 7919
0x0103ffdhe6144ffdhe6144 (0x0103) est un groupe Diffie–Hellman sur corps fini de 6144 bits, défini dans la RFC 7919.NRFC 7919
0x0104ffdhe8192ffdhe8192 (0x0104) est un groupe Diffie–Hellman sur corps fini de 8192 bits, défini dans la RFC 7919.NRFC 7919
0x0200MLKEM512MLKEM512 (0x0200) est un accord de clé post-quantique reposant sur ML-KEM-512 (FIPS 203) seul, sans composante classique.NRFC-ietf-tls-mlkem-10
0x0201NoteMLKEM768MLKEM768 (0x0201) est un accord de clé post-quantique reposant sur ML-KEM-768 (FIPS 203) seul, sans composante classique.NRFC-ietf-tls-mlkem-10
0x0202MLKEM1024MLKEM1024 (0x0202) est un accord de clé post-quantique reposant sur ML-KEM-1024 (FIPS 203) seul, sans composante classique.NRFC-ietf-tls-mlkem-10
0x0A0AReserved0x0A0A est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0x11E9SecP256r1MLKEM512SecP256r1MLKEM512 (0x11E9) est un échange de clés hybride : le secret partagé combine secp256r1 et ML-KEM-512, et reste donc secret tant que l’un des deux au moins résiste.P-256Ndraft-rosomakho-tls-ecdhe-mlkem512-00
0x11EAMLKEM512X25519MLKEM512X25519 (0x11EA) est un échange de clés hybride : le secret partagé combine X25519 et ML-KEM-512, et reste donc secret tant que l’un des deux au moins résiste.curve25519Ndraft-rosomakho-tls-ecdhe-mlkem512-00
0x11EBNoteSecP256r1MLKEM768SecP256r1MLKEM768 (0x11EB) est un échange de clés hybride : le secret partagé combine secp256r1 et ML-KEM-768, et reste donc secret tant que l’un des deux au moins résiste.P-256NRFC 10024
0x11ECNoteX25519MLKEM768X25519MLKEM768 (0x11EC) est un échange de clés hybride : le secret partagé combine X25519 et ML-KEM-768, et reste donc secret tant que l’un des deux au moins résiste.curve25519YRFC 10024
0x11EDSecP384r1MLKEM1024SecP384r1MLKEM1024 (0x11ED) est un échange de clés hybride : le secret partagé combine secp384r1 et ML-KEM-1024, et reste donc secret tant que l’un des deux au moins résiste.P-384NRFC 10024
0x11EEcurveSM2MLKEM768curveSM2MLKEM768 (0x11EE) est un échange de clés hybride : le secret partagé combine curveSM2 et ML-KEM-768, et reste donc secret tant que l’un des deux au moins résiste.SM2Ndraft-yang-tls-hybrid-sm2-mlkem-03
0x1A1AReserved0x1A1A est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0x2A2AReserved0x2A2A est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0x3A3AReserved0x3A3A est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0x4A4AReserved0x4A4A est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0x5A5AReserved0x5A5A est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0x6399X25519Kyber768Draft00X25519Kyber768Draft00 (0x6399) est un échange de clés hybride : le secret partagé combine X25519 et Kyber768 (draft 00), et reste donc secret tant que l’un des deux au moins résiste. C’est un point de code antérieur à la norme, désormais obsolète.curve25519Ddraft-tls-westerbaan-xyber768d00-02RFC 10024
0x639ASecP256r1Kyber768Draft00SecP256r1Kyber768Draft00 (0x639A) est un échange de clés hybride : le secret partagé combine secp256r1 et Kyber768 (draft 00), et reste donc secret tant que l’un des deux au moins résiste. C’est un point de code antérieur à la norme, désormais obsolète.P-256Ddraft-kwiatkowski-tls-ecdhe-kyber-01RFC 10024
0x6A6AReserved0x6A6A est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0x7A7AReserved0x7A7A est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0x8A8AReserved0x8A8A est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0x9A9AReserved0x9A9A est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0xAAAAReserved0xAAAA est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0xBABAReserved0xBABA est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0xCACAReserved0xCACA est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0xDADAReserved0xDADA est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0xEAEAReserved0xEAEA est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0xFAFAReserved0xFAFA est une valeur GREASE (RFC 8701) du registre des groupes pris en charge par TLS : les clients envoient de telles valeurs au hasard pour que les serveurs apprennent à ignorer les entrées inconnues. Elle ne désigne jamais un algorithme réel.NRFC 8701
0xFF01arbitrary_explicit_prime_curvesarbitrary_explicit_prime_curves (0xFF01) indique au pair que les paramètres de courbe sont envoyés explicitement au lieu de nommer un groupe. La RFC 8422 déconseille les courbes explicites.NRFC 8422
0xFF02arbitrary_explicit_char2_curvesarbitrary_explicit_char2_curves (0xFF02) indique au pair que les paramètres de courbe sont envoyés explicitement au lieu de nommer un groupe. La RFC 8422 déconseille les courbes explicites.NRFC 8422
Plages non attribuées et réservées · 26 entrées
PlageStatutDescription
0x0000reservedReserved
0x002A–0x00FFunassignedUnassigned
0x0105–0x01FBunassignedUnassigned
0x01FC–0x01FFprivateReserved for Private Use
0x0203–0x0A09unassignedUnassigned
0x0A0B–0x11E8unassignedUnassigned
0x11EF–0x1A19unassignedUnassigned
0x1A1B–0x2A29unassignedUnassigned
0x2A2B–0x3A39unassignedUnassigned
0x3A3B–0x4A49unassignedUnassigned
0x4A4B–0x5A59unassignedUnassigned
0x5A5B–0x6398unassignedUnassigned
0x639B–0x6A69unassignedUnassigned
0x6A6B–0x7A79unassignedUnassigned
0x7A7B–0x8A89unassignedUnassigned
0x8A8B–0x9A99unassignedUnassigned
0x9A9B–0xAAA9unassignedUnassigned
0xAAAB–0xBAB9unassignedUnassigned
0xBABB–0xCAC9unassignedUnassigned
0xCACB–0xDAD9unassignedUnassigned
0xDADB–0xEAE9unassignedUnassigned
0xEAEB–0xFAF9unassignedUnassigned
0xFAFB–0xFDFFunassignedUnassigned
0xFE00–0xFEFFprivateReserved for Private Use
0xFF00unassignedUnassigned
0xFF03–0xFFFFunassignedUnassigned

Source : Transport Layer Security (TLS) Parameters (IANA), récupérée le 2026-10-20. Licence des données : CC0-1.0. TLS Supported Groups

Remarques sur les entrées notables

secp256r1

ECDHE sur P-256 : l’échange de clés que la RFC 8446 rend obligatoire pour toute implémentation de TLS 1.3.

secp256r1 (23) est le groupe qu’une implémentation de TLS 1.3 DOIT prendre en charge (RFC 8446 §9.1), ce qui en fait la solution de repli qui fonctionne toujours. Sa key share est un point non compressé de 65 octets ; TLS 1.3 interdit les points compressés pour ces courbes. Voir la courbe P-256.

secp384r1

ECDHE sur P-384, exigé par la suite CNSA 1.0 de la NSA.

secp384r1 (24) est marqué comme recommandé par l’IANA, et c’est le groupe des configurations conformes à CNSA. Sa key share fait 97 octets. L’hybride SecP384r1MLKEM1024 l’associe à ML-KEM-1024 pour les transitions vers CNSA 2.0. Voir la courbe P-384.

x25519

Diffie–Hellman sur la courbe elliptique Curve25519, l’échange de clés classique par défaut de TLS 1.3.

x25519 (29) est la key share TLS 1.3 la plus courante et la moitié classique de X25519MLKEM768. Selon la RFC 8446 §9.1, les implémentations DEVRAIENT le prendre en charge, en plus de secp256r1, qui est obligatoire. Les key shares font 32 octets. Voir la courbe Curve25519.

ffdhe2048

Le groupe Diffie–Hellman de 2048 bits sur corps fini de la RFC 7919.

La RFC 7919 a remplacé les paramètres DHE choisis par le serveur – souvent de 1024 bits, parfois partagés par de nombreux serveurs et exposés au précalcul, comme l’a montré l’attaque Logjam – par cinq groupes nommés et fixes. TLS 1.3 les négocie par supported_groups. La RFC 10015 §3 interdit les suites de chiffrement FFDHE en TLS 1.2 ; ces groupes ne comptent donc plus que pour TLS 1.3, où ils sont rarement utilisés.

MLKEM768

ML-KEM-768 seul, sans composante classique : un échange de clés TLS purement post-quantique.

MLKEM768 (513) n’utilise que le KEM de FIPS 203. Si ML-KEM était cassé, plus rien ne protégerait la session : c’est pourquoi le web utilise des hybrides comme X25519MLKEM768 ; les groupes purs visent les environnements dont la politique exige des algorithmes exclusivement post-quantiques.

SecP256r1MLKEM768

L’hybride d’ECDHE sur P-256 et de ML-KEM-768, pour les déploiements qui doivent s’en tenir aux courbes approuvées par le NIST.

SecP256r1MLKEM768 (0x11EB, RFC 10024) combine une key share P-256 et ML-KEM-768. Comme les deux composantes sont approuvées par le NIST, il convient aux déploiements validés FIPS qui ne peuvent pas utiliser X25519.

X25519MLKEM768

L’échange de clés hybride post-quantique que les navigateurs et les grands serveurs négocient par défaut : X25519 combiné à ML-KEM-768.

X25519MLKEM768 (0x11EC, RFC 10024) envoie une clé d’encapsulation ML-KEM-768 et une key share X25519 dans une seule entrée key_share, puis concatène les deux secrets partagés : la session reste secrète tant que l’un des deux algorithmes résiste. Il protège le trafic actuel contre les attaques « récolter maintenant, déchiffrer plus tard » des futurs ordinateurs quantiques. L’IANA le marque comme recommandé.

La key share du ClientHello fait environ 1,2 Ko, ce qui fait dépasser au ClientHello la taille d’un segment TCP et a mis au jour des équipements intermédiaires incapables de traiter un ClientHello fragmenté. Les premiers déploiements utilisaient le point de code X25519Kyber768Draft00 (0x6399), antérieur à la norme et aujourd’hui obsolète.

Tous les registres