Security10 min read

Post-Quantum Cryptography Migration: How to Build Crypto-Agile Enterprise Systems

Post-quantum cryptography requires engineering changes now. Learn how to build a CBOM, implement FIPS 203 hybrid TLS, and ship crypto-agile enterprise systems.

Post-quantum cryptography (PQC) migration has crossed the line from future planning to active engineering work. NIST finalized its first three post-quantum standards — FIPS 203 (ML-KEM), FIPS 204 (ML-DSA), and FIPS 205 (SLH-DSA) — in August 2024, and the U.S. government has mandated that agencies begin transitioning immediately. For enterprise engineering teams, 2026 is the execution year: cryptographic inventory, library upgrades, hybrid TLS rollout, and the architectural shift to crypto-agile systems. Teams that treat this as a future compliance exercise are already behind.

The threat that makes delay costly is not a quantum computer breaking your encryption today — none exists at that scale yet. The threat is adversaries harvesting encrypted traffic right now, storing it, and decrypting it when quantum hardware arrives — estimated between 2033 and 2037. Any data you encrypt today with RSA or ECC that must stay confidential beyond 2033 is already exposed if an adversary has a copy. Long-lived secrets, regulated health and financial data, and intellectual property are the highest-priority targets. This guide covers the engineering path from awareness to production: how to build your cryptographic inventory, make your software crypto-agile, migrate TLS, and validate the result. These decisions interact directly with your broader security and scalability engineering architecture, and should be planned together rather than as a separate workstream.

This is not a compliance checklist — it is an engineering implementation guide. What changes in your code, what changes in your infrastructure, and what to do in what order to avoid breaking production while building toward quantum-resistant systems.

The Harvest Now, Decrypt Later Threat: Why 2026 Is Too Late to Wait

The conventional mental model of cryptographic threats assumes an attacker needs current compute to break your encryption. Post-quantum threats break this assumption. The harvest now, decrypt later (HNDL) attack pattern requires no quantum computer today: an adversary intercepts and stores your encrypted communications now, then decrypts them when quantum hardware arrives. Intelligence agencies in multiple countries have confirmed this is already happening at scale. The National Counterintelligence and Security Center has explicitly warned U.S. enterprises that nation-state adversaries are conducting HNDL campaigns against defense, pharmaceuticals, finance, and critical infrastructure.

  • Data with a long confidentiality horizon is at risk now: patient health records, M&A communications, IP documentation, and long-term contracts encrypted today could be decrypted in ten years with quantum hardware that does not yet exist.
  • RSA-2048 and ECC P-256 are specifically targeted: NIST IR 8547 deprecates these by 2030 and plans to remove them from all NIST standards by 2035. Starting migration in 2028 is not starting early.
  • TLS session keys negotiated today are ephemeral, but TLS certificates, stored private keys, and at-rest encrypted data have longer lifetimes and are higher-priority migration targets.
  • The practical quantum threat window is 2033–2037: IBM's quantum roadmap and other public projections converge on this range for cryptographically relevant quantum computers — but the harvest is happening now.

NIST PQC Standards for Engineers: What FIPS 203, 204, and 205 Actually Mean

Most PQC coverage aimed at engineers is either too abstract ('use quantum-resistant algorithms') or too academic (detailed lattice mathematics). Here is what you actually need to know to implement the NIST standards in production software.

  • FIPS 203 (ML-KEM, based on CRYSTALS-Kyber): The key encapsulation mechanism for key exchange in TLS and other session establishment protocols. ML-KEM replaces RSA-based key exchange and ECDH. It produces larger public keys (1,184 bytes for ML-KEM-768 vs. 64 bytes for ECDH P-256) but is computationally fast — often faster than RSA at equivalent security levels.
  • FIPS 204 (ML-DSA, based on CRYSTALS-Dilithium): The digital signature algorithm replacing RSA-PSS and ECDSA for code signing, certificate signing, and authentication tokens. Signature sizes are larger than ECDSA — roughly 2,420 bytes for ML-DSA-65 versus 64 bytes for ECDSA P-256 — which matters for protocols with strict size constraints like DNSSEC.
  • FIPS 205 (SLH-DSA, based on SPHINCS+): A hash-based signature scheme intended as a conservative backup to ML-DSA. Signatures are very large (7,856–49,856 bytes depending on parameter set), making it unsuitable for TLS but appropriate for code signing where latency is not a constraint.
  • FIPS 206 (FN-DSA, based on FALCON) is pending finalization in 2026. It produces compact signatures suitable for constrained environments but has complex implementation requirements — Gaussian sampling over the integers — making it harder to implement correctly without a vetted library.
  • All four algorithms are being integrated into OpenSSL 3.x via the oqs-provider plugin, AWS-LC, BoringSSL, and liboqs. Do not implement these algorithms from scratch — use vetted, audited libraries for any production deployment.

Step 1: Build Your Cryptographic Bill of Materials

Before you can migrate, you need to know what you are migrating. The cryptographic bill of materials (CBOM) is the foundation of every PQC migration program. The concept mirrors the Software Bill of Materials approach used in supply chain security — a complete inventory of every cryptographic component in your system: every algorithm in use, every key type and size, every certificate, every library version, and every protocol. Without this inventory, you cannot prioritize, and you will discover dependencies at the worst possible moment — mid-migration.

  • Static analysis: Tools like Cryptosense, IBM's CBOM tools, and open-source scanners like cryoscanner can identify cryptographic function calls in source code. Run these across every service and library in your stack, not just your own application code.
  • Binary and dependency scanning: Many cryptographic usages are in dependencies, not your own code. Your CBOM must include cryptographic algorithms used by every package in your dependency tree. A service that uses the AWS SDK is indirectly relying on AWS's cryptographic choices — that matters for your migration.
  • Infrastructure and configuration scanning: TLS versions and cipher suites configured in load balancers, API gateways, databases, and service meshes are cryptographic choices. Document every nginx.conf, ALB listener policy, and RDS TLS configuration.
  • Certificate inventory: Map every TLS certificate — internal and external — code signing certificate, and mTLS certificate, including issuer, expiry, key algorithm, and what system it protects. Certificate inventory is often 30–60% of the total migration work.
  • HSM and KMS audit: If you use hardware security modules or cloud KMS services (AWS KMS, Azure Key Vault, GCP Cloud KMS), verify their post-quantum roadmaps now. HSM firmware upgrades are almost always the longest-lead-time item in a PQC migration.

Step 2: Implement Crypto-Agility in Your Application Code

Crypto-agility is the architectural property that lets you swap cryptographic algorithms without cascading code changes across your codebase. It is the single most important engineering investment you can make for PQC migration — and for every future cryptographic transition that follows. Teams that built hard dependencies on specific algorithm names, key sizes, or signature formats in their business logic are paying the highest migration costs today. Teams that abstracted cryptographic operations behind stable interfaces can swap the underlying library with a configuration change.

  • Abstract cryptographic operations behind interfaces: Do not scatter direct calls to algorithm-specific primitives through your codebase. Wrap them in a signing service, a key derivation module, or an encryption utility with a stable API. Swapping the underlying algorithm then requires changing one implementation file, not a hundred call sites.
  • Externalize algorithm configuration: Algorithm choices belong in configuration, not source code. A signing service that reads its algorithm choice from environment or a config file can switch between ECDSA and ML-DSA without a code deploy — only a config change and restart.
  • Use stable library abstractions: OpenSSL's EVP API, Java's JCA provider model, and Python's cryptography package all expose algorithm-agnostic interfaces. These were designed for exactly this kind of transition. Prefer them over algorithm-specific APIs.
  • Version your key formats: If your application stores or transmits public keys, add an algorithm identifier. A raw 2048-bit RSA public key has no embedded metadata indicating what algorithm it encodes. An ML-KEM-768 public key (1,184 bytes) looks nothing like a P-256 key. Applications that assume a fixed key format will fail silently when the algorithm changes.
  • Hybrid key exchange as a transition pattern: During the migration period, implement hybrid key exchange — combining a classical algorithm (ECDH P-256) with a post-quantum algorithm (ML-KEM-768) and deriving the session key from both. You get quantum-resistant security even if one algorithm has an unexpected weakness, with no regression if the PQC algorithm is later revised.

Step 3: Migrate TLS and Certificate Infrastructure

TLS migration is the most visible and impactful part of PQC migration for most enterprise teams. Every service-to-service call and every user-facing HTTPS connection uses TLS. The good news: TLS 1.3 already supports hybrid key exchange extensions, and major TLS libraries added ML-KEM support in 2025–2026. The challenge is that certificates using PQC algorithms require CA infrastructure support that is still maturing — so TLS migration happens in two distinct phases.

  • Phase 1 — Hybrid key exchange with classical certificates: This is available today. Upgrade to OpenSSL 3.x with the OQS provider, or use AWS-LC. Configure your TLS endpoints to offer hybrid key exchange groups such as X25519Kyber768. This makes your session establishment quantum-resistant even though the certificate signatures remain ECDSA. This step alone closes the HNDL risk for all new connections.
  • Phase 2 — Post-quantum certificates: Publicly-trusted certificate authorities are not yet issuing PQC certificates at scale. Internal PKI can move faster: if you operate your own CA using HashiCorp Vault PKI, EJBCA, or AWS Private CA, you can begin issuing ML-DSA certificates for internal service mTLS ahead of public CA readiness.
  • Inventory your TLS termination points: Many teams terminate TLS at a load balancer or API gateway rather than at the application. For those teams, the migration effort is in the infrastructure layer — nginx, HAProxy, AWS ALB, Cloudflare — not in application code. Verify your load balancer vendor's PQC support roadmap before planning your timeline.
  • Benchmark handshake overhead before broad rollout: ML-KEM adds roughly 1–2 KB to the TLS handshake due to larger public keys and ciphertexts. For high-frequency, latency-sensitive internal connections, benchmark hybrid handshakes against your SLOs. Most enterprise services find the overhead negligible; services with sub-5ms latency requirements should measure before committing to a rollout date.

Step 4: Key Management, HSMs, and Library Upgrades

Key management is where PQC migrations most often stall. If your keys live in hardware security modules, the HSM firmware must support PQC algorithms before you can generate or use post-quantum keys — and HSM firmware upgrades from Thales, Utimaco, or nCipher have lead times measured in months. Cloud KMS services have similar constraints. For a full picture of how your key management architecture affects your migration sequence, see our guide on secrets management at enterprise scale.

  • Audit HSM firmware versions and vendor PQC roadmaps immediately: This is almost always the longest-lead-time dependency in a PQC migration. Start conversations with your HSM vendor as the first action in your program, not the last.
  • Library version requirements by language: OpenSSL 3.2+ with the OQS provider supports ML-KEM and ML-DSA today; native OpenSSL integration without the plugin is expected in OpenSSL 3.5+. Java applications should target Bouncy Castle 1.79+ or JCA provider support. Go applications can use the cloudflare/circl library. Python applications use the cryptography package 43+ or pqcrypto.
  • Dependencies transitively use cryptography: Your application framework, gRPC libraries, JWT libraries, and SSH clients all use cryptographic algorithms. Audit whether they support PQC algorithms through their own upgrade paths or whether you need to configure them to use a different cryptographic backend.
  • Rotate keys as part of migration: PQC migration is the correct moment to also enforce key rotation discipline. Any long-lived keys that have not been rotated in over a year should be rotated as part of the migration program, not simply re-encrypted with a post-quantum algorithm.

Step 5: Testing and Validating Your Post-Quantum Implementation

PQC algorithms are new and implementation errors in this domain are more consequential than with well-understood classical algorithms — side-channel attacks on lattice-based schemes are an active research area. Your DevSecOps pipeline security should enforce PQC validation at every deployment stage: interoperability tests, negative-path tests, and performance benchmarks under realistic load.

  • NIST test vectors: NIST publishes known-answer test vectors for all three algorithms. Your integration must produce correct outputs for these published cases before any production deployment. Use the Open Quantum Safe test suite for end-to-end TLS interoperability validation.
  • Backward compatibility testing: During the hybrid transition period, clients that support PQC and clients that do not must both work correctly against your services. Write explicit tests that exercise both paths and add CI gates that verify backward compatibility is not broken by any library upgrade.
  • Performance benchmarks at realistic scale: A service handling 10,000 TLS handshakes per second should benchmark hybrid handshakes at that throughput before rollout — not just on a developer workstation. Include this in your load testing suite and tie it to your latency SLO.
  • CBOM-driven regression tests: After completing migration of a service, run your CBOM scanner against the deployed binary or runtime to verify that quantum-vulnerable algorithms no longer appear in the active execution path. This is the acceptance gate before closing a migration work item.
  • Fuzz testing for library wrappers: If you write any code that wraps PQC library calls — serialization, key derivation, protocol adapters — fuzz that code. Edge cases in key format handling have historically been the source of cryptographic implementation vulnerabilities, and PQC key structures are less battle-tested than RSA.

Prioritizing Your Migration: A Risk-Driven Sequence

Not everything migrates simultaneously. A risk-driven sequence that maps data sensitivity and connection longevity to migration priority gives your team a defensible roadmap without attempting to replace every cryptographic dependency at once.

  • Priority 1 — Long-lived secrets and high-sensitivity data at rest: Encryption keys, database master keys, and backup encryption for regulated data such as HIPAA, PCI, or government-adjacent records. These have the longest exposure windows and highest consequence if decrypted in the future.
  • Priority 2 — External TLS connections carrying sensitive data: User authentication endpoints, payment flows, and any connection carrying data that is valuable long-term. Implement hybrid key exchange here first — you do not need PQC certificates to get quantum-resistant session establishment.
  • Priority 3 — Internal service-to-service mTLS: Internal PKI is easier to migrate than public CA-issued certificates. Upgrade your internal CA to issue ML-DSA certificates and mandate PQC-capable mutual TLS for high-value internal services before waiting for public CA readiness.
  • Priority 4 — Code signing and software update signatures: Code signing certificates with ML-DSA protect your software supply chain against future quantum-based tampering. This is high-value but lower-urgency for most teams — a 2026–2027 timeline is appropriate.
  • Priority 5 — Lower-sensitivity connections and short-lived data: Public CDN traffic, analytics pipelines, and session data with no long-term confidentiality requirement are lowest priority. They still migrate eventually, but a 2027–2028 timeline is defensible.

Frequently Asked Questions

When will quantum computers actually break RSA and ECC encryption?

The consensus estimate among quantum computing researchers and national security agencies is 2033–2037 for a cryptographically relevant quantum computer capable of running Shor's algorithm against RSA-2048 or ECC P-256 at scale. IBM's public quantum roadmap, CISA's technical guidance, and intelligence assessments that have been partially disclosed all converge on this range. The specific year is uncertain; the direction is not. Planning around a 2035 outer bound and designing systems that can migrate gracefully is the engineering-responsible position.

What is 'harvest now, decrypt later' and why does it matter for my organization today?

Harvest now, decrypt later (HNDL) means that adversaries — primarily nation-state threat actors — are intercepting and storing your encrypted data now, without being able to read it, and will decrypt it when quantum hardware arrives. The attack requires no quantum computer today, only network access and bulk storage. If your organization handles data that is sensitive for more than seven to ten years — health records, financial contracts, intellectual property, government data — that data is a target for active HNDL campaigns right now. The mitigation is deploying post-quantum key exchange for new connections, which makes any stored ciphertext useless even when quantum hardware eventually arrives.

Do I need to replace all my encryption with post-quantum algorithms immediately?

No. The migration is prioritized by data sensitivity and longevity. Short-lived session data, ephemeral tokens, and connections carrying non-sensitive information can wait. The immediate priority is key exchange for connections carrying long-lived sensitive data, and the encryption of stored secrets that must stay confidential beyond 2030. Importantly, symmetric encryption — AES-256 — is already quantum-resistant without changes. A quantum computer provides only a quadratic speedup against symmetric ciphers via Grover's algorithm, and AES-256's key size fully mitigates this. The migration effort is concentrated entirely on asymmetric cryptography: RSA, ECC, and Diffie-Hellman key exchange.

What is crypto-agility and how do I add it to existing software?

Crypto-agility is the ability to swap cryptographic algorithms in your system with minimal code changes. In practice it means three things: abstracting cryptographic operations behind stable interfaces so callers do not reference algorithm names directly; externalizing algorithm selection to configuration rather than hard-coding it; and using library abstractions that support multiple algorithm backends — like the JCA provider model in Java or the EVP API in OpenSSL. For existing software, implementing crypto-agility retroactively is a refactoring exercise: identify every direct call to a cryptographic primitive, wrap it in an abstraction, and make the algorithm choice configurable. This investment pays dividends beyond PQC — any future algorithm deprecation becomes a configuration change, not a codebase-wide refactor.

Does post-quantum cryptography significantly slow down TLS handshakes?

In most enterprise workloads, the latency impact of hybrid PQC TLS is negligible. ML-KEM is computationally faster than RSA-2048 key exchange at equivalent security levels; the overhead comes from larger data sizes — an ML-KEM-768 public key is about 1.2 KB versus 64 bytes for ECDH P-256. The practical effect is a slightly larger TLS handshake packet, which only adds a round trip if the additional data pushes the handshake past a single MTU boundary. Cloudflare's and Google's public deployments of hybrid TLS show sub-2ms additional latency in typical web service scenarios. Services with extremely tight latency SLOs should benchmark before broad rollout, but most enterprise services will not notice the difference under production traffic patterns.

How Belsoft Helps Enterprise Teams Navigate Post-Quantum Cryptography Migration

Post-quantum cryptography migration is not a one-sprint project. It is a multi-year engineering program that requires cryptographic inventory, architectural refactoring, library upgrades, infrastructure changes, and validation at each step — while keeping production systems stable throughout. Belsoft's security and scalability engineering team works with enterprise clients on cryptographic modernization, DevSecOps pipeline hardening, and zero-trust architecture — the same engineering disciplines that underpin a successful PQC migration. We help teams build CBOMs, design crypto-agile application layers, and plan migration sequencing that fits their specific risk profile and technology stack without disrupting existing operations.

If your organization is starting a PQC migration program — or trying to understand where to start — schedule a technical consultation to walk through your cryptographic footprint and build a prioritized migration roadmap. The engineering choices you make in 2026 directly determine how smooth the transition is when NIST's 2030 deprecation deadlines arrive for RSA and ECC.

The quantum threat is not a future event — it is a present architecture decision. Every service you ship today is either quantum-vulnerable by default or quantum-resistant by design.

Written by

Belsoft Team

Ready to build?

Let's talk about your project.

30 minutes. No pitch. We map your requirements and tell you honestly what it will take.

Book a Strategy Call
logo

Enterprise software engineering SaaS, AI, cloud, and security for companies that need more than an agency.

Copyright Ⓒ 2026 BelSoft. All Rights Reserved.

social-media-1social-media-2social-media-3social-media-4