
Post-quantum TLS stopped being an experiment in 2026. The hybrid key exchange that most browsers already use, X25519MLKEM768, became an IETF standard in August as RFC 10024. More than two-thirds of browser traffic to Cloudflare was post-quantum encrypted by June, and Google Cloud's load balancers begin switching it on by default this October. Yet most organisations cannot say what share of their own connections is protected. The client side has moved; the server side, the back-end legs and the evidence have not. This guide covers what to test, what breaks, and how to turn post-quantum TLS into a control that an auditor or regulator can verify.
Why key exchange is the first post-quantum control
An adversary can record TLS traffic today and decrypt it once a quantum computer can break the elliptic-curve key exchange that protected it. That harvest-now, decrypt-later risk, covered for boards in this Security Solution Consultants briefing, applies to every session negotiated with classical key exchange, including sessions that use forward secrecy.
Hybrid key exchange in TLS 1.3 closes it. Client and server run a classical exchange (X25519 or a NIST curve) and ML-KEM, the lattice-based mechanism NIST standardised as FIPS 203, then combine both secrets. An attacker has to break both. Nothing about the key exchange needs a new certificate or public key infrastructure, which is why it can be deployed years before post-quantum signatures.
Hybrid key exchange protects confidentiality against future quantum decryption. It does not change authentication: certificates stay RSA or ECDSA until post-quantum certificates arrive. Treat it as the first control, not the whole programme.
Standards status in September 2026
| Item | Status | What it means for you |
|---|---|---|
| RFC 10024 | Proposed Standard, August 2026 | Defines X25519MLKEM768, SecP256r1MLKEM768 and SecP384r1MLKEM1024 as TLS 1.3 key exchange groups; the draft Kyber codepoints are obsolete |
| RFC 9954 | Published July 2026 | The general design for hybrid key exchange in TLS 1.3 that RFC 10024 builds on |
| FIPS 203 (ML-KEM) | Final, August 2024 | The post-quantum half; must be a certified implementation where FIPS applies |
| NIST IR 8547 | Initial public draft | Proposes deprecating RSA-2048 and P-256 after 2030 and disallowing quantum-vulnerable algorithms after 2035 |
| NIST CSWP 39 | Final, updated June 2026 | The reference for designing crypto-agility |
| OMB M-26-15 (US federal) | Issued June 2026 | TLS 1.3 support by 2 January 2030, and post-quantum capable key exchange on firewalls, VPN concentrators, gateways and API proxies |
The UK NCSC wrote in March 2025 that hybrid mechanisms were not yet standardised and that IETF standards were likely around 2027. They arrived a year early. Any internal policy that still says "wait for the standards" is out of date.
| Group | Codepoint | IANA recommended | Typical use |
|---|---|---|---|
| X25519MLKEM768 | 0x11EC (4588) | Yes | Default in browsers, CDNs and major libraries |
| SecP256r1MLKEM768 | 0x11EB | No | Environments that require a NIST curve for the classical half |
| SecP384r1MLKEM1024 | 0x11ED | No | Higher-assurance and some government profiles |
| X25519Kyber768Draft00 | 0x6399 | Obsolete | Pre-standard draft: remove it from configurations |
It is a key exchange group, not a cipher suite
People often search for post-quantum TLS cipher suites. In TLS 1.3 there are none to add. The post-quantum element is negotiated as a key exchange group, offered in the supported_groups and key_share extensions of the ClientHello. The cipher suite, for example TLS_AES_256_GCM_SHA384, does not change. That matters for policy wording and for configuration: editing cipher suite lists achieves nothing, and the groups list is where the work is.
It also makes post-quantum TLS a TLS 1.3 feature. There is no standard hybrid ML-KEM path for TLS 1.2, so endpoints still limited to TLS 1.2 cannot be made quantum-safe by configuration. They belong in the exceptions register with a replacement date.
The size change is real but manageable. An X25519MLKEM768 client key share is 1,216 bytes against 32 bytes for X25519 alone, which pushes the ClientHello beyond a single packet. When Chrome turned hybrid key exchange on for desktop users in 2024, it measured a 4% increase in median handshake latency.
Where adoption stands, component by component
| Component | Post-quantum key exchange status |
|---|---|
| Chrome, Edge, Brave, Opera | X25519MLKEM768 on by default since Chrome 131 (late 2024) and the equivalent Chromium-based releases |
| Firefox | Support added in Firefox 132 (October 2024); check the default for the versions your organisation runs |
| Apple | iOS 26, iPadOS 26, macOS Tahoe 26 and visionOS 26 offer X25519MLKEM768 system-wide in TLS 1.3, not only in Safari |
| Windows | Hybrid ML-KEM groups available for TLS on Windows 11 24H2 and 25H2 through a 2026 update |
| OpenSSL | Version 3.5 (April 2025) and later offer and prefer X25519MLKEM768 by default |
| Go | On by default since Go 1.24 (February 2025), unless the application sets CurvePreferences |
| Java | ML-KEM APIs since JDK 24; hybrid TLS 1.3 key exchange in the JDK proposed through JEP 527 for JDK 27 |
| OpenSSH | mlkem768x25519-sha256 is the default key agreement from 10.0; from 10.1 the client warns when a session uses non-post-quantum key agreement |
| Cloudflare | Post-quantum key agreement for visitors on all sites since 2022, and to origins that support it |
| AWS | Opt-in post-quantum TLS security policies for Application and Network Load Balancers since November 2025; each listener must be updated |
| Google Cloud | Load balancers enable X25519MLKEM768 by default from October 2026, client to load balancer only, with an opt-out until October 2027 |
| Akamai | Client-to-edge opt-in from September 2025, with default-on planned; confirm the status for your own configuration |
The pattern is consistent: the client side is largely done, and the server side is opt-in or depends on your software versions. Cloudflare found that only about 10% of customer origin servers supported X25519MLKEM768 in February 2026, up from under 1% a year earlier. For most organisations, that origin gap is the whole problem.

How to run a post-quantum TLS test
Test what is negotiated, not only what is supported. Four methods cover most estates.
1. OpenSSL 3.5 or later, strict test. Offer only the hybrid group, so the handshake fails if the server does not support it. The output reports the negotiated group, which should read X25519MLKEM768; the exact wording varies by OpenSSL version.
openssl s_client -connect www.example.com:443 -tls1_3 \
-groups X25519MLKEM768 </dev/null 2>&1 | grep -i groupRun it again without -groups to see what the server chooses from OpenSSL's default list, which is closer to what real clients experience.
2. macOS Tahoe 26. Apple's nscurl reports the negotiated key exchange group:
nscurl --tls-diagnostics https://www.example.com3. Cloudflare Radar. Since February 2026 the Radar post-quantum page tests whether a hostname negotiates post-quantum key exchange, with an API for bulk checks.
4. Browser developer tools. In Chrome or Edge, the Security panel shows the key exchange group for the current connection.
For evidence at scale, use logs rather than spot tests. AWS Application Load Balancer connection logs and Network Load Balancer access logs record whether classical or post-quantum key exchange was used for each connection. CDN analytics and packet captures (group 0x11EC in the ServerHello key_share) fill the gaps. Record the result per service per month, because a capability scan tells you what a server can do, not what your clients actually get.
Do not forget SSH. OpenSSH 10.1 and later clients warn when a server does not negotiate post-quantum key agreement, which makes legacy bastions and appliances easy to find.
Eight ways post-quantum TLS fails quietly
- A large ClientHello breaks servers and middleboxes. Some implementations assume the ClientHello arrives in a single read and reset the connection instead of falling back. The tldr.fail project tracks affected products; firewalls, proxies and TLS passthrough ingress controllers have all appeared on it.
- The origin gap. The CDN or load balancer is post-quantum, the back-end leg is not. Google Cloud's default covers only the client-to-load-balancer leg, and AWS policies are opt-in per listener.
- TLS inspection and re-origination. Every proxy, web application firewall and inspection appliance runs its own handshake. One classical leg is enough to expose the traffic.
- Pinned group lists. Applications that set their own groups, such as Java's jdk.tls.namedGroups or Go's CurvePreferences, do not pick up new defaults. OpenSSL fixed a 2026 bug (CVE-2026-2673) in which server group configuration using the DEFAULT keyword did not behave as intended.
- Temporary opt-outs left in place. Chrome's enterprise policy for disabling post-quantum key agreement was meant as a short-term workaround. Audit browser and endpoint policies.
- TLS 1.2-only endpoints. Legacy appliances, payment and OT gateways and older load balancers cannot negotiate hybrid groups at all.
- Supported but not enforced. A server that accepts both hybrid and classical-only handshakes still gives old clients classical sessions, and an active attacker may be able to force a downgrade. The end state is to remove classical-only options where you can.
- Parameter mismatches. FIPS environments need a certified ML-KEM implementation, and some government profiles favour ML-KEM-1024 (SecP384r1MLKEM1024) over ML-KEM-768. Australian government systems should check the current ISM cryptography guidelines.
Evidencing post-quantum TLS for auditors and regulators
No framework in the region names X25519MLKEM768 yet. They do require cryptography that is appropriate to the threat and reviewed as the threat changes, which is the argument for acting now. Map the control to what you already report against:
| Framework | Clause | Evidence for post-quantum TLS |
|---|---|---|
| ISO/IEC 27001:2022 | Annex A 8.24, use of cryptography | Cryptography standard naming the approved TLS groups and a TLS 1.3 minimum, with an exceptions register and review date |
| NIST CSF 2.0 | PR.DS-02, data in transit protected | Negotiated-group metrics per service, plus supplier roadmaps |
| APRA CPS 234 and CPG 234 | CPS 234 paragraph 21; CPG 234 Attachment E, cryptographic techniques | A periodic cryptographic review that now covers quantum threats and long-life data |
| ASD ISM | Guidelines for cryptography | Algorithm choices aligned to ASD-approved ML-KEM parameters, and a plan to cease traditional asymmetric cryptography by the end of 2030 |
| NZISM | Section 2.4, preparation for post-quantum cryptography | Inventory and prioritisation of long-lived datasets; hybrid use documented as additional to approved classical cryptography, because the NZISM has not yet approved post-quantum algorithms |
| MAS TRM Guidelines | Section 10, cryptography | Algorithm selection from international standards, key lifecycle management and crypto-agility |
| NCA ECC-2:2024 | Subdomain 2-8, cryptography | Cryptography requirements updated for post-quantum, with periodic review evidence under 2-8-4 |
A complete evidence pack for the control holds seven items:
- a policy statement naming the approved hybrid groups and fallbacks;
- an inventory of every TLS termination point, with owner and vendor;
- a monthly metric: the share of external handshakes negotiating X25519MLKEM768, per service, from load balancer or CDN logs;
- dated scan results for every public hostname;
- an exceptions register for TLS 1.2-only and non-upgradable endpoints, each with a retirement date;
- vendor attestations and roadmap dates;
- change records showing that default group lists were not overridden.

Crypto-agility as a control, not a slogan
US National Security Memorandum 10 defines crypto-agility as the ability to update cryptographic algorithms and standards without modifying or replacing the surrounding infrastructure. Post-quantum TLS has already tested it twice. Chrome replaced the draft Kyber exchange with ML-KEM in a single release in late 2024, and RFC 10024 has now made the draft codepoints obsolete. Organisations whose libraries picked up the change automatically passed the test; those with hard-coded group lists did not.
A crypto agility framework that holds up in audit has four parts, which the June 2026 US federal memo also sets out: pluggable libraries such as OpenSSL 3 providers or Java's JCA; algorithm choice held in configuration rather than code; protocol negotiation that can be restricted to acceptable algorithms; and key management (KMS and HSM) that supports classical and post-quantum keys side by side. For the cryptographic register, Mosca risk scoring and programme KRIs, see post-quantum readiness as a GRC programme.
Post-quantum TLS in GRCLens
GRCLens holds TLS termination points as assets linked to your cryptography control and mapped across the frameworks you report against. Scan results and log metrics are attached as dated evidence, TLS 1.2-only and non-upgradable endpoints sit in an exceptions register with owners and retirement dates, and vendor commitments are tracked against the dates they promised. The share of post-quantum handshakes becomes a KRI on the board dashboard instead of a number someone assembles once a year.
Frequently asked questions
What is X25519MLKEM768?
A hybrid TLS 1.3 key exchange group that combines the classical X25519 elliptic-curve exchange with ML-KEM-768, the post-quantum mechanism in FIPS 203. It is standardised in RFC 10024 with codepoint 0x11EC and is the default in major browsers, CDNs and libraries.
Is post-quantum TLS available for TLS 1.2?
Not in any standard form. The hybrid groups are defined for TLS 1.3 only, so TLS 1.2 endpoints need an upgrade or replacement plan.
Does hybrid key exchange slow connections down?
Slightly. The larger key shares add about a kilobyte to each side of the handshake, and Chrome measured a 4% increase in median desktop handshake latency when it first enabled it. Data transfer after the handshake is unaffected.
Do we need post-quantum certificates to use post-quantum TLS?
No. Hybrid key exchange works with existing RSA and ECDSA certificates. Post-quantum certificates, including Merkle Tree Certificates, are a separate and later migration.
How do I check whether a server supports post-quantum TLS?
Run openssl s_client from OpenSSL 3.5 or later with -groups X25519MLKEM768, use nscurl on macOS Tahoe, or test the hostname on Cloudflare Radar's post-quantum page. For audit evidence, use load balancer or CDN logs that record the negotiated group per connection.
How Security Solution Consultants can help
Security Solution Consultants runs post-quantum TLS assessments for banks, insurers, government agencies and critical infrastructure operators across Australia, New Zealand, Asia and the Gulf. We test every public hostname, trace each termination point back to the origin, and build the evidence pack and exceptions register your auditors will ask for. See our security compliance services and the board briefing on harvest now, decrypt later. GRCLens then keeps the register, metrics and evidence current. Request a demonstration.
Keep reading

Running Post-Quantum Readiness as a GRC Programme: Inventory, KRIs and Regulator Dates
Post-quantum migration fails the same way most multi-year security programmes fail: an inventory nobody maintains, risks nobody scores, and dates nobody tracks. How to run it as a governed programme instead.

Autonomous Fleets Meet Critical Infrastructure Law: SOCI, New Zealand and the Gulf
Once an autonomous fleet moves freight or carries the public at scale, its operator starts to look like a critical infrastructure operator. What the SOCI Act, New Zealand's proposed regime and the Gulf rules ask for, and how to evidence it.

Governing AI Agents Under ISO/IEC 42001: Registers, Impact Assessments and Evidence
ISO/IEC 42001 was published before most organisations ran AI agents, but its structure fits them well. How to extend an AI management system to agents: the register, the impact assessment trigger, the life cycle controls and the evidence.