TLS Supported Groups: Key Exchange Curves and Post-Quantum Hybrids
Supported groups, sent in the supported_groups extension, are the key exchange algorithms a client can use to agree on a shared secret with the server. The name comes from the mathematical groups behind them; the extension was originally called elliptic_curves.
Today the list usually contains elliptic curves such as x25519, secp256r1 (P-256) and secp384r1, sometimes finite-field Diffie-Hellman groups such as ffdhe2048, and, increasingly, post-quantum hybrids. X25519MLKEM768 combines X25519 with the ML-KEM-768 algorithm, so connections stay safe even against a future quantum computer.
In TLS 1.3 the client also guesses which group the server will choose and sends a public key for it in the key_share extension, which saves a round trip. Clients therefore put their favorite group first.
The list and its order come from the TLS library, so they help identify the client. JA3 includes the groups in the order sent. The post-quantum hybrid is a recent addition: browsers and current OpenSSL and Go releases send it, while older builds do not, which also helps date a client.
| Name | Code | What it does | Status | Sent by measured clients |
|---|---|---|---|---|
| ffdhe2048 | 256 | ffdhe2048 is a named 2048-bit finite-field Diffie-Hellman group from RFC 7919. Libraries offer it, Chrome does not. | legacy | 7 of 12 |
| ffdhe3072 | 257 | ffdhe3072 is a named 3072-bit finite-field Diffie-Hellman group from RFC 7919, offered by libraries after ffdhe2048. | legacy | 7 of 12 |
| secp256r1 | 23 | secp256r1, also called NIST P-256, is the most widely supported elliptic curve in TLS. Every measured client offers it. | recommended | 12 of 12 |
| secp384r1 | 24 | secp384r1, also called NIST P-384, is a larger NIST elliptic curve for TLS key exchange. Every measured client offers it. | recommended | 12 of 12 |
| secp521r1 | 25 | secp521r1 (NIST P-521) is the largest NIST curve in TLS. Libraries and the Firefox profile of curl-impersonate offer it, Chrome does not. | recommended | 9 of 12 |
| x25519 | 29 | x25519 is the Curve25519 key exchange, the fast default elliptic curve of modern TLS. Every measured client offers it. | recommended | 12 of 12 |
| X25519MLKEM768 | 4588 | X25519MLKEM768 is a hybrid post-quantum key exchange: classic X25519 plus ML-KEM-768. Chrome and many libraries offer it first. | recommended | 8 of 12 |
| x448 | 30 | x448 is the Curve448 key exchange, a stronger sibling of x25519. OpenSSL clients offer it, Chrome-like clients do not. | recommended | 6 of 12 |