Product

Product Features How to Compare Docs Screenshots Why

Start here

Getting started Download Guides Frequently asked questions

More

Security Support Roadmap About

Certificates and TLS

Post quantum key exchange

Harvest now, decrypt later is the reason this matters before anybody has a quantum computer. Traffic captured today gets decrypted whenever one arrives, so the fix has to be in place long before the threat is.

What is actually turned on

The nginx build compiles against OpenSSL 3.5, which carries ML-KEM, the standardized post quantum key encapsulation mechanism. The TLS snippet the manager ships offers X25519MLKEM768 first, with the classic curves behind it.

ssl_ecdh_curve X25519MLKEM768:X25519:prime256v1:secp384r1;

A browser that supports the hybrid group uses it. One that does not falls back to a classic curve and connects exactly as before. Nothing breaks for older clients and nobody has to know to ask for the newer behavior.

Why it is hybrid

X25519MLKEM768 combines a classical elliptic curve exchange with ML-KEM. Both have to be broken for the session key to be recovered. That matters because ML-KEM is newer and has had less time under attack than X25519 has. Pairing them means adopting the new one costs you nothing even in the unlikely case it turns out to have a weakness.

Who this actually matters to

  • Anything with a long secrecy lifetime. Medical records, legal documents, personal data, source code. If it still matters in fifteen years, it matters now.
  • Anybody whose traffic crosses networks they do not control, which is everybody serving the public internet.
  • Organizations with a compliance timetable. Several national bodies have published migration dates, and being able to say the edge already does this is worth having.

It matters much less for something that is public anyway, or that stops being sensitive within a week. Being honest about that is more useful than pretending everything is urgent.

How this compares

On the comparison page this is one of the rows where we come out ahead, and the reason is not cleverness, it is that we build our own TLS stack.

ProductScorePosition
Failover LB5 of 5OpenSSL 3.5 in the build we control, offered first by default.
HAProxy ALOHA4 of 5Moved to AWS-LC, and HAProxy Enterprise 3.2 and later offer the same group with a classic fallback. Four rather than five because you take what the firmware ships with.
NGINX Plus3 of 5F5 have been adding this in recent releases. The honest gap is not whether Plus can, it is whether the build you have does and whether anybody configured the groups.
Kemp LoadMaster1 of 5We could find nothing published either way, so this is a one that admits we do not know rather than a zero that pretends we do.

Building our own TLS stack is a cost in almost every other row of that table. It buys this one.

Checking your own build

The dashboard puts a post quantum ready badge next to the OpenSSL version when the build supports it. From a terminal you can confirm it directly:

openssl list -kem-algorithms | grep -i mlkem
nginx -V 2>&1 | tr ' ' '\n' | grep -i openssl

Common questions

Does this slow down the handshake?

The post quantum key share is larger, so the handshake carries more bytes. On a normal connection it is not something a person notices. On a very high volume API with heavy connection churn it is worth measuring rather than assuming.

What happens to a browser that does not support it?

It negotiates a classic curve, exactly as it did before. Nothing is refused and no visitor is left out.

Is this the same as post quantum signatures?

No. This is the key exchange, which is what protects against traffic captured today being decrypted later. Post quantum certificate signatures are a separate problem that has to be solved by the certificate authorities first.

Step by step instructions

The how to section has searchable, task shaped answers. Search it for post quantum.

Related features

Two fresh servers is all it takes

Ubuntu 22.04 or newer, root access, and about twenty minutes. The installer does the rest and it is safe to run twice.