0x0001 | sect163k1 | sect163k1 (0x0001) is elliptic-curve Diffie–Hellman on sect163k1.sect163k1 | D | RFC 8422RFC 9847 |
0x0002 | sect163r1 | sect163r1 (0x0002) is elliptic-curve Diffie–Hellman on sect163r1. | D | RFC 8422RFC 9847 |
0x0003 | sect163r2 | sect163r2 (0x0003) is elliptic-curve Diffie–Hellman on sect163r2.sect163r2 | D | RFC 8422RFC 9847 |
0x0004 | sect193r1 | sect193r1 (0x0004) is elliptic-curve Diffie–Hellman on sect193r1. | D | RFC 8422RFC 9847 |
0x0005 | sect193r2 | sect193r2 (0x0005) is elliptic-curve Diffie–Hellman on sect193r2. | D | RFC 8422RFC 9847 |
0x0006 | sect233k1 | sect233k1 (0x0006) is elliptic-curve Diffie–Hellman on sect233k1.sect233k1 | D | RFC 8422RFC 9847 |
0x0007 | sect233r1 | sect233r1 (0x0007) is elliptic-curve Diffie–Hellman on sect233r1.sect233r1 | D | RFC 8422RFC 9847 |
0x0008 | sect239k1 | sect239k1 (0x0008) is elliptic-curve Diffie–Hellman on sect239k1. | D | RFC 8422RFC 9847 |
0x0009 | sect283k1 | sect283k1 (0x0009) is elliptic-curve Diffie–Hellman on sect283k1.sect283k1 | N | RFC 8422 |
0x000A | sect283r1 | sect283r1 (0x000A) is elliptic-curve Diffie–Hellman on sect283r1.sect283r1 | N | RFC 8422 |
0x000B | sect409k1 | sect409k1 (0x000B) is elliptic-curve Diffie–Hellman on sect409k1.sect409k1 | N | RFC 8422 |
0x000C | sect409r1 | sect409r1 (0x000C) is elliptic-curve Diffie–Hellman on sect409r1.sect409r1 | N | RFC 8422 |
0x000D | sect571k1 | sect571k1 (0x000D) is elliptic-curve Diffie–Hellman on sect571k1.sect571k1 | N | RFC 8422 |
0x000E | sect571r1 | sect571r1 (0x000E) is elliptic-curve Diffie–Hellman on sect571r1.sect571r1 | N | RFC 8422 |
0x000F | secp160k1 | secp160k1 (0x000F) is elliptic-curve Diffie–Hellman on secp160k1. | D | RFC 8422RFC 9847 |
0x0010 | secp160r1 | secp160r1 (0x0010) is elliptic-curve Diffie–Hellman on secp160r1. | D | RFC 8422RFC 9847 |
0x0011 | secp160r2 | secp160r2 (0x0011) is elliptic-curve Diffie–Hellman on secp160r2. | D | RFC 8422RFC 9847 |
0x0012 | secp192k1 | secp192k1 (0x0012) is elliptic-curve Diffie–Hellman on secp192k1.secp192k1 | D | RFC 8422RFC 9847 |
0x0013 | secp192r1 | secp192r1 (0x0013) is elliptic-curve Diffie–Hellman on P-192.P-192 | D | RFC 8422RFC 9847 |
0x0014 | secp224k1 | secp224k1 (0x0014) is elliptic-curve Diffie–Hellman on secp224k1.secp224k1 | D | RFC 8422RFC 9847 |
0x0015 | secp224r1 | secp224r1 (0x0015) is elliptic-curve Diffie–Hellman on P-224.P-224 | D | RFC 8422RFC 9847 |
0x0016 | secp256k1 | secp256k1 (0x0016) is elliptic-curve Diffie–Hellman on secp256k1.secp256k1 | N | RFC 8422 |
0x0017Note | secp256r1 | secp256r1 (0x0017) is elliptic-curve Diffie–Hellman on P-256.P-256 | Y | RFC 8422 |
0x0018Note | secp384r1 | secp384r1 (0x0018) is elliptic-curve Diffie–Hellman on P-384.P-384 | Y | RFC 8422 |
0x0019 | secp521r1 | secp521r1 (0x0019) is elliptic-curve Diffie–Hellman on P-521.P-521 | N | RFC 8422 |
0x001A | brainpoolP256r1 | brainpoolP256r1 (0x001A) is elliptic-curve Diffie–Hellman on brainpoolP256r1.brainpoolP256r1 | N | RFC 7027 |
0x001B | brainpoolP384r1 | brainpoolP384r1 (0x001B) is elliptic-curve Diffie–Hellman on brainpoolP384r1.brainpoolP384r1 | N | RFC 7027 |
0x001C | brainpoolP512r1 | brainpoolP512r1 (0x001C) is elliptic-curve Diffie–Hellman on brainpoolP512r1.brainpoolP512r1 | N | RFC 7027 |
0x001DNote | x25519 | x25519 (0x001D) is elliptic-curve Diffie–Hellman on curve25519.curve25519 | Y | RFC 9846RFC 8422 |
0x001E | x448 | x448 (0x001E) is elliptic-curve Diffie–Hellman on curve448.curve448 | Y | RFC 9846RFC 8422 |
0x001F | brainpoolP256r1tls13 | brainpoolP256r1tls13 (0x001F) is elliptic-curve Diffie–Hellman on brainpoolP256r1.brainpoolP256r1 | N | RFC 8734 |
0x0020 | brainpoolP384r1tls13 | brainpoolP384r1tls13 (0x0020) is elliptic-curve Diffie–Hellman on brainpoolP384r1.brainpoolP384r1 | N | RFC 8734 |
0x0021 | brainpoolP512r1tls13 | brainpoolP512r1tls13 (0x0021) is elliptic-curve Diffie–Hellman on brainpoolP512r1.brainpoolP512r1 | N | RFC 8734 |
0x0022 | GC256A | GC256A (0x0022) is elliptic-curve Diffie–Hellman on GC256A.GC256A | N | RFC 9189 |
0x0023 | GC256B | GC256B (0x0023) is elliptic-curve Diffie–Hellman on GC256B.GC256B | N | RFC 9189 |
0x0024 | GC256C | GC256C (0x0024) is elliptic-curve Diffie–Hellman on GC256C.GC256C | N | RFC 9189 |
0x0025 | GC256D | GC256D (0x0025) is elliptic-curve Diffie–Hellman on GC256D.GC256D | N | RFC 9189 |
0x0026 | GC512A | GC512A (0x0026) is elliptic-curve Diffie–Hellman on GC512A.GC512A | N | RFC 9189 |
0x0027 | GC512B | GC512B (0x0027) is elliptic-curve Diffie–Hellman on GC512B.GC512B | N | RFC 9189 |
0x0028 | GC512C | GC512C (0x0028) is elliptic-curve Diffie–Hellman on GC512C.GC512C | N | RFC 9189 |
0x0029 | curveSM2 | curveSM2 (0x0029) is elliptic-curve Diffie–Hellman on SM2.SM2 | N | RFC 8998 |
0x0100Note | ffdhe2048 | ffdhe2048 (0x0100) is a 2048-bit finite-field Diffie–Hellman group from RFC 7919. | N | RFC 7919 |
0x0101 | ffdhe3072 | ffdhe3072 (0x0101) is a 3072-bit finite-field Diffie–Hellman group from RFC 7919. | N | RFC 7919 |
0x0102 | ffdhe4096 | ffdhe4096 (0x0102) is a 4096-bit finite-field Diffie–Hellman group from RFC 7919. | N | RFC 7919 |
0x0103 | ffdhe6144 | ffdhe6144 (0x0103) is a 6144-bit finite-field Diffie–Hellman group from RFC 7919. | N | RFC 7919 |
0x0104 | ffdhe8192 | ffdhe8192 (0x0104) is a 8192-bit finite-field Diffie–Hellman group from RFC 7919. | N | RFC 7919 |
0x0200 | MLKEM512 | MLKEM512 (0x0200) is post-quantum key agreement with ML-KEM-512 (FIPS 203) alone, without a classical component. | N | RFC-ietf-tls-mlkem-10 |
0x0201Note | MLKEM768 | MLKEM768 (0x0201) is post-quantum key agreement with ML-KEM-768 (FIPS 203) alone, without a classical component. | N | RFC-ietf-tls-mlkem-10 |
0x0202 | MLKEM1024 | MLKEM1024 (0x0202) is post-quantum key agreement with ML-KEM-1024 (FIPS 203) alone, without a classical component. | N | RFC-ietf-tls-mlkem-10 |
0x0A0A | Reserved | 0x0A0A is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0x11E9 | SecP256r1MLKEM512 | SecP256r1MLKEM512 (0x11E9) is a hybrid key exchange: the shared secret combines secp256r1 with ML-KEM-512, so it stays secret as long as either of the two holds.P-256 | N | draft-rosomakho-tls-ecdhe-mlkem512-00 |
0x11EA | MLKEM512X25519 | MLKEM512X25519 (0x11EA) is a hybrid key exchange: the shared secret combines X25519 with ML-KEM-512, so it stays secret as long as either of the two holds.curve25519 | N | draft-rosomakho-tls-ecdhe-mlkem512-00 |
0x11EBNote | SecP256r1MLKEM768 | SecP256r1MLKEM768 (0x11EB) is a hybrid key exchange: the shared secret combines secp256r1 with ML-KEM-768, so it stays secret as long as either of the two holds.P-256 | N | RFC 10024 |
0x11ECNote | X25519MLKEM768 | X25519MLKEM768 (0x11EC) is a hybrid key exchange: the shared secret combines X25519 with ML-KEM-768, so it stays secret as long as either of the two holds.curve25519 | Y | RFC 10024 |
0x11ED | SecP384r1MLKEM1024 | SecP384r1MLKEM1024 (0x11ED) is a hybrid key exchange: the shared secret combines secp384r1 with ML-KEM-1024, so it stays secret as long as either of the two holds.P-384 | N | RFC 10024 |
0x11EE | curveSM2MLKEM768 | curveSM2MLKEM768 (0x11EE) is a hybrid key exchange: the shared secret combines curveSM2 with ML-KEM-768, so it stays secret as long as either of the two holds.SM2 | N | draft-yang-tls-hybrid-sm2-mlkem-03 |
0x1A1A | Reserved | 0x1A1A is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0x2A2A | Reserved | 0x2A2A is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0x3A3A | Reserved | 0x3A3A is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0x4A4A | Reserved | 0x4A4A is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0x5A5A | Reserved | 0x5A5A is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0x6399 | X25519Kyber768Draft00 | X25519Kyber768Draft00 (0x6399) is a hybrid key exchange: the shared secret combines X25519 with Kyber768 (draft 00), so it stays secret as long as either of the two holds. It is a pre-standard code point and now obsolete.curve25519 | D | draft-tls-westerbaan-xyber768d00-02RFC 10024 |
0x639A | SecP256r1Kyber768Draft00 | SecP256r1Kyber768Draft00 (0x639A) is a hybrid key exchange: the shared secret combines secp256r1 with Kyber768 (draft 00), so it stays secret as long as either of the two holds. It is a pre-standard code point and now obsolete.P-256 | D | draft-kwiatkowski-tls-ecdhe-kyber-01RFC 10024 |
0x6A6A | Reserved | 0x6A6A is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0x7A7A | Reserved | 0x7A7A is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0x8A8A | Reserved | 0x8A8A is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0x9A9A | Reserved | 0x9A9A is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0xAAAA | Reserved | 0xAAAA is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0xBABA | Reserved | 0xBABA is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0xCACA | Reserved | 0xCACA is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0xDADA | Reserved | 0xDADA is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0xEAEA | Reserved | 0xEAEA is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0xFAFA | Reserved | 0xFAFA is a GREASE value (RFC 8701) in the TLS supported groups registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm. | N | RFC 8701 |
0xFF01 | arbitrary_explicit_prime_curves | arbitrary_explicit_prime_curves (0xFF01) tells the peer that curve parameters are sent explicitly instead of naming a group. RFC 8422 deprecates explicit curves. | N | RFC 8422 |
0xFF02 | arbitrary_explicit_char2_curves | arbitrary_explicit_char2_curves (0xFF02) tells the peer that curve parameters are sent explicitly instead of naming a group. RFC 8422 deprecates explicit curves. | N | RFC 8422 |