Pular para o conteúdo
ecdsa.com
TLS

Grupos suportados do TLS: curvas, FFDHE e ML-KEM

Named groups da troca de chaves TLS, do registro da IANA: curvas elípticas, grupos de campo finito, ML-KEM e grupos híbridos pós-quânticos, com seus códigos.

Exibindo 75 de 75

Grupos suportados do TLS · 75 entradas

Named groups para a troca de chaves do TLS: curvas elípticas, grupos de campo finito, ML-KEM e grupos híbridos pós-quânticos.

ValorNomeDescriçãoRecomendadoReferências
0x0001sect163k1sect163k1 (0x0001) é Diffie–Hellman de curva elíptica sobre sect163k1.sect163k1DRFC 8422RFC 9847
0x0002sect163r1sect163r1 (0x0002) é Diffie–Hellman de curva elíptica sobre sect163r1.DRFC 8422RFC 9847
0x0003sect163r2sect163r2 (0x0003) é Diffie–Hellman de curva elíptica sobre sect163r2.sect163r2DRFC 8422RFC 9847
0x0004sect193r1sect193r1 (0x0004) é Diffie–Hellman de curva elíptica sobre sect193r1.DRFC 8422RFC 9847
0x0005sect193r2sect193r2 (0x0005) é Diffie–Hellman de curva elíptica sobre sect193r2.DRFC 8422RFC 9847
0x0006sect233k1sect233k1 (0x0006) é Diffie–Hellman de curva elíptica sobre sect233k1.sect233k1DRFC 8422RFC 9847
0x0007sect233r1sect233r1 (0x0007) é Diffie–Hellman de curva elíptica sobre sect233r1.sect233r1DRFC 8422RFC 9847
0x0008sect239k1sect239k1 (0x0008) é Diffie–Hellman de curva elíptica sobre sect239k1.DRFC 8422RFC 9847
0x0009sect283k1sect283k1 (0x0009) é Diffie–Hellman de curva elíptica sobre sect283k1.sect283k1NRFC 8422
0x000Asect283r1sect283r1 (0x000A) é Diffie–Hellman de curva elíptica sobre sect283r1.sect283r1NRFC 8422
0x000Bsect409k1sect409k1 (0x000B) é Diffie–Hellman de curva elíptica sobre sect409k1.sect409k1NRFC 8422
0x000Csect409r1sect409r1 (0x000C) é Diffie–Hellman de curva elíptica sobre sect409r1.sect409r1NRFC 8422
0x000Dsect571k1sect571k1 (0x000D) é Diffie–Hellman de curva elíptica sobre sect571k1.sect571k1NRFC 8422
0x000Esect571r1sect571r1 (0x000E) é Diffie–Hellman de curva elíptica sobre sect571r1.sect571r1NRFC 8422
0x000Fsecp160k1secp160k1 (0x000F) é Diffie–Hellman de curva elíptica sobre secp160k1.DRFC 8422RFC 9847
0x0010secp160r1secp160r1 (0x0010) é Diffie–Hellman de curva elíptica sobre secp160r1.DRFC 8422RFC 9847
0x0011secp160r2secp160r2 (0x0011) é Diffie–Hellman de curva elíptica sobre secp160r2.DRFC 8422RFC 9847
0x0012secp192k1secp192k1 (0x0012) é Diffie–Hellman de curva elíptica sobre secp192k1.secp192k1DRFC 8422RFC 9847
0x0013secp192r1secp192r1 (0x0013) é Diffie–Hellman de curva elíptica sobre P-192.P-192DRFC 8422RFC 9847
0x0014secp224k1secp224k1 (0x0014) é Diffie–Hellman de curva elíptica sobre secp224k1.secp224k1DRFC 8422RFC 9847
0x0015secp224r1secp224r1 (0x0015) é Diffie–Hellman de curva elíptica sobre P-224.P-224DRFC 8422RFC 9847
0x0016secp256k1secp256k1 (0x0016) é Diffie–Hellman de curva elíptica sobre secp256k1.secp256k1NRFC 8422
0x0017Notasecp256r1secp256r1 (0x0017) é Diffie–Hellman de curva elíptica sobre P-256.P-256YRFC 8422
0x0018Notasecp384r1secp384r1 (0x0018) é Diffie–Hellman de curva elíptica sobre P-384.P-384YRFC 8422
0x0019secp521r1secp521r1 (0x0019) é Diffie–Hellman de curva elíptica sobre P-521.P-521NRFC 8422
0x001AbrainpoolP256r1brainpoolP256r1 (0x001A) é Diffie–Hellman de curva elíptica sobre brainpoolP256r1.brainpoolP256r1NRFC 7027
0x001BbrainpoolP384r1brainpoolP384r1 (0x001B) é Diffie–Hellman de curva elíptica sobre brainpoolP384r1.brainpoolP384r1NRFC 7027
0x001CbrainpoolP512r1brainpoolP512r1 (0x001C) é Diffie–Hellman de curva elíptica sobre brainpoolP512r1.brainpoolP512r1NRFC 7027
0x001DNotax25519x25519 (0x001D) é Diffie–Hellman de curva elíptica sobre curve25519.curve25519YRFC 9846RFC 8422
0x001Ex448x448 (0x001E) é Diffie–Hellman de curva elíptica sobre curve448.curve448YRFC 9846RFC 8422
0x001FbrainpoolP256r1tls13brainpoolP256r1tls13 (0x001F) é Diffie–Hellman de curva elíptica sobre brainpoolP256r1.brainpoolP256r1NRFC 8734
0x0020brainpoolP384r1tls13brainpoolP384r1tls13 (0x0020) é Diffie–Hellman de curva elíptica sobre brainpoolP384r1.brainpoolP384r1NRFC 8734
0x0021brainpoolP512r1tls13brainpoolP512r1tls13 (0x0021) é Diffie–Hellman de curva elíptica sobre brainpoolP512r1.brainpoolP512r1NRFC 8734
0x0022GC256AGC256A (0x0022) é Diffie–Hellman de curva elíptica sobre GC256A.GC256ANRFC 9189
0x0023GC256BGC256B (0x0023) é Diffie–Hellman de curva elíptica sobre GC256B.GC256BNRFC 9189
0x0024GC256CGC256C (0x0024) é Diffie–Hellman de curva elíptica sobre GC256C.GC256CNRFC 9189
0x0025GC256DGC256D (0x0025) é Diffie–Hellman de curva elíptica sobre GC256D.GC256DNRFC 9189
0x0026GC512AGC512A (0x0026) é Diffie–Hellman de curva elíptica sobre GC512A.GC512ANRFC 9189
0x0027GC512BGC512B (0x0027) é Diffie–Hellman de curva elíptica sobre GC512B.GC512BNRFC 9189
0x0028GC512CGC512C (0x0028) é Diffie–Hellman de curva elíptica sobre GC512C.GC512CNRFC 9189
0x0029curveSM2curveSM2 (0x0029) é Diffie–Hellman de curva elíptica sobre SM2.SM2NRFC 8998
0x0100Notaffdhe2048ffdhe2048 (0x0100) é um grupo Diffie–Hellman de campo finito de 2048 bits da RFC 7919.NRFC 7919
0x0101ffdhe3072ffdhe3072 (0x0101) é um grupo Diffie–Hellman de campo finito de 3072 bits da RFC 7919.NRFC 7919
0x0102ffdhe4096ffdhe4096 (0x0102) é um grupo Diffie–Hellman de campo finito de 4096 bits da RFC 7919.NRFC 7919
0x0103ffdhe6144ffdhe6144 (0x0103) é um grupo Diffie–Hellman de campo finito de 6144 bits da RFC 7919.NRFC 7919
0x0104ffdhe8192ffdhe8192 (0x0104) é um grupo Diffie–Hellman de campo finito de 8192 bits da RFC 7919.NRFC 7919
0x0200MLKEM512MLKEM512 (0x0200) é um acordo de chaves pós-quântico só com ML-KEM-512 (FIPS 203), sem componente clássico.NRFC-ietf-tls-mlkem-10
0x0201NotaMLKEM768MLKEM768 (0x0201) é um acordo de chaves pós-quântico só com ML-KEM-768 (FIPS 203), sem componente clássico.NRFC-ietf-tls-mlkem-10
0x0202MLKEM1024MLKEM1024 (0x0202) é um acordo de chaves pós-quântico só com ML-KEM-1024 (FIPS 203), sem componente clássico.NRFC-ietf-tls-mlkem-10
0x0A0AReserved0x0A0A é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0x11E9SecP256r1MLKEM512SecP256r1MLKEM512 (0x11E9) é uma troca de chaves híbrida: o segredo compartilhado combina secp256r1 com ML-KEM-512, então continua secreto enquanto qualquer um dos dois resistir.P-256Ndraft-rosomakho-tls-ecdhe-mlkem512-00
0x11EAMLKEM512X25519MLKEM512X25519 (0x11EA) é uma troca de chaves híbrida: o segredo compartilhado combina X25519 com ML-KEM-512, então continua secreto enquanto qualquer um dos dois resistir.curve25519Ndraft-rosomakho-tls-ecdhe-mlkem512-00
0x11EBNotaSecP256r1MLKEM768SecP256r1MLKEM768 (0x11EB) é uma troca de chaves híbrida: o segredo compartilhado combina secp256r1 com ML-KEM-768, então continua secreto enquanto qualquer um dos dois resistir.P-256NRFC 10024
0x11ECNotaX25519MLKEM768X25519MLKEM768 (0x11EC) é uma troca de chaves híbrida: o segredo compartilhado combina X25519 com ML-KEM-768, então continua secreto enquanto qualquer um dos dois resistir.curve25519YRFC 10024
0x11EDSecP384r1MLKEM1024SecP384r1MLKEM1024 (0x11ED) é uma troca de chaves híbrida: o segredo compartilhado combina secp384r1 com ML-KEM-1024, então continua secreto enquanto qualquer um dos dois resistir.P-384NRFC 10024
0x11EEcurveSM2MLKEM768curveSM2MLKEM768 (0x11EE) é uma troca de chaves híbrida: o segredo compartilhado combina curveSM2 com ML-KEM-768, então continua secreto enquanto qualquer um dos dois resistir.SM2Ndraft-yang-tls-hybrid-sm2-mlkem-03
0x1A1AReserved0x1A1A é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0x2A2AReserved0x2A2A é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0x3A3AReserved0x3A3A é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0x4A4AReserved0x4A4A é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0x5A5AReserved0x5A5A é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0x6399X25519Kyber768Draft00X25519Kyber768Draft00 (0x6399) é uma troca de chaves híbrida: o segredo compartilhado combina X25519 com Kyber768 (draft 00), então continua secreto enquanto qualquer um dos dois resistir. É um ponto de código anterior ao padrão e agora obsoleto.curve25519Ddraft-tls-westerbaan-xyber768d00-02RFC 10024
0x639ASecP256r1Kyber768Draft00SecP256r1Kyber768Draft00 (0x639A) é uma troca de chaves híbrida: o segredo compartilhado combina secp256r1 com Kyber768 (draft 00), então continua secreto enquanto qualquer um dos dois resistir. É um ponto de código anterior ao padrão e agora obsoleto.P-256Ddraft-kwiatkowski-tls-ecdhe-kyber-01RFC 10024
0x6A6AReserved0x6A6A é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0x7A7AReserved0x7A7A é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0x8A8AReserved0x8A8A é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0x9A9AReserved0x9A9A é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0xAAAAReserved0xAAAA é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0xBABAReserved0xBABA é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0xCACAReserved0xCACA é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0xDADAReserved0xDADA é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0xEAEAReserved0xEAEA é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0xFAFAReserved0xFAFA é um valor GREASE (RFC 8701) no registro de grupos suportados do TLS: os clientes enviam esses valores aleatoriamente para que os servidores aprendam a ignorar entradas desconhecidas. Ele nunca identifica um algoritmo real.NRFC 8701
0xFF01arbitrary_explicit_prime_curvesarbitrary_explicit_prime_curves (0xFF01) informa ao par que os parâmetros da curva são enviados explicitamente, em vez de nomear um grupo. A RFC 8422 descontinua as curvas explícitas.NRFC 8422
0xFF02arbitrary_explicit_char2_curvesarbitrary_explicit_char2_curves (0xFF02) informa ao par que os parâmetros da curva são enviados explicitamente, em vez de nomear um grupo. A RFC 8422 descontinua as curvas explícitas.NRFC 8422
Intervalos não atribuídos e reservados · 26 entradas
IntervaloStatusDescrição
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

Fonte: Transport Layer Security (TLS) Parameters (IANA), consultada em 2026-10-20. Licença dos dados: CC0-1.0. TLS Supported Groups

Observações sobre entradas relevantes

secp256r1

ECDHE na curva P-256: a troca de chaves que a RFC 8446 torna obrigatória para toda implementação de TLS 1.3.

secp256r1 (23) é o grupo que uma implementação de TLS 1.3 DEVE aceitar (RFC 8446 §9.1), o que faz dele a alternativa que sempre funciona. O key share dele é um ponto não comprimido de 65 bytes; o TLS 1.3 proíbe pontos comprimidos nessas curvas. Veja P-256.

secp384r1

ECDHE na curva P-384, exigido pelo conjunto de algoritmos CNSA 1.0 da NSA.

secp384r1 (24) é marcado como recomendado pela IANA e é o grupo das configurações em conformidade com o CNSA. O key share dele tem 97 bytes. O híbrido SecP384r1MLKEM1024 o combina com ML-KEM-1024 para a transição ao CNSA 2.0. Veja P-384.

x25519

Diffie–Hellman de curva elíptica sobre a Curve25519, a troca de chaves clássica padrão do TLS 1.3.

x25519 (29) é o key share mais comum do TLS 1.3 e a metade clássica do X25519MLKEM768. Segundo a RFC 8446 §9.1, as implementações DEVERIAM oferecer suporte a ele, ao lado do obrigatório secp256r1. Os key shares têm 32 bytes. Veja Curve25519.

ffdhe2048

O grupo Diffie–Hellman de campo finito de 2048 bits da RFC 7919.

A RFC 7919 substituiu os parâmetros DHE escolhidos pelo servidor — muitas vezes de 1024 bits, às vezes compartilhados por muitos servidores e passíveis de pré-computação, como mostrou o ataque Logjam — por cinco named groups fixos. O TLS 1.3 os negocia por meio de supported_groups. A RFC 10015 §3 proíbe as cipher suites FFDHE no TLS 1.2, então esses grupos agora só importam no TLS 1.3, em que raramente são usados.

MLKEM768

ML-KEM-768 sozinho, sem componente clássico: uma troca de chaves TLS puramente pós-quântica.

O MLKEM768 (513) usa apenas o KEM do FIPS 203. Se o ML-KEM fosse quebrado, nada protegeria a sessão, e é por isso que a web usa híbridos como o X25519MLKEM768; os grupos puros se destinam a ambientes cuja política exige algoritmos exclusivamente pós-quânticos.

SecP256r1MLKEM768

O híbrido de ECDHE na curva P-256 com ML-KEM-768, para implantações que precisam se manter em curvas aprovadas pelo NIST.

O SecP256r1MLKEM768 (0x11EB, RFC 10024) combina um key share P-256 com ML-KEM-768. Como os dois componentes são aprovados pelo NIST, ele serve para implantações com validação FIPS que não podem usar X25519.

X25519MLKEM768

A troca de chaves híbrida pós-quântica que os navegadores e os principais servidores negociam por padrão: X25519 combinado com ML-KEM-768.

O X25519MLKEM768 (0x11EC, RFC 10024) envia uma chave de encapsulamento ML-KEM-768 e um key share X25519 em uma única entrada key_share e concatena os dois segredos compartilhados; assim, a sessão continua secreta enquanto qualquer um dos dois algoritmos resistir. Ele protege o tráfego de hoje contra ataques do tipo “coletar agora, descriptografar depois” de futuros computadores quânticos. A IANA o marca como recomendado.

O key share no ClientHello tem cerca de 1,2 KB, o que faz o ClientHello ultrapassar um segmento TCP e expôs equipamentos intermediários (middleboxes) que não conseguem lidar com ClientHellos divididos. Implantações anteriores usavam o ponto de código pré-padrão X25519Kyber768Draft00 (0x6399), hoje obsoleto.

Todos os registros