BAD SKY.NET

x448

x448 is the Curve448 key exchange, a stronger sibling of x25519. OpenSSL clients offer it, Chrome-like clients do not.

TLS supported groupCode 0x001e (30)recommended

What it is

x448 (group 30) is elliptic curve Diffie-Hellman over Curve448, described in RFC 7748 and added to TLS by RFC 8422. It works like x25519 but on a larger curve, giving about 224 bits of security instead of about 128, with 56-byte keys instead of 32-byte ones.

The extra margin costs speed: x448 is noticeably slower than x25519, and for ordinary web traffic it offers no practical advantage. It is used mostly where a policy asks for security levels above 128 bits.

Its signature counterpart is ed448, which uses the same curve in Edwards form.

If a TLS 1.3 server picks a group for which the client sent no key share, it must first send a HelloRetryRequest, which costs an extra round trip. RFC 8446 lets a client send key shares for only some of its groups, so a group listed as late as x448 often needs a HelloRetryRequest.

Who sends it

Chrome 153 (macOS) browser Not sent
curl_cffi (impersonate chrome) Not sent
curl-impersonate chrome116 Not sent
curl-impersonate ff117 Not sent
curl 8.7 (macOS) Not sent
curl 7.88 (Debian 12) Sent at position 3
Python requests Sent at position 4
Python httpx Sent at position 4
Python httpx (HTTP/2) Sent at position 4
Go net/http Not sent
Node.js fetch Sent at position 4
PHP Guzzle Sent at position 4

Measured on 2026-10-25 against our own test server: sent by 6 of 12 clients. Position counts from 1 and ignores GREASE values.

Why it matters for fingerprinting

Python requests, httpx, Node.js fetch and Guzzle list it 4th, and Debian curl 3rd, all clients built on OpenSSL. Chrome, curl_cffi, curl-impersonate, macOS curl and Go net/http do not offer it. A supported groups list that contains x448 is a typical OpenSSL default and does not come from Chrome.

Check whether your client sends it

Open the test from your browser, or call it from your script, and look for x448 in the TLS details.

Run the TLS fingerprint test

References

Related