Post-quantum TLS: what migrated first and why
One half of is already moving in production and the other half has barely started, and that is the right way round. The part that agrees a secret key now runs a classical and a post-quantum exchange together. Chrome turned a hybrid group on by default in version 124 in April 2024, using the pre-standard X25519Kyber768, and moved to the standardised X25519MLKEM768 in version 131 in November 2024, which Firefox 132 also ships. That group was negotiated in more than 30 percent of TLS 1.3 handshakes at Cloudflare's edge in early 2026. The certificate that proves the server is the one named in the address bar is still classical. Everything below is why that order is forced on you by the threat rather than chosen by the vendors.
By the end of this module you will be able to:
- Explain harvest-now-decrypt-later and why it sets the migration order
- Name the NIST post-quantum standards and say what each one does
- Describe hybrid key exchange and why both halves must be broken
- State the deployment reality of post-quantum key exchange today
- Explain why certificates are migrating last
April 2024: a browser release turned on a defence against a machine that does not exist
Chrome version 124 was released in April 2024 with hybrid post-quantum key exchange enabled by default. Nobody opted in, no administrator approved it, and for almost every user the only visible consequence was nothing at all. The group it shipped was X25519Kyber768, built on the pre-standard Kyber; once NIST finalised ML-KEM, Chrome 131 replaced it with X25519MLKEM768 in November 2024. Either way the shape is the same: a classical elliptic-curve exchange and a post-quantum one in the same handshake, with both results mixed into the session secret.
The timing is the part worth sitting with. In April 2024, NIST had not yet finalised the standard for the post-quantum half; that came in August 2024. The TLS specification for the hybrid group, draft-ietf-tls-ecdhe-mlkem, was an IETF draft then and is an IETF draft now. A browser used by a large share of the world switched on cryptography whose paperwork was unfinished, which in most engineering settings would be the wrong call.
It was defensible here for one reason: hybrid. If the post-quantum half is later found to be weak, the classical half still protects the session. If the classical half falls to a quantum computer, the post-quantum half still protects it. An attacker has to break both to read anything. Waiting for the standard would have cost real protection for traffic being recorded during the wait, and shipping early cost almost nothing, because the fallback was the cryptography everybody was already using.
Firefox 132 made the same change, and the measured effect shows up on the far side of the internet rather than in any browser release note. By early 2026, more than 30 percent of TLS 1.3 handshakes reaching Cloudflare's edge used post-quantum key exchange. That figure exists because two browser vendors changed a default, and it is the clearest available evidence that this migration is happening to your traffic whether or not it is on your project plan.
Chrome shipped hybrid post-quantum key exchange as a default before the standard naming it was finished and before NIST finalised the algorithm inside it. What does a decision like that tell you about how to plan your own migration?
Two key exchanges, one session: hybrid post-quantum TLS
One ClientHello carries both the classical and the post-quantum share, and the two secrets are combined into a single key schedule, so recorded traffic stays private unless an attacker breaks both exchanges rather than either.
Hybrid key exchange puts a classical X25519 share and an ML-KEM-768 share in one ClientHello, so a recorded session survives unless both fall; X25519MLKEM768 is draft-ietf-tls-ecdhe-mlkem, still a draft.
30.1 The threat that arrives backwards
Almost every threat in this course arrives forwards. Someone floods a service, someone hijacks a route, someone gets a foothold and moves sideways, and the damage lands at roughly the time the attack happens. The threat that drives post-quantum cryptography runs the other way. The attack on a conversation you have today is carried out years from now, and there is nothing you will be able to do about it then.
The mechanism is called , and it is dull rather than exotic. An attacker who can see traffic in bulk copies the encrypted bytes and stores them. They cannot read anything. They do not need to. They are betting that at some point a machine will exist that can break the key exchange that protected those sessions, and on that day the whole archive becomes readable at once. The capability required today is storage and patience, both of which are cheap and neither of which leaves a trace on your network.
That inversion changes the planning question. People argue endlessly about when a quantum computer capable of breaking today's public-key cryptography will exist, and nobody knows. The argument is beside the point, because the number that decides your exposure is one you already own. Add the number of years your data must stay secret to the number of years your estate would need to change its cryptography. If that sum reaches past the arrival of a capable machine, the traffic you are sending this afternoon is already exposed. You cannot control the arrival date. You can control both of the numbers you are adding to it.
Which makes the exposure specific rather than universal, and worth being honest about. A session cookie for a service you will have retired in two years is not the problem. Health records, legal advice, source code that will still be running the business in a decade, engineering drawings, negotiating positions, credentials that nobody rotates and anything that identifies a person are the problem, because their value does not expire on the timescale of the attack. The organisations with the shortest deadline are the ones holding secrets with the longest shelf life, and they are usually not the ones with the newest infrastructure.
Now the asymmetry that decides the whole migration order. A key exchange has to protect a secret for as long as the data behind it stays valuable, which can be decades. A signature has a far shorter job: it proves, during the handshake, that the server presenting a certificate holds the matching private key. Once that handshake has completed and the session has closed, nobody can go back and convince your browser of anything about it. A forged signature in 2035 cannot retroactively fake a connection your laptop made in 2026, because in 2026 there is no longer anyone to deceive.
This is also where the reassurance from the earlier TLS module runs out. Forward secrecy, which TLS 1.3 requires, means that stealing a server's long-term private key later does not expose sessions recorded earlier, because each session used ephemeral keys thrown away afterwards. That defends against theft of a stored key. It does not defend against an attacker who breaks the mathematics of the ephemeral exchange itself, which is exactly what a quantum computer is expected to do. Forward secrecy is not the answer to this threat, and treating it as one is a common and comfortable mistake.
NIST puts the motivation for the transition plainly in IR 8547, its initial public draft on moving to post-quantum standards: an adversary can copy encrypted traffic today and hold it until quantum technology has matured enough to decrypt it, so information that must stay confidential for many years is already at risk from a machine that does not yet exist.
This is why the migration starts now rather than when the hardware arrives. It also explains why the first question in a serious post-quantum conversation is not about algorithms at all. It is about which of your data would still matter to someone in 2035, because that inventory, not a vendor roadmap, decides how urgent this is for you.
The threat sets the order: confidentiality first, authentication after. It does not name a single algorithm to put in its place, and for most of the last decade that was the honest gap in every post-quantum conversation, because there was nothing standardised to recommend. In August 2024 the gap closed.
30.2 The standards, finally
NIST finalised three standards in August 2024, and they divide along exactly the line drawn in the previous section. FIPS 203 standardises , a key encapsulation mechanism. FIPS 204 standardises and FIPS 205 standardises SLH-DSA, both signature schemes. One standard for agreeing secrets, two for proving identity.
For a reader who does not work in cryptography, those two categories are worth holding in plain words. A key encapsulation mechanism is the machinery two parties use to end up holding the same secret number, having exchanged only messages that anybody watching could read. A signature scheme is the machinery for proving that a particular message came from the holder of a particular private key. The first protects what you said. The second establishes who you were talking to. They fail in different ways and, as the last section argued, they fail on different clocks.
Nothing on that list replaces the encryption that protects the bytes once a session key exists. These are public-key standards, and the public-key half is the part a quantum computer is expected to unpick. The symmetric encryption doing the heavy work inside an established session is not being replaced, which is one reason the migration is a change to handshakes rather than a rebuild of every protocol.
Standardising two signature schemes rather than one looks like indecision and is the opposite. The two rest on different mathematical foundations, so a weakness found in one family does not automatically take the other with it. Given that the entire point of this exercise is to survive a break that nobody has fully anticipated, holding a spare in a different family is a reasonable use of a standards process.
The dates matter more than the algorithm names for most people reading this. NIST IR 8547, published as an initial public draft, sets the transition timeline: classical public-key cryptography is deprecated after 2030 and disallowed after 2035. Those two words are not synonyms, and the five years between them are the point. The gap is the window in which an estate is expected to finish, not the window in which it is expected to start.
Read as a procurement instruction rather than a cryptographic one, that timeline says something concrete. Anything you buy now with a ten-year service life has to be able to change its cryptography within that life, without being replaced. That property is a design question you can ask a supplier in writing today, in ordinary language: what would it take for this system to negotiate a different key exchange, and who has to do it. A supplier who cannot answer has told you something useful about 2030.
One point of discipline, because this course is fussy about it. NIST IR 8547 is an initial public draft. Planning against its dates is sensible, because they are the clearest published dates anyone has, and describing them as final would be wrong. The same discipline applies with more force to the TLS specification in the next section.
The post-quantum migration runs to published dates
The browser default arrived before the NIST standards were finalised and the disallowance date is already published, so what remains open on this timeline is signatures, which the closing note records as not yet migrated.
The post-quantum migration runs to published dates: Chrome 124 in April 2024, FIPS 203, 204 and 205 in August 2024, and NIST IR 8547 disallowing classical public-key cryptography after 2035.
Published dates say when classical public-key cryptography stops being acceptable. They say nothing about what to run in the meantime, and the answer that actually deployed is not the one the standards alone would suggest. Almost nobody is running ML-KEM on its own.
30.3 Hybrid first
What is actually deployed in browsers is a . One ClientHello carries two key shares: a classical X25519 share and an ML-KEM share. The server answers both. The TLS key schedule mixes the two resulting secrets into one session secret. An attacker who records that handshake has to break both exchanges to recover anything, because either secret alone is missing an ingredient.
The combination has a name that appears in real tooling: X25519MLKEM768. It is specified in draft-ietf-tls-ecdhe-mlkem, which is an rather than an RFC. Both of those statements are true at once, and holding them together is the professional skill. You may say, with evidence, that mainstream browsers negotiate this group by default and that it protects a large share of real traffic. You may not cite it as a settled standard, and you should expect that the details can still change, because that is what a draft is.
Hybrid rather than pure post-quantum is a statement about confidence, not about performance. Confidence in a cryptographic primitive is earned by years of clever people failing to break it, and the post-quantum schemes are young by that measure. Running the new scheme alongside the old one means nobody has to bet on either in isolation. It is also the reason the change could ship in April 2024, months before FIPS 203 was finalised: the worst realistic outcome of the new half being wrong was the security everyone already had.
The document behind the group is worth naming precisely, because this course will keep asking you to. draft-ietf-tls-ecdhe-mlkem, Post-quantum hybrid ECDHE-MLKEM Key Agreement for TLSv1.3, defines hybrid key agreement mechanisms for TLS 1.3 that combine ML-KEM with an elliptic-curve exchange, and X25519MLKEM768 is the one that deployed widely. A working draft of the IETF has no formal standing and can be changed or withdrawn, which has not stopped it becoming the specification behind a default in two major browsers. Citing it as an RFC is the tell that somebody has repeated a claim rather than checked it.
The deployment picture is the reason this module exists in a networking course rather than a cryptography one. Hybrid key exchange has been default in Chrome since version 124 in April 2024, as X25519Kyber768 then as X25519MLKEM768 from version 131, and in Firefox 132. More than 30 percent of TLS 1.3 handshakes at Cloudflare's edge used post-quantum key exchange in early 2026. This is no longer a pilot, and it reached that state without a single project board approving it.
Read that percentage the way this course reads every percentage. means naming the population, the method and the window before quoting the number. The population is traffic arriving at one large edge network, the denominator is TLS 1.3 handshakes rather than all connections, and the window is early 2026. It is not a statement about the internet as a whole. It is still the most useful single figure available, because it is measured at a vantage point that sees a large and varied slice of the world's web traffic, and because it counts what was actually negotiated rather than what was advertised.
The gap between the two facts is where the operational work sits. If two major browsers offer the group by default, the share of handshakes that use it is not limited by clients. It is limited by servers, and by the equipment sitting in front of servers: load balancers, TLS terminators, inspection appliances and anything else that ends a connection on your behalf. When a browser offers the hybrid group and the far end does not support it, the handshake completes anyway using a classical exchange. Negotiation is doing its job.
Which produces the failure mode this course has met in several forms already. Nothing tells the user that their connection is classical-only. There is no warning, no padlock change, no log line by default. It is exactly the quiet fallback that hides a broken IPv6 path or a blocked UDP port 443, and the answer is the same: if you want to know, you have to measure the negotiated result rather than trust that the page loaded.
One consequence carries further than the web. Because folds the TLS 1.3 handshake into its own, the same key exchange groups apply there. A move in TLS is a move in HTTP/3 at the same time, which is a good outcome from the decision to build QUIC on TLS rather than beside it.
So the confidentiality half has moved, quietly, by default, and measurably. The other half of TLS, the part that proves the server is the one named in the address bar, has barely moved at all.
30.4 Signatures follow
The certificate your browser validated on the way to this page was signed with classical cryptography, and so was every certificate above it. That is not an oversight anybody is embarrassed about. It is the consequence of the timing asymmetry from Section 30.1 meeting the shape of the thing that has to change.
Recall the from the applied stage: the server's certificate is signed by an intermediate, the intermediate by a root, and the root is already sitting in the trust store on your device. Every link is somebody else's signature. Migrating the key exchange needed two ends to agree, and the two ends were a browser and a server. Migrating signatures needs a certificate authority, its intermediates, its roots, the trust stores inside every operating system and browser, and every client that validates a chain, to agree or at least to interoperate during the change. Some of those clients are appliances that will never receive another update.
Because the deadline is different, that slowness is affordable. Nobody gains anything by recording a signature today and forging it in 2035, since the handshake it authenticated is long over and the session key it helped establish has been discarded. An attacker with a quantum computer in 2035 can forge certificates and impersonate servers in 2035, which is a serious problem for 2035 and precisely why the IR 8547 dates exist. It is not a reason to prioritise signatures over key exchange today.
Signature migration has started where the ecosystem problem is smallest. Cloudflare began offering ML-DSA on origin-facing connections in mid 2026, which is the leg between its edge and a customer's own origin server. Both ends of that leg are known, both can be updated on the same day, and no public trust store is involved. It is the sensible first place to run post-quantum signatures in earnest, and it is a useful signal of direction, not evidence that browser-facing certificates are about to change.
Common misconception
“Post-quantum TLS means post-quantum certificates, so nothing has really changed until my certificate authority issues one.”
The deployed 2026 reality is the reverse. Post-quantum protection reached production as a hybrid key exchange, X25519MLKEM768, default in Chrome since version 131 in November 2024 after version 124 shipped the pre-standard X25519Kyber768 in April 2024, and in Firefox 132, and negotiated in more than 30 percent of TLS 1.3 handshakes at Cloudflare's edge in early 2026, all of it under ordinary classical certificates. Signature migration is only beginning: NIST standardised ML-DSA as FIPS 204 in August 2024, and Cloudflare began offering it on origin-facing connections in mid 2026, where both ends are controlled and no public trust store has to change. Waiting for a post-quantum certificate before believing anything has happened gets the risk exactly backwards, because the certificate is the half with no retrospective exposure, while the key exchange is the half protecting traffic somebody may already be recording.
This is the distinction to carry into any conversation with a supplier. When a product is described as quantum safe, the useful question is which half. Ask which key exchange group it negotiates and how you can see that for yourself. Ask whether the certificate is classical, expect the answer to be yes, and treat that as correct rather than as a gap. A supplier who cannot tell you the negotiated group is not describing a property of their product; they are describing a slide.
Knowing which half moved and why is enough to hold your own in that conversation. It is not yet enough to decide what to do on Monday, and the actions are smaller and less expensive than the subject suggests.
30.5 What a professional does now
Three pieces of work follow from everything above, and none of them requires buying anything. They are an inventory, a measurement and a plan, in that order, because each one makes the next one cheaper.
The inventory answers one question: which of our data, if copied off the wire today, would still matter to somebody in 2035? Ask it about the traffic rather than the storage, because this threat is about what crosses a network. The answer is a list, and the list is what turns an abstract argument about quantum computers into a priority order. A hospital, a law firm, a defence supplier and a news site will produce different lists and should therefore behave differently. This step is where most organisations discover that the honest answer is smaller than they feared, or considerably larger.
The measurement answers the second question: what does our own stack actually negotiate? A browser's security panel names the negotiated key exchange group, and X25519MLKEM768 appears there by name in Chrome. Do that against your own public services, then keep going past the website: the remote-access gateway, the API endpoints, the mail servers, the appliance that terminates TLS in front of everything else. It costs minutes and it produces evidence rather than assumption, which is the habit this whole course has been building. What you cannot observe being negotiated is not protecting you.
The plan is then dated rather than aspirational, and the dates come from published documents instead of a supplier's roadmap: deprecated after 2030, disallowed after 2035. Set your own milestones inside that window and give each system on the inventory a date by which it must be able to negotiate a post-quantum group. Systems that cannot, and cannot be changed, are not a cryptography problem. They are a replacement decision you now have several years to make calmly.
A second published schedule is quietly helping. The certificate lifetime reductions taught in the TLS module, agreed in CA/Browser Forum ballot SC-081v3 on 11 April 2025, cut maximum public certificate validity to 200 days from 15 March 2026, 100 days from March 2027 and 47 days from March 2029. That schedule forces automation on anyone who has not adopted it, and an estate that can reissue every certificate without a human is an estate that can change signature algorithm when the time comes. The two migrations are separate, and the capability the first one demands is exactly the capability the second one will need.
Three things are worth refusing along the way. Do not wait for a flag day, because this migration has no single date and the browsers proved it by shipping ahead of the standards. Do not treat post-quantum readiness as a property you purchase, because it is a property of a negotiated connection that you can go and look at. Do not assume recorded traffic is hypothetical, because recording is the cheapest thing an adversary on a network path can do and it is the one part of this threat that requires no future technology at all.
The check below is on the ordering argument, because it is the one claim in this module that a professional will be asked to defend out loud, usually by somebody who has read a headline about quantum computers breaking encryption and wants to know why the certificates have not changed.
A board member has read that quantum computers will break today's encryption, and asks why your migration plan starts with key exchange while leaving every certificate classical. Which answer is correct and defensible?
Core distinctions
- Harvest now, decrypt later means an attacker copies encrypted traffic today and decrypts it once a capable quantum computer exists. The planning number is the years your data must stay secret plus the years your estate needs to migrate, both of which you control.
- NIST finalised three standards in August 2024: FIPS 203 (ML-KEM) for key encapsulation, FIPS 204 (ML-DSA) and FIPS 205 (SLH-DSA) for signatures. NIST IR 8547, an initial public draft, deprecates classical public-key cryptography after 2030 and disallows it after 2035.
- The deployed answer is hybrid. X25519MLKEM768 carries a classical X25519 share and an ML-KEM share in one handshake and mixes both into the session secret, so an attacker must break both. It is specified in draft-ietf-tls-ecdhe-mlkem, which is an Internet-Draft and not an RFC.
- It is default in Chrome since version 124 in April 2024 and in Firefox 132, and more than 30 percent of TLS 1.3 handshakes at Cloudflare's edge used post-quantum key exchange in early 2026. Quote that figure with its population, its method and its window.
- Certificates are still classical, and that is correct rather than negligent. A signature only has to hold during the handshake it authenticates, and migrating the chain means moving certificate authorities, intermediates, roots and every validating client. Cloudflare began offering ML-DSA on origin-facing connections in mid 2026, where both ends are controlled.
- The work now is an inventory of long-lived secrets, a measurement of what your own stack negotiates in the browser security panel, and a plan dated against 2030 and 2035. Certificate lifetimes falling to 200 days from 15 March 2026 force the automation that signature migration will later need.
Standards and sources cited in this module
Post-Quantum Cryptography project (NIST)
Standards released August 2024: FIPS 203, FIPS 204, FIPS 205
The primary source for the three finalised standards named in Section 30.2 and for what each one does.
FIPS 203, Module-Lattice-Based Key-Encapsulation Mechanism Standard (NIST)
Scope; ML-KEM parameter sets
Standardises ML-KEM, the key encapsulation mechanism that forms the post-quantum half of the hybrid group used in Sections 30.2 and 30.3.
FIPS 204, Module-Lattice-Based Digital Signature Standard (NIST)
Scope; signature generation and verification
Standardises ML-DSA, the signature scheme discussed in Section 30.4 as the slower half of the migration.
NIST IR 8547 (initial public draft), Transition to Post-Quantum Cryptography Standards
Transition timeline for classical public-key algorithms
The source for harvest now, decrypt later in Section 30.1 and for the 2030 deprecation and 2035 disallowance dates used in Sections 30.2 and 30.5. Still an initial public draft.
Hybrid key agreement; the X25519MLKEM768 named group
The specification behind the hybrid group in Section 30.3. It is an Internet-Draft, which is why the module never calls it an RFC.
Post-quantum cryptography to origin (Cloudflare documentation)
Post-quantum key agreement and ML-DSA on origin-facing connections
The vendor documentation behind the deployment reality in Sections 30.3 and 30.4, including ML-DSA offered on origin-facing connections in mid 2026.
RFC 9846, The Transport Layer Security (TLS) Protocol Version 1.3 (IETF)
Key schedule; handshake
The current TLS 1.3 specification, revising RFC 8446 in July 2026. It defines the handshake and key schedule that consume the two shares described in Section 30.3.
Every action in Section 30.5 assumed you can update the thing holding the key: a browser that ships a new default, a load balancer someone patches, a certificate that reissues itself. The next module deals with the networks where that assumption fails, from Matter and Thread devices in ordinary homes to plant equipment on patch cycles measured in years, and with the segmentation discipline that has to carry the risk when the endpoint cannot.
Module 36 of 45 · Frontiers