Saltar al contenido
ecdsa.com
TLS

Grupos admitidos en TLS: curvas, FFDHE y ML-KEM

Grupos de intercambio de claves TLS del registro de la IANA: curvas elípticas, grupos de campo finito, ML-KEM e híbridos poscuánticos, con puntos de código.

Visibles: 75 de 75

Grupos admitidos de TLS · 75 entradas

Grupos con nombre para el intercambio de claves TLS: curvas elípticas, grupos de campo finito, ML-KEM y grupos híbridos poscuánticos.

ValorNombreDescripciónRecomendadoReferencias
0x0001sect163k1sect163k1 (0x0001) es Diffie–Hellman de curva elíptica sobre sect163k1.sect163k1DRFC 8422RFC 9847
0x0002sect163r1sect163r1 (0x0002) es Diffie–Hellman de curva elíptica sobre sect163r1.DRFC 8422RFC 9847
0x0003sect163r2sect163r2 (0x0003) es Diffie–Hellman de curva elíptica sobre sect163r2.sect163r2DRFC 8422RFC 9847
0x0004sect193r1sect193r1 (0x0004) es Diffie–Hellman de curva elíptica sobre sect193r1.DRFC 8422RFC 9847
0x0005sect193r2sect193r2 (0x0005) es Diffie–Hellman de curva elíptica sobre sect193r2.DRFC 8422RFC 9847
0x0006sect233k1sect233k1 (0x0006) es Diffie–Hellman de curva elíptica sobre sect233k1.sect233k1DRFC 8422RFC 9847
0x0007sect233r1sect233r1 (0x0007) es Diffie–Hellman de curva elíptica sobre sect233r1.sect233r1DRFC 8422RFC 9847
0x0008sect239k1sect239k1 (0x0008) es Diffie–Hellman de curva elíptica sobre sect239k1.DRFC 8422RFC 9847
0x0009sect283k1sect283k1 (0x0009) es Diffie–Hellman de curva elíptica sobre sect283k1.sect283k1NRFC 8422
0x000Asect283r1sect283r1 (0x000A) es Diffie–Hellman de curva elíptica sobre sect283r1.sect283r1NRFC 8422
0x000Bsect409k1sect409k1 (0x000B) es Diffie–Hellman de curva elíptica sobre sect409k1.sect409k1NRFC 8422
0x000Csect409r1sect409r1 (0x000C) es Diffie–Hellman de curva elíptica sobre sect409r1.sect409r1NRFC 8422
0x000Dsect571k1sect571k1 (0x000D) es Diffie–Hellman de curva elíptica sobre sect571k1.sect571k1NRFC 8422
0x000Esect571r1sect571r1 (0x000E) es Diffie–Hellman de curva elíptica sobre sect571r1.sect571r1NRFC 8422
0x000Fsecp160k1secp160k1 (0x000F) es Diffie–Hellman de curva elíptica sobre secp160k1.DRFC 8422RFC 9847
0x0010secp160r1secp160r1 (0x0010) es Diffie–Hellman de curva elíptica sobre secp160r1.DRFC 8422RFC 9847
0x0011secp160r2secp160r2 (0x0011) es Diffie–Hellman de curva elíptica sobre secp160r2.DRFC 8422RFC 9847
0x0012secp192k1secp192k1 (0x0012) es Diffie–Hellman de curva elíptica sobre secp192k1.secp192k1DRFC 8422RFC 9847
0x0013secp192r1secp192r1 (0x0013) es Diffie–Hellman de curva elíptica sobre P-192.P-192DRFC 8422RFC 9847
0x0014secp224k1secp224k1 (0x0014) es Diffie–Hellman de curva elíptica sobre secp224k1.secp224k1DRFC 8422RFC 9847
0x0015secp224r1secp224r1 (0x0015) es Diffie–Hellman de curva elíptica sobre P-224.P-224DRFC 8422RFC 9847
0x0016secp256k1secp256k1 (0x0016) es Diffie–Hellman de curva elíptica sobre secp256k1.secp256k1NRFC 8422
0x0017Notasecp256r1secp256r1 (0x0017) es Diffie–Hellman de curva elíptica sobre P-256.P-256YRFC 8422
0x0018Notasecp384r1secp384r1 (0x0018) es Diffie–Hellman de curva elíptica sobre P-384.P-384YRFC 8422
0x0019secp521r1secp521r1 (0x0019) es Diffie–Hellman de curva elíptica sobre P-521.P-521NRFC 8422
0x001AbrainpoolP256r1brainpoolP256r1 (0x001A) es Diffie–Hellman de curva elíptica sobre brainpoolP256r1.brainpoolP256r1NRFC 7027
0x001BbrainpoolP384r1brainpoolP384r1 (0x001B) es Diffie–Hellman de curva elíptica sobre brainpoolP384r1.brainpoolP384r1NRFC 7027
0x001CbrainpoolP512r1brainpoolP512r1 (0x001C) es Diffie–Hellman de curva elíptica sobre brainpoolP512r1.brainpoolP512r1NRFC 7027
0x001DNotax25519x25519 (0x001D) es Diffie–Hellman de curva elíptica sobre curve25519.curve25519YRFC 9846RFC 8422
0x001Ex448x448 (0x001E) es Diffie–Hellman de curva elíptica sobre curve448.curve448YRFC 9846RFC 8422
0x001FbrainpoolP256r1tls13brainpoolP256r1tls13 (0x001F) es Diffie–Hellman de curva elíptica sobre brainpoolP256r1.brainpoolP256r1NRFC 8734
0x0020brainpoolP384r1tls13brainpoolP384r1tls13 (0x0020) es Diffie–Hellman de curva elíptica sobre brainpoolP384r1.brainpoolP384r1NRFC 8734
0x0021brainpoolP512r1tls13brainpoolP512r1tls13 (0x0021) es Diffie–Hellman de curva elíptica sobre brainpoolP512r1.brainpoolP512r1NRFC 8734
0x0022GC256AGC256A (0x0022) es Diffie–Hellman de curva elíptica sobre GC256A.GC256ANRFC 9189
0x0023GC256BGC256B (0x0023) es Diffie–Hellman de curva elíptica sobre GC256B.GC256BNRFC 9189
0x0024GC256CGC256C (0x0024) es Diffie–Hellman de curva elíptica sobre GC256C.GC256CNRFC 9189
0x0025GC256DGC256D (0x0025) es Diffie–Hellman de curva elíptica sobre GC256D.GC256DNRFC 9189
0x0026GC512AGC512A (0x0026) es Diffie–Hellman de curva elíptica sobre GC512A.GC512ANRFC 9189
0x0027GC512BGC512B (0x0027) es Diffie–Hellman de curva elíptica sobre GC512B.GC512BNRFC 9189
0x0028GC512CGC512C (0x0028) es Diffie–Hellman de curva elíptica sobre GC512C.GC512CNRFC 9189
0x0029curveSM2curveSM2 (0x0029) es Diffie–Hellman de curva elíptica sobre SM2.SM2NRFC 8998
0x0100Notaffdhe2048ffdhe2048 (0x0100) es un grupo Diffie–Hellman de campo finito de 2048 bits, definido en el RFC 7919.NRFC 7919
0x0101ffdhe3072ffdhe3072 (0x0101) es un grupo Diffie–Hellman de campo finito de 3072 bits, definido en el RFC 7919.NRFC 7919
0x0102ffdhe4096ffdhe4096 (0x0102) es un grupo Diffie–Hellman de campo finito de 4096 bits, definido en el RFC 7919.NRFC 7919
0x0103ffdhe6144ffdhe6144 (0x0103) es un grupo Diffie–Hellman de campo finito de 6144 bits, definido en el RFC 7919.NRFC 7919
0x0104ffdhe8192ffdhe8192 (0x0104) es un grupo Diffie–Hellman de campo finito de 8192 bits, definido en el RFC 7919.NRFC 7919
0x0200MLKEM512MLKEM512 (0x0200) es un acuerdo de claves poscuántico solo con ML-KEM-512 (FIPS 203), sin componente clásico.NRFC-ietf-tls-mlkem-10
0x0201NotaMLKEM768MLKEM768 (0x0201) es un acuerdo de claves poscuántico solo con ML-KEM-768 (FIPS 203), sin componente clásico.NRFC-ietf-tls-mlkem-10
0x0202MLKEM1024MLKEM1024 (0x0202) es un acuerdo de claves poscuántico solo con ML-KEM-1024 (FIPS 203), sin componente clásico.NRFC-ietf-tls-mlkem-10
0x0A0AReserved0x0A0A es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0x11E9SecP256r1MLKEM512SecP256r1MLKEM512 (0x11E9) es un intercambio de claves híbrido: el secreto compartido combina secp256r1 con ML-KEM-512, así que sigue siendo secreto mientras resista cualquiera de los dos.P-256Ndraft-rosomakho-tls-ecdhe-mlkem512-00
0x11EAMLKEM512X25519MLKEM512X25519 (0x11EA) es un intercambio de claves híbrido: el secreto compartido combina X25519 con ML-KEM-512, así que sigue siendo secreto mientras resista cualquiera de los dos.curve25519Ndraft-rosomakho-tls-ecdhe-mlkem512-00
0x11EBNotaSecP256r1MLKEM768SecP256r1MLKEM768 (0x11EB) es un intercambio de claves híbrido: el secreto compartido combina secp256r1 con ML-KEM-768, así que sigue siendo secreto mientras resista cualquiera de los dos.P-256NRFC 10024
0x11ECNotaX25519MLKEM768X25519MLKEM768 (0x11EC) es un intercambio de claves híbrido: el secreto compartido combina X25519 con ML-KEM-768, así que sigue siendo secreto mientras resista cualquiera de los dos.curve25519YRFC 10024
0x11EDSecP384r1MLKEM1024SecP384r1MLKEM1024 (0x11ED) es un intercambio de claves híbrido: el secreto compartido combina secp384r1 con ML-KEM-1024, así que sigue siendo secreto mientras resista cualquiera de los dos.P-384NRFC 10024
0x11EEcurveSM2MLKEM768curveSM2MLKEM768 (0x11EE) es un intercambio de claves híbrido: el secreto compartido combina curveSM2 con ML-KEM-768, así que sigue siendo secreto mientras resista cualquiera de los dos.SM2Ndraft-yang-tls-hybrid-sm2-mlkem-03
0x1A1AReserved0x1A1A es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0x2A2AReserved0x2A2A es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0x3A3AReserved0x3A3A es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0x4A4AReserved0x4A4A es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0x5A5AReserved0x5A5A es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0x6399X25519Kyber768Draft00X25519Kyber768Draft00 (0x6399) es un intercambio de claves híbrido: el secreto compartido combina X25519 con Kyber768 (draft 00), así que sigue siendo secreto mientras resista cualquiera de los dos. Es un punto de código anterior al estándar y ya está obsoleto.curve25519Ddraft-tls-westerbaan-xyber768d00-02RFC 10024
0x639ASecP256r1Kyber768Draft00SecP256r1Kyber768Draft00 (0x639A) es un intercambio de claves híbrido: el secreto compartido combina secp256r1 con Kyber768 (draft 00), así que sigue siendo secreto mientras resista cualquiera de los dos. Es un punto de código anterior al estándar y ya está obsoleto.P-256Ddraft-kwiatkowski-tls-ecdhe-kyber-01RFC 10024
0x6A6AReserved0x6A6A es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0x7A7AReserved0x7A7A es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0x8A8AReserved0x8A8A es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0x9A9AReserved0x9A9A es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0xAAAAReserved0xAAAA es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0xBABAReserved0xBABA es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0xCACAReserved0xCACA es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0xDADAReserved0xDADA es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0xEAEAReserved0xEAEA es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0xFAFAReserved0xFAFA es un valor GREASE (RFC 8701) del registro de grupos admitidos de TLS: los clientes envían estos valores al azar para que los servidores aprendan a ignorar las entradas desconocidas. Nunca identifica un algoritmo real.NRFC 8701
0xFF01arbitrary_explicit_prime_curvesarbitrary_explicit_prime_curves (0xFF01) indica al otro extremo que los parámetros de la curva se envían de forma explícita en lugar de nombrar un grupo. El RFC 8422 declara en desuso las curvas explícitas.NRFC 8422
0xFF02arbitrary_explicit_char2_curvesarbitrary_explicit_char2_curves (0xFF02) indica al otro extremo que los parámetros de la curva se envían de forma explícita en lugar de nombrar un grupo. El RFC 8422 declara en desuso las curvas explícitas.NRFC 8422
Rangos sin asignar y reservados · 26 entradas
RangoEstadoDescripción
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

Fuente: Transport Layer Security (TLS) Parameters (IANA), consultada el 2026-10-20. Licencia de los datos: CC0-1.0. TLS Supported Groups

Notas sobre entradas destacadas

secp256r1

ECDHE sobre P-256: el intercambio de claves que el RFC 8446 hace obligatorio para toda implementación de TLS 1.3.

secp256r1 (23) es el grupo que una implementación de TLS 1.3 debe (MUST) admitir (RFC 8446 §9.1), lo que lo convierte en la alternativa que siempre funciona. Su key share es un punto sin comprimir de 65 bytes; TLS 1.3 prohíbe los puntos comprimidos para estas curvas. Consulta la curva P-256.

secp384r1

ECDHE sobre P-384, exigido por la suite CNSA 1.0 de la NSA.

La IANA marca secp384r1 (24) como recomendado, y es el grupo de las configuraciones que cumplen CNSA. Su key share ocupa 97 bytes. El híbrido SecP384r1MLKEM1024 lo combina con ML-KEM-1024 para la transición a CNSA 2.0. Consulta la curva P-384.

x25519

Diffie–Hellman de curva elíptica sobre Curve25519, el intercambio de claves clásico predeterminado de TLS 1.3.

x25519 (29) es el key share más común de TLS 1.3 y la mitad clásica de X25519MLKEM768. El RFC 8446 §9.1 recomienda (SHOULD) que las implementaciones lo admitan, junto al obligatorio secp256r1. Los key shares ocupan 32 bytes. Consulta Curve25519.

ffdhe2048

El grupo Diffie–Hellman de campo finito de 2048 bits del RFC 7919.

El RFC 7919 sustituyó los parámetros DHE elegidos por el servidor —a menudo de 1024 bits, a veces compartidos por muchos servidores y precalculables, como demostró el ataque Logjam— por cinco grupos fijos con nombre. TLS 1.3 los negocia mediante supported_groups. El RFC 10015 §3 prohíbe los conjuntos de cifrado FFDHE en TLS 1.2, así que estos grupos ya solo importan en TLS 1.3, donde se usan poco.

MLKEM768

ML-KEM-768 solo, sin componente clásico: un intercambio de claves TLS puramente poscuántico.

MLKEM768 (513) usa solo el KEM de FIPS 203. Si ML-KEM se rompiera, nada protegería la sesión, y por eso la web usa híbridos como X25519MLKEM768; los grupos puros están pensados para entornos cuya política exige algoritmos exclusivamente poscuánticos.

SecP256r1MLKEM768

El híbrido de ECDHE sobre P-256 con ML-KEM-768, para despliegues que deben seguir usando curvas aprobadas por el NIST.

SecP256r1MLKEM768 (0x11EB, RFC 10024) combina un key share P-256 con ML-KEM-768. Como ambos componentes están aprobados por el NIST, encaja en despliegues validados según FIPS que no pueden usar X25519.

X25519MLKEM768

El intercambio de claves híbrido poscuántico que los navegadores y los grandes servidores negocian de forma predeterminada: X25519 combinado con ML-KEM-768.

X25519MLKEM768 (0x11EC, RFC 10024) envía una clave de encapsulación ML-KEM-768 y un key share X25519 en una sola entrada key_share y concatena los dos secretos compartidos, de modo que la sesión sigue siendo secreta mientras resista cualquiera de los dos algoritmos. Protege el tráfico actual frente a los ataques de tipo «cosechar ahora, descifrar después» de las futuras computadoras cuánticas. La IANA lo marca como recomendado.

El key share del ClientHello ocupa unos 1,2 KB, lo que hace que el ClientHello supere un segmento TCP y ha dejado al descubierto equipos intermedios (middleboxes) que no saben manejar un ClientHello dividido. Los primeros despliegues usaban el punto de código previo al estándar X25519Kyber768Draft00 (0x6399), hoy obsoleto.

Todos los registros