PQC migration is not a software patch. It is a multi-year reorganization of every cryptographic dependency in the enterprise, starting with discovery and ending with embedded devices that may need physical replacement. The Mosca framework gives you the urgency calculation. The standards give you the destination algorithms. The sequence below is the operational path.
The migration math is not exotic — it is project management on a 5-7 year horizon with high vendor dependency. The technical pieces (algorithms, libraries, protocols) are in place. The hard work is discovery, prioritization, vendor coordination, and the long tail of embedded systems. Starting in 2026 is on schedule. Starting in 2028 means you ship past the NSS deadline and your customers ask uncomfortable questions in procurement.
DEEP READ 4 sections · cited primary sources · technical review pending
01 Mosca's framework — the urgency calculation
Michele Mosca's 2015 framework gives you a single inequality to test your exposure: if X + Y > Z, you are at risk now, where X is the time your data must remain confidential (data sensitivity lifetime), Y is the time required to migrate your systems to post-quantum cryptography, and Z is the time until a cryptographically-relevant quantum computer exists. Most enterprises fail this inequality today.
Worked example for typical enterprise data classes: financial records and legal documents often need 7-10 year confidentiality (X=10). Migrating a mid-size enterprise's full crypto inventory to PQC takes 3-5 years (Y=4). Mid-2026 best estimates for Z range from 8 years (Harvard, optimistic on progress) to 15 years (NSA's CNSA 2.0 timeline implies CRQC concern by 2033). X+Y = 14 years. Z = 8-15 years. The data encrypted today is plausibly within the harvest-now-decrypt-later window.
The framework is useful precisely because it forces you to put numbers on each variable. "Quantum is 20 years away" stops being persuasive when you write down that your data lifetime is 10 years and your migration time is 5 years. The fact that experts disagree on Z is the reason hybrid migration is the right answer — hybrid TLS is secure under both classical and post-quantum threat models, so you get the migration insurance without betting on a specific Z.
- X — data sensitivity lifetime How long does this data need to stay confidential? Financial/legal: 7-10yr. Healthcare: lifetime. Trade secrets: 10-20yr. Defense: 25+yr.
- Y — migration time How long to migrate this system class? Hybrid TLS: 1yr. HSMs: 2-3yr. Code-signing infrastructure: 2-4yr. Embedded/IoT: 5-10yr.
- Z — time to CRQC Estimates range from 8yr (aggressive) to 15-20yr (conservative). Pick a Z and decide; do not wait for consensus.
02 Crypto inventory — what to find, how to find it
You cannot migrate what you have not catalogued. Crypto inventory means a system of record listing every place asymmetric cryptography is used in your environment, with enough metadata to plan migration. The shape of a useful entry: { asset_id, location, crypto_type (RSA/ECC/DSA), key_size, owner, criticality, dependency_graph, migration_pathway, target_completion }.
Where to look: (1) TLS termination — load balancers, reverse proxies, CDNs, internal mesh, every cert in your CA inventory; (2) SSH — host keys on every machine, user keys in every key authority, jumphost configurations; (3) HSMs — every HSM in every facility, with full key inventory per partition; (4) code and firmware signing — every CA used for code-signing, every key in your CI/CD signing pipeline, every firmware image with embedded signing keys; (5) document signing — PDF signatures, S/MIME email, internal document workflow systems; (6) blockchain wallets and signing keys if you are in that space; (7) embedded devices and IoT — usually the long tail, often the hardest, sometimes requires physical device replacement.
Automation tools that help: ssh-keyscan for SSH discovery, OpenSSL scripts for cert inventory, vendor HSM APIs (Thales nShield, AWS CloudHSM, Azure Key Vault, Google Cloud KMS) for managed key inventory, CA management consoles (Sectigo, DigiCert, Let's Encrypt internal mirrors) for cert inventory. For the long tail (embedded, IoT, legacy on-prem), expect manual work. The discovery phase typically takes 2-4 months at enterprise scale before you have a useful baseline.
- TLS layer Load balancers, CDNs, reverse proxies, every cert in your CA system. Start here — biggest surface, most tooling support.
- SSH + Bastion Host keys, user keys, jumphost configs. ssh-keyscan + cert authority audit.
- HSMs Every HSM, every partition, every key. Vendor APIs do the heavy lifting.
- Code + firmware Every signing key in CI/CD, every embedded signing CA. Long-lived signatures = SLH-DSA candidates.
- Document signing PDF, S/MIME, internal workflow systems. Often forgotten until audit time.
- Embedded + IoT The long tail. Usually painful. Some devices will need replacement, not patching.
03 Hybrid TLS — the right first pilot, end-to-end
Hybrid TLS combines a classical key exchange (typically X25519 elliptic-curve Diffie-Hellman) with a post-quantum one (typically ML-KEM-768, formerly Kyber-768) by concatenating their shared secrets and using the combined value as the TLS handshake input. If either algorithm is broken — including a future quantum break of X25519 — the session stays secure. The performance overhead is small (a few hundred bytes of handshake, low single-digit milliseconds of CPU on modern hardware).
What ships today: Cloudflare enables hybrid TLS by default for connections originating from Chrome since late 2024. Chrome enabled hybrid X25519+Kyber-768 by default in Chrome 124. Edge, Firefox, Safari are following. Server-side: OpenSSL 3.x with the oqs-provider supports it, BoringSSL (used by Chrome) supports it natively, AWS-LC supports it. NSS, GnuTLS are in various states of integration.
Migration pilot recipe: pick an internal HTTPS service with controlled clients, enable hybrid TLS on the server, run a 4-week soak measuring handshake latency p99 and incompatibility rate, confirm legacy clients still negotiate classical-only ciphersuites successfully, document the runbook for production rollout. The deliverable is operational confidence and a runbook — not security improvement, which the hybrid mode delivers safely either way.
- Browser support Chrome (124+), Edge, Cloudflare. Firefox, Safari progressing. Default on by 2026 mid-year.
- Server libraries OpenSSL 3.x + oqs-provider, BoringSSL, AWS-LC. Production-ready.
- Performance impact A few hundred bytes of handshake, low-ms CPU. Negligible for almost all production traffic.
- Compatibility risk Hybrid mode falls back to classical for legacy clients. No connection breakage if implemented correctly.
04 HSMs, code signing, and the long tail
Hardware Security Modules are the trickiest piece of the migration because they are appliances with vendor-controlled firmware lifecycles. The major vendors (Thales, Entrust, Utimaco, Marvell, AWS CloudHSM, Azure Managed HSM, Google Cloud HSM) all have PQC roadmaps but ship dates vary. Some support ML-KEM and ML-DSA in current firmware revisions; others require hardware refresh. For each HSM in your inventory, get the vendor's PQC support matrix and migration path in writing. Plan for 18-36 months between roadmap commitment and production deployment.
Code signing is its own challenge because signatures must remain verifiable for the lifetime of the signed artifact. Firmware that ships in a 10-year industrial device today, signed with ECDSA, is verified by a CRQC-equipped attacker against a key Shor can recover. The right approach for long-lived signed artifacts is SLH-DSA (FIPS 205) — slower and larger than ML-DSA but security depends only on hash function strength, making it the conservative choice for >10-year signature lifetimes. For shorter-lived signing (TLS certs, JWT tokens, sessions) ML-DSA is the practical choice.
The long tail — embedded systems, IoT devices, legacy on-prem applications, payment terminals, vehicle ECUs — is the part of the migration that takes 5-10 years and sometimes requires physical replacement rather than software upgrade. The honest plan for these systems is: identify them in inventory, accept they will not be migrated on the same timeline as your TLS layer, and apply compensating controls (network segmentation, traffic encryption layers above the device, eventual retire-and-replace). Not every device gets PQC by 2030; the realistic goal is the systems with high data sensitivity do.
- HSM migration Vendor-roadmap dependent. 18-36 months from roadmap commit to production. Get the matrix in writing.
- Long-lived signatures SLH-DSA (FIPS 205) for firmware, root CAs, anything signed for >10yr verification window.
- Short-lived signatures ML-DSA (FIPS 204) for TLS certs, code-signing certs with renewal cadence, JWT.
- Embedded + IoT long tail Many will not migrate cleanly. Plan compensating controls + retire-and-replace, not universal upgrade.