Steven GellerQuantum Computing, End to End

Book contents

Current section

Part VIII. Applications and Strategy

  1. What Makes a Problem Quantum-Suitable?
  2. Quantum Simulation and Chemistry
  3. Materials, Energy, and Industrial Science
  4. Optimization: Where Caution Is Required
  5. Cryptography, PQC, QKD, and Security Migration
  6. Quantum Machine Learning and Benchmark Discipline
  7. Sensing, Navigation, and Adjacent Quantum Technologies
  8. Application Evidence Levels
  9. When to Build, Partner, Wait, or Avoid

Part VIII. Applications and Strategy · Chapter 68

Cryptography, PQC, QKD, and Security Migration

Security is the one quantum application where the deadline can arrive before the machine does. This chapter separates three things vendors blur together — Shor's threat, post-quantum migration, and quantum key distribution — and turns them into a sequenced plan.

Artifact
In this chapter 9 sections

Inventory cryptographic dependencies and migrate exposed public-key uses to NIST-standardized post-quantum schemes under a crypto-agility program now; treat QKD as a specialized link technology, and size cryptanalytic-computer risk with explicit fault-tolerant resource assumptions.

Quantum security planning contains three clocks. Cryptographic migration is an inventory and systems-change program already underway. Cryptanalytic quantum computing is a fault-tolerant resource question with substantial uncertainty. Quantum key distribution is a physical communications architecture with its own authentication, distance, availability, and trust assumptions. Combining the clocks produces bad controls.

Separate migration, cryptanalysis, and key distribution

The migration register works asset by asset. It records algorithm and parameter set, where keys or signatures are created and verified, data exposure and confidentiality lifetime, protocol and library dependencies, owner, target scheme, compatibility test, rollback, and deadline. A label such as quantum-ready cannot replace any field.

A cryptographic inventory becomes the control plane

Cryptography, PQC, QKD, and Security Migration: claim and source ledger, frozen 14 August 2026
Bounded claimSupporting records
C-01: NIST has standardized post-quantum algorithms and publishes transition guidance for migration planning.National Institute of Standards and Technology, Post-Quantum Cryptography Standards (2024)
Dustin Moody et al., Transition to Post-Quantum Cryptography Standards (2024)
C-02: Shor's algorithm threatens widely used factoring and discrete-log public-key systems under a sufficiently capable fault-tolerant computer.Peter W. Shor, Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer (1997)
Craig Gidney and Martin Ekerå, How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits (2021)
C-03: Published RSA-2048 estimates depend on large explicit physical-qubit, runtime, and error-correction assumptions.Craig Gidney and Martin Ekerå, How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits (2021)
U.S. Government Accountability Office, Quantum Computing and Communications: Status and Prospects (2021)
Lieven M. K. Vandersypen et al., A look at the full stack (2021)
C-04: BB84 specifies quantum key distribution, which solves a different systems problem from replacing public-key algorithms across an enterprise.Charles H. Bennett and Gilles Brassard, Quantum cryptography: Public key distribution and coin tossing (1984)
National Academies of Sciences, Engineering, and Medicine, Quantum Computing: Progress and Prospects (2019)
Cryptographic migration priority register Three independent clocks in quantum-security planning. Cryptographic migration priority register migration lead time data lifetime CRQC uncertainty QKDlink
Figure 68.1. Migration time, data-exposure lifetime, and cryptanalytic capability evolve independently. QKD occupies a separate link architecture rather than a fourth migration phase.

Dated evidence table: standards, drafts, and original protocols

The archive path signs software and retains verification value for fifteen years. That lifetime and a slow replacement cycle make it a higher migration priority than an internal short-lived session whose library can be updated centrally. A QKD link does not solve the archive-signature dependency. The register puts the control next to the asset rather than next to a technology category.

Cryptographic migration priority register: inspected record
AssetCurrent dependencyExposure or lifetimeNext control
Archive signaturesRSA verification15 yearsPQC signature migration test
External key exchangeECDHlong-lived captureshybrid/PQC interoperability
Internal sessionscentral TLS libraryhoursscheduled library upgrade
Dedicated fiber linksite-specific transportcontinuousseparate QKD architecture review

Artifact contract. A dated asset inventory and executable priority classifier using exposure, data lifetime, algorithm, and replacement lead time. Every asset has an owner and dependency; high-lifetime vulnerable public-key uses rank ahead of short-lived low-friction systems; no QKD row is accepted as a drop-in PQC replacement.

REQUIRED = {"name": str, "algorithm": str, "owner": str, "exposure": dict,
            "replacement_test": str, "dependency": str, "track": str, "source_id": str}
def triage(inventory, urgent_years):
    errors = []
    migration = []
    for asset in inventory:
        missing = [name for name, kind in REQUIRED.items()
                   if name not in asset or type(asset[name]) is not kind or not asset[name]]
        exposure = asset.get("exposure", {})
        if type(exposure.get("value")) not in (int, float) or exposure.get("unit") != "years":
            missing.append("exposure_value_or_unit")
        if asset.get("track") == "QKD-evaluation" and not asset.get("physical_link"):
            missing.append("physical_link")
        if missing:
            errors.append(asset.get("name", "asset") + ":" + ",".join(sorted(set(missing))))
        elif asset["track"] == "PQC-migration":
            migration.append(asset)
    ordered = [a["name"] for a in sorted(migration,
               key=lambda a: (-a["exposure"]["value"], a["name"]))]
    urgent = [a["name"] for a in migration if a["exposure"]["value"] >= urgent_years]
    return {"decision": "invalid" if errors else "migrate", "errors": errors,
            "priority": ordered, "urgent": sorted(urgent)}
assets = [
    {"name": "archive", "algorithm": "RSA-2048", "owner": "release",
     "exposure": {"value": 15, "unit": "years"}, "replacement_test": "ML-KEM restore test",
     "dependency": "release signer", "track": "PQC-migration", "source_id": "nist-pqc"},
    {"name": "external-kex", "algorithm": "ECDH P-256", "owner": "network",
     "exposure": {"value": 8, "unit": "years"}, "replacement_test": "hybrid handshake test",
     "dependency": "gateway", "track": "PQC-migration", "source_id": "nist-pqc"},
    {"name": "metro-link", "algorithm": "authenticated QKD", "owner": "network",
     "exposure": {"value": 1, "unit": "years"}, "replacement_test": "key-service failover",
     "dependency": "fiber plus authentication", "track": "QKD-evaluation",
     "source_id": "etsi-qkd", "physical_link": "leased fiber"}]
base_result = triage(assets, 10)
bad_assets = [{key: value for key, value in assets[0].items() if key != "owner"}, *assets[1:]]
bad_result = triage(bad_assets, 10)
short_archive = [{**assets[0], "exposure": {"value": 0.5, "unit": "years"}}, *assets[1:]]
sensitive_result = triage(short_archive, 10)
assert base_result["priority"][:2] == ["archive", "external-kex"] and base_result["urgent"] == ["archive"]
assert bad_result["decision"] == "invalid" and "owner" in bad_result["errors"][0]
assert sensitive_result["priority"][0] == "external-kex" and sensitive_result["urgent"] == []
print(f"PASS: 68 crypto dossier priority={base_result['priority']} invalid={bad_result['errors']} sensitivity={sensitive_result['priority'][0]}")

Exact validation command: python3 tools/validate_briefs.py --briefs data/editorial_briefs_64_87.json --from 64 --through 87 --check-rewritten-sources --execute-artifacts

Prioritize by exposure lifetime and replacement friction

Begin with discovery and crypto agility: find embedded algorithms, test hybrid or replacement modes where applicable, measure key and signature sizes in real protocols, and exercise rollback. Procurement language should name standards, parameters, profiles, and validation evidence. QKD may be assessed for a particular link only after its physical topology and authentication model are declared.

Run a migration triage on five assets

Prompt. Triage five real cryptographic assets without using a generic 'quantum-safe' label.

Deliverable. Asset register with algorithms, data lifetime, exposure, owner, migration dependency, PQC target, and verification step.

Pass condition. Every asset has evidence and an owner; vulnerable long-lived traffic is prioritized; QKD appears only where its physical link and authentication assumptions are documented.

Model answer: authenticate the archive path first

Format. Five-asset register prioritizing long-lived archive authentication and key exchange.

The model register prioritizes archive signing, external key exchange, and device-update verification. It assigns an owner and replacement test to all five assets. The QKD row is classified as a separate link study and does not reduce the migration priority of public-key assets. The fixture fails any item without an owner, algorithm, exposure duration, or test, which prevents an inventory from becoming a decorative spreadsheet.

Verification. The classifier reproduces the ordering and fails if an asset lacks an algorithm, owner, exposure window, or replacement test.

Companion work

Artifacts for this chapter

These entries resolve to checked-in local source. Commands are reproduced exactly from the chapter manifest, and source-embedded fixtures are exported as direct downloads.

  1. Reproduce or test

    python3 tools/validate_briefs.py --briefs data/editorial_briefs_64_87.json --from 64 --through 87 --check-rewritten-sources --execute-artifacts

Provenance

Sources and review

  1. National Institute of Standards and Technology. Post-Quantum Cryptography Standards. NIST. 2024official standardization project
  2. Dustin Moody et al.. Transition to Post-Quantum Cryptography Standards. National Institute of Standards and Technology. 2024official transition guidance (initial public draft)
  3. Charles H. Bennett and Gilles Brassard. Quantum cryptography: Public key distribution and coin tossing. Proceedings of the IEEE International Conference on Computers, Systems and Signal Processing / IBM Research. 1984primary conference paper
  4. Peter W. Shor. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM Journal on Computing. 1997primary paper
  5. Craig Gidney and Martin Ekerå. How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits. Quantum. 2021primary peer-reviewed resource estimate
  6. U.S. Government Accountability Office. Quantum Computing and Communications: Status and Prospects. GAO. 2021government technology assessment
  7. National Academies of Sciences, Engineering, and Medicine. Quantum Computing: Progress and Prospects. National Academies Press. 2019consensus study report
  8. Lieven M. K. Vandersypen et al.. A look at the full stack. Nature Reviews Physics. 2021peer-reviewed perspective

The load-bearing claims in the chapter are mapped inline to this registered source set. A citation supports only the bounded claim beside it.

Cite this chapter