跳到主要内容
ecdsa.com
TLS

TLS 支持的组:曲线、FFDHE 与 ML-KEM

IANA 注册表中可用于 TLS 密钥交换的命名组(supported_groups):椭圆曲线、有限域(FFDHE)组、ML-KEM 以及混合后量子组,并为每个组附上对应的码点。

显示 75 项中的 75 项

TLS 支持的组 · 75 个条目

用于 TLS 密钥交换的命名组:椭圆曲线、有限域群、ML-KEM 以及混合后量子组。

值名称说明推荐参考文献
0x0001sect163k1sect163k1(0x0001)是使用 sect163k1 的椭圆曲线 Diffie–Hellman。sect163k1DRFC 8422RFC 9847
0x0002sect163r1sect163r1(0x0002)是使用 sect163r1 的椭圆曲线 Diffie–Hellman。DRFC 8422RFC 9847
0x0003sect163r2sect163r2(0x0003)是使用 sect163r2 的椭圆曲线 Diffie–Hellman。sect163r2DRFC 8422RFC 9847
0x0004sect193r1sect193r1(0x0004)是使用 sect193r1 的椭圆曲线 Diffie–Hellman。DRFC 8422RFC 9847
0x0005sect193r2sect193r2(0x0005)是使用 sect193r2 的椭圆曲线 Diffie–Hellman。DRFC 8422RFC 9847
0x0006sect233k1sect233k1(0x0006)是使用 sect233k1 的椭圆曲线 Diffie–Hellman。sect233k1DRFC 8422RFC 9847
0x0007sect233r1sect233r1(0x0007)是使用 sect233r1 的椭圆曲线 Diffie–Hellman。sect233r1DRFC 8422RFC 9847
0x0008sect239k1sect239k1(0x0008)是使用 sect239k1 的椭圆曲线 Diffie–Hellman。DRFC 8422RFC 9847
0x0009sect283k1sect283k1(0x0009)是使用 sect283k1 的椭圆曲线 Diffie–Hellman。sect283k1NRFC 8422
0x000Asect283r1sect283r1(0x000A)是使用 sect283r1 的椭圆曲线 Diffie–Hellman。sect283r1NRFC 8422
0x000Bsect409k1sect409k1(0x000B)是使用 sect409k1 的椭圆曲线 Diffie–Hellman。sect409k1NRFC 8422
0x000Csect409r1sect409r1(0x000C)是使用 sect409r1 的椭圆曲线 Diffie–Hellman。sect409r1NRFC 8422
0x000Dsect571k1sect571k1(0x000D)是使用 sect571k1 的椭圆曲线 Diffie–Hellman。sect571k1NRFC 8422
0x000Esect571r1sect571r1(0x000E)是使用 sect571r1 的椭圆曲线 Diffie–Hellman。sect571r1NRFC 8422
0x000Fsecp160k1secp160k1(0x000F)是使用 secp160k1 的椭圆曲线 Diffie–Hellman。DRFC 8422RFC 9847
0x0010secp160r1secp160r1(0x0010)是使用 secp160r1 的椭圆曲线 Diffie–Hellman。DRFC 8422RFC 9847
0x0011secp160r2secp160r2(0x0011)是使用 secp160r2 的椭圆曲线 Diffie–Hellman。DRFC 8422RFC 9847
0x0012secp192k1secp192k1(0x0012)是使用 secp192k1 的椭圆曲线 Diffie–Hellman。secp192k1DRFC 8422RFC 9847
0x0013secp192r1secp192r1(0x0013)是使用 P-192 的椭圆曲线 Diffie–Hellman。P-192DRFC 8422RFC 9847
0x0014secp224k1secp224k1(0x0014)是使用 secp224k1 的椭圆曲线 Diffie–Hellman。secp224k1DRFC 8422RFC 9847
0x0015secp224r1secp224r1(0x0015)是使用 P-224 的椭圆曲线 Diffie–Hellman。P-224DRFC 8422RFC 9847
0x0016secp256k1secp256k1(0x0016)是使用 secp256k1 的椭圆曲线 Diffie–Hellman。secp256k1NRFC 8422
0x0017说明secp256r1secp256r1(0x0017)是使用 P-256 的椭圆曲线 Diffie–Hellman。P-256YRFC 8422
0x0018说明secp384r1secp384r1(0x0018)是使用 P-384 的椭圆曲线 Diffie–Hellman。P-384YRFC 8422
0x0019secp521r1secp521r1(0x0019)是使用 P-521 的椭圆曲线 Diffie–Hellman。P-521NRFC 8422
0x001AbrainpoolP256r1brainpoolP256r1(0x001A)是使用 brainpoolP256r1 的椭圆曲线 Diffie–Hellman。brainpoolP256r1NRFC 7027
0x001BbrainpoolP384r1brainpoolP384r1(0x001B)是使用 brainpoolP384r1 的椭圆曲线 Diffie–Hellman。brainpoolP384r1NRFC 7027
0x001CbrainpoolP512r1brainpoolP512r1(0x001C)是使用 brainpoolP512r1 的椭圆曲线 Diffie–Hellman。brainpoolP512r1NRFC 7027
0x001D说明x25519x25519(0x001D)是使用 curve25519 的椭圆曲线 Diffie–Hellman。curve25519YRFC 9846RFC 8422
0x001Ex448x448(0x001E)是使用 curve448 的椭圆曲线 Diffie–Hellman。curve448YRFC 9846RFC 8422
0x001FbrainpoolP256r1tls13brainpoolP256r1tls13(0x001F)是使用 brainpoolP256r1 的椭圆曲线 Diffie–Hellman。brainpoolP256r1NRFC 8734
0x0020brainpoolP384r1tls13brainpoolP384r1tls13(0x0020)是使用 brainpoolP384r1 的椭圆曲线 Diffie–Hellman。brainpoolP384r1NRFC 8734
0x0021brainpoolP512r1tls13brainpoolP512r1tls13(0x0021)是使用 brainpoolP512r1 的椭圆曲线 Diffie–Hellman。brainpoolP512r1NRFC 8734
0x0022GC256AGC256A(0x0022)是使用 GC256A 的椭圆曲线 Diffie–Hellman。GC256ANRFC 9189
0x0023GC256BGC256B(0x0023)是使用 GC256B 的椭圆曲线 Diffie–Hellman。GC256BNRFC 9189
0x0024GC256CGC256C(0x0024)是使用 GC256C 的椭圆曲线 Diffie–Hellman。GC256CNRFC 9189
0x0025GC256DGC256D(0x0025)是使用 GC256D 的椭圆曲线 Diffie–Hellman。GC256DNRFC 9189
0x0026GC512AGC512A(0x0026)是使用 GC512A 的椭圆曲线 Diffie–Hellman。GC512ANRFC 9189
0x0027GC512BGC512B(0x0027)是使用 GC512B 的椭圆曲线 Diffie–Hellman。GC512BNRFC 9189
0x0028GC512CGC512C(0x0028)是使用 GC512C 的椭圆曲线 Diffie–Hellman。GC512CNRFC 9189
0x0029curveSM2curveSM2(0x0029)是使用 SM2 的椭圆曲线 Diffie–Hellman。SM2NRFC 8998
0x0100说明ffdhe2048ffdhe2048(0x0100)是 RFC 7919 中定义的 2048 位有限域 Diffie–Hellman 群。NRFC 7919
0x0101ffdhe3072ffdhe3072(0x0101)是 RFC 7919 中定义的 3072 位有限域 Diffie–Hellman 群。NRFC 7919
0x0102ffdhe4096ffdhe4096(0x0102)是 RFC 7919 中定义的 4096 位有限域 Diffie–Hellman 群。NRFC 7919
0x0103ffdhe6144ffdhe6144(0x0103)是 RFC 7919 中定义的 6144 位有限域 Diffie–Hellman 群。NRFC 7919
0x0104ffdhe8192ffdhe8192(0x0104)是 RFC 7919 中定义的 8192 位有限域 Diffie–Hellman 群。NRFC 7919
0x0200MLKEM512MLKEM512(0x0200)是仅使用 ML-KEM-512(FIPS 203)、不含经典算法组件的后量子密钥协商。NRFC-ietf-tls-mlkem-10
0x0201说明MLKEM768MLKEM768(0x0201)是仅使用 ML-KEM-768(FIPS 203)、不含经典算法组件的后量子密钥协商。NRFC-ietf-tls-mlkem-10
0x0202MLKEM1024MLKEM1024(0x0202)是仅使用 ML-KEM-1024(FIPS 203)、不含经典算法组件的后量子密钥协商。NRFC-ietf-tls-mlkem-10
0x0A0AReserved0x0A0A 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0x11E9SecP256r1MLKEM512SecP256r1MLKEM512(0x11E9)是混合密钥交换:共享密钥由 secp256r1 与 ML-KEM-512 组合而成,只要两者中任意一个未被攻破,它就仍然保密。P-256Ndraft-rosomakho-tls-ecdhe-mlkem512-00
0x11EAMLKEM512X25519MLKEM512X25519(0x11EA)是混合密钥交换:共享密钥由 X25519 与 ML-KEM-512 组合而成,只要两者中任意一个未被攻破,它就仍然保密。curve25519Ndraft-rosomakho-tls-ecdhe-mlkem512-00
0x11EB说明SecP256r1MLKEM768SecP256r1MLKEM768(0x11EB)是混合密钥交换:共享密钥由 secp256r1 与 ML-KEM-768 组合而成,只要两者中任意一个未被攻破,它就仍然保密。P-256NRFC 10024
0x11EC说明X25519MLKEM768X25519MLKEM768(0x11EC)是混合密钥交换:共享密钥由 X25519 与 ML-KEM-768 组合而成,只要两者中任意一个未被攻破,它就仍然保密。curve25519YRFC 10024
0x11EDSecP384r1MLKEM1024SecP384r1MLKEM1024(0x11ED)是混合密钥交换:共享密钥由 secp384r1 与 ML-KEM-1024 组合而成,只要两者中任意一个未被攻破,它就仍然保密。P-384NRFC 10024
0x11EEcurveSM2MLKEM768curveSM2MLKEM768(0x11EE)是混合密钥交换:共享密钥由 curveSM2 与 ML-KEM-768 组合而成,只要两者中任意一个未被攻破,它就仍然保密。SM2Ndraft-yang-tls-hybrid-sm2-mlkem-03
0x1A1AReserved0x1A1A 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0x2A2AReserved0x2A2A 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0x3A3AReserved0x3A3A 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0x4A4AReserved0x4A4A 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0x5A5AReserved0x5A5A 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0x6399X25519Kyber768Draft00X25519Kyber768Draft00(0x6399)是混合密钥交换:共享密钥由 X25519 与 Kyber768 (draft 00) 组合而成,只要两者中任意一个未被攻破,它就仍然保密。它是标准化之前的码点,现已废弃。curve25519Ddraft-tls-westerbaan-xyber768d00-02RFC 10024
0x639ASecP256r1Kyber768Draft00SecP256r1Kyber768Draft00(0x639A)是混合密钥交换:共享密钥由 secp256r1 与 Kyber768 (draft 00) 组合而成,只要两者中任意一个未被攻破,它就仍然保密。它是标准化之前的码点,现已废弃。P-256Ddraft-kwiatkowski-tls-ecdhe-kyber-01RFC 10024
0x6A6AReserved0x6A6A 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0x7A7AReserved0x7A7A 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0x8A8AReserved0x8A8A 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0x9A9AReserved0x9A9A 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0xAAAAReserved0xAAAA 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0xBABAReserved0xBABA 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0xCACAReserved0xCACA 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0xDADAReserved0xDADA 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0xEAEAReserved0xEAEA 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0xFAFAReserved0xFAFA 是“TLS 支持的组”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
0xFF01arbitrary_explicit_prime_curvesarbitrary_explicit_prime_curves(0xFF01)告知对端:曲线参数将被显式发送,而不是指定一个组。RFC 8422 已弃用显式曲线。NRFC 8422
0xFF02arbitrary_explicit_char2_curvesarbitrary_explicit_char2_curves(0xFF02)告知对端:曲线参数将被显式发送,而不是指定一个组。RFC 8422 已弃用显式曲线。NRFC 8422
未分配和保留的范围 · 26 个条目
范围状态说明
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

来源:Transport Layer Security (TLS) Parameters(IANA),获取于 2026-10-20。数据许可证:CC0-1.0。 TLS Supported Groups

重要条目说明

secp256r1

基于 P-256 的 ECDHE:RFC 8446 规定每个 TLS 1.3 实现都必须支持的密钥交换。

secp256r1(23)是 TLS 1.3 实现必须(MUST)支持的组(RFC 8446 §9.1),因此它是始终可用的回退选项。它的密钥共享(key share)是 65 字节的未压缩点;TLS 1.3 禁止这些曲线使用压缩点。参见 P-256。

secp384r1

基于 P-384 的 ECDHE,NSA 的 CNSA 1.0 套件要求使用。

IANA 将 secp384r1(24)标记为推荐,它也是符合 CNSA 的配置所使用的组。它的密钥共享为 97 字节。混合组 SecP384r1MLKEM1024 将它与 ML-KEM-1024 搭配,用于向 CNSA 2.0 过渡。参见 P-384。

x25519

基于 Curve25519 的椭圆曲线 Diffie–Hellman,是 TLS 1.3 默认的经典密钥交换。

x25519(29)是最常见的 TLS 1.3 密钥共享,也是 X25519MLKEM768 中的经典部分。RFC 8446 §9.1 规定,除必须支持的 secp256r1 外,实现还应当(SHOULD)支持它。密钥共享为 32 字节。参见 Curve25519。

ffdhe2048

RFC 7919 定义的 2048 位有限域 Diffie–Hellman 组。

RFC 7919 用五个固定的命名组取代了由服务器自选的 DHE 参数——正如 Logjam 攻击所揭示的,这类参数往往只有 1024 位,有时还被许多服务器共用,可以预先计算。TLS 1.3 通过 supported_groups 协商这些组。RFC 10015 §3 禁止在 TLS 1.2 中使用 FFDHE 密码套件,因此这些组如今只与 TLS 1.3 有关,而在 TLS 1.3 中它们也很少使用。

MLKEM768

单独使用 ML-KEM-768、不含经典算法成分的纯后量子 TLS 密钥交换。

MLKEM768(513)只使用 FIPS 203 定义的 KEM。一旦 ML-KEM 被攻破,就没有任何东西能保护会话,因此 Web 上使用的是 X25519MLKEM768 这样的混合方案;纯后量子组面向的是策略要求只使用后量子算法的环境。

SecP256r1MLKEM768

P-256 ECDHE 与 ML-KEM-768 的混合方案,适用于必须继续使用 NIST 认可曲线的部署。

SecP256r1MLKEM768(0x11EB,RFC 10024)将 P-256 密钥共享与 ML-KEM-768 组合在一起。由于两个组成部分都经过 NIST 认可,它适合无法使用 X25519 的 FIPS 验证部署。

X25519MLKEM768

浏览器和主流服务器默认协商的混合后量子密钥交换:X25519 与 ML-KEM-768 的组合。

X25519MLKEM768(0x11EC,RFC 10024)在同一个 key_share 条目中发送 ML-KEM-768 封装密钥和 X25519 密钥共享,并把两个共享密钥拼接起来,因此只要其中任一算法未被攻破,会话就仍然保密。它能保护当下的流量,抵御未来量子计算机发起的“先收集后解密”攻击。IANA 将其标记为推荐。

ClientHello 中的密钥共享约为 1.2 KB,这使 ClientHello 超出一个 TCP 分段,也暴露出一些无法处理分段 ClientHello 的中间设备。早期部署使用的是标准化之前的码点 X25519Kyber768Draft00(0x6399),现已废弃。

全部注册表