Creuto is now an OpenAI Select Partner Read More
NIST IR 8547 deprecates classical public-key crypto after 2030 and disallows it after 2035. How to build a cryptographic inventory, and where AI misleads.

NIST's draft transition plan puts a date on cryptography you are running today. Classical public-key algorithms at the 112-bit security level are deprecated after 2030 and disallowed after 2035, and everything stronger — RSA, ECDSA, EdDSA, finite-field and elliptic-curve Diffie-Hellman — is disallowed after 2035 too. A cryptographic inventory is the deliverable that tells you how much of that is yours, and most engineering organisations cannot produce one.
This post covers what those two words actually mean, the five layers cryptography hides in, and how a codebase scan plus an LLM triage pass finds it. It also covers the part the tooling pitches skip: the three places that method hands you false confidence, and what you have to do by hand instead.
The document is NIST IR 8547, Transition to Post-Quantum Cryptography Standards, published November 2024. Read the status line before you quote it anywhere expensive: as of 1 October 2026 it is still an initial public draft. The comment period closed on 10 January 2025 and no final version has been published. Plenty of secondary coverage describes 2030 and 2035 as NIST deadlines. They are a published intent in a draft, which is a good enough basis to plan against and a bad basis to tell your board the rule is settled.
The vocabulary matters more than the years, because IR 8547 inherits it from SP 800-131A and the three terms mean very different things to whoever owns the system:
Applied to the algorithms actually deployed in a normal estate, the draft reads like this:
| Algorithm family | Parameters | Transition |
|---|---|---|
| RSA, ECDSA (signatures) | 112-bit security strength | Deprecated after 2030, disallowed after 2035 |
| RSA, ECDSA, EdDSA (signatures) | 128-bit security strength and above | Disallowed after 2035 |
| Finite-field DH/MQV, elliptic-curve DH, RSA key transport | 112-bit security strength | Deprecated after 2030, disallowed after 2035 |
| The same key-establishment schemes | 128-bit security strength and above | Disallowed after 2035 |
| Symmetric standards at the 112-bit level | — | Disallowed in 2030 |
One detail is worth flagging to anyone who built a plan off the older guidance. SP 800-57 Part 1 had projected that NIST would disallow 112-bit public-key schemes on 1 January 2031. IR 8547 softens that to deprecation, explicitly so organisations can keep running them while they migrate. If your roadmap assumed a hard 2031 cut-off, the draft gives you five more years at the bottom end — and takes nothing off the 2035 date at the top.
The replacements already exist. FIPS 203, 204 and 205 were published in August 2024: ML-KEM for key establishment, ML-DSA and SLH-DSA for signatures, with HQC selected as a fourth-round key-encapsulation alternative still being standardised. The algorithms are not the hard part. Finding every place you use the old ones is.
CISA, the NSA and NIST published a joint factsheet, Quantum-Readiness: Migration to Post-Quantum Cryptography, that is unusually specific about scope. It tells organisations to use discovery tools across three places: network protocols; assets on end-user systems and servers, "including applications and associated libraries, both within application functionality and for firmware and software updates"; and "cryptographic code or dependencies in the continuous integration/continuous delivery development pipeline".
That third one is the giveaway. An inventory that stops at the TLS handshake is a report about your load balancer. The factsheet also carries the sentence that should set your expectations for any scanning tool, ours included: "Discovery tools may not be able to identify embedded cryptography used internally within products, hindering discoverability or documentation. Organizations should ask vendors for lists of embedded cryptography within their products."
The output format has largely settled on a cryptography bill of materials (CBOM) — the CycloneDX extension that records algorithms, keys, certificates and their relationships to software components. Treat it the way you treat an SBOM: a build artefact regenerated on every merge, not a spreadsheet someone owns.
Cryptography in a typical platform stacks up in five places, and they get progressively harder to see.
Layer four is the one teams consistently miss, and it is missed for a structural reason rather than a careless one: it is the only layer where the answer cannot be derived from anything you control. In the modernisation and integration work we do, the slow part is never swapping an algorithm in our own code. It is getting a straight answer out of a dependency about what its SDK negotiates, and then discovering the answer is "whatever the server offers".
Cloudflare published the clearest worked description of the method so far, in a write-up of CryptoLabe, the internal tool it built to chart its own migration against a 2029 readiness target. The architecture is two stages, and the split is the whole trick.
Discovery sweeps a repository for cryptographic artefacts across "source, configuration, manifests, lockfiles, scripts, tests, and documentation" and emits raw observations — key agreement, signatures, asymmetric encryption, PKI, tokens, credentials. It is deliberately noisy.
Analysis then takes each observation on its own and re-checks it against the source, looks at runtime behaviour, walks dependencies and inspects related repositories before classifying it. Cloudflare's classes are practical rather than academic: classical encryption, classical signature, classical token, PQ-ready hybrid key exchange, PQ-ready. Crucially, the model is allowed to return insufficient evidence instead of guessing.
The argument for this over grep -r "RSA" is one Cloudflare states directly: pattern matching both overcounts, by flagging code that never executes, and undercounts, by missing defaults and indirect dependencies. An LLM pass is not better at finding the string. It is better at answering the second question — is this actually used, and by what.
The other technique worth stealing is the separate "hard cases" prompt, run holistically across all repositories with organisational context, which ignores vanilla usage and looks for the things that will not migrate cleanly: custom protocols, size-constrained fields, cryptography embedded in hardware, external-party dependencies. Cloudflare's example is a certificate carried in an HTTP header, where a post-quantum signature's larger size could blow past the header limit. That is a finding no inventory row would have surfaced, and it is the kind that reshapes a timeline.
Four failure modes, in rough order of how badly they bite.
You cannot measure recall. Cloudflare says plainly that it does "not yet have a ground-truth dataset for reproducibly comparing different versions of the prompts". Neither will you. An inventory with 400 findings and no known false-negative rate is evidence of effort, not coverage. Say so in the document, in writing, before someone cites it as a completeness claim in a security questionnaire.
The model reports what the code says, not what runs. Negotiated protocol versions, environment variables, feature flags and platform defaults all sit outside the repository. A library that supports ML-KEM is not a deployment that negotiates it. Pair every code finding with a runtime observation before you call it closed — the same discipline that makes a CVSS 9.8 wait while a 6.5 ships today applies here: reachability beats presence.
Vendor and hardware cryptography is invisible to it. A code scan of your repositories says nothing about what your payment provider's SDK does internally, and nothing at all about an HSM. This part is procurement work and vendor questionnaires, and CISA's factsheet is explicit that you have to ask.
A clean scan ages instantly. The day after the report, someone adds a dependency. Unless the scan runs in CI and the CBOM is regenerated on merge, you have bought a snapshot and called it a control. This is the same mistake as running a one-off dependency audit — compare the operational discipline behind GitHub's SSH key-strength enforcement, which worked because it was a gate, not a memo.
The strongest argument against starting: no cryptographically relevant quantum computer exists, the NIST dates are in a draft that has not been finalised, and post-quantum deployment shapes are still moving. Spending 2026 budget on a 2035 problem is a genuine opportunity cost, and an inventory produced too early will be stale by the time anyone acts on it.
That argument defeats an early migration. It does not defeat an early inventory, for three reasons. The inventory carries no algorithm risk — it is a map, and the map stays valid whichever algorithm wins. It is reusable immediately for TLS posture, FIPS boundary questions, certificate lifecycle and audit evidence, none of which are quantum problems. And it has the longest lead time of anything in the programme, because it ends in conversations with vendors who are not ready to answer yet.
If you only do one of these, do the last one. Everything else is work you control and can schedule; the vendor answers are the ones that will set your actual date, and they are the ones nobody has started asking for. This is ordinary legacy application modernisation work with an unusually firm deadline attached — and the firmest thing about it is that the deadline is not yours to move.
Post-quantum migration starts with a cryptographic inventory, not an algorithm swap. CISA, the NSA and NIST advise scanning network protocols, applications and libraries, and CI/CD dependencies, then scoping by data lifetime so anything that must stay confidential past 2035 migrates first.
Deprecated means the algorithm may still be used but carries security risk, and the data owner decides whether to continue. Disallowed means it is no longer permitted for the stated purpose. IR 8547 deprecates 112-bit classical public-key algorithms after 2030 and disallows them after 2035.
No. NIST IR 8547 was published in November 2024 as an initial public draft, its comment period closed in January 2025, and as of 1 October 2026 no final version has been issued. The dates are a published intent suitable for planning, not a settled rule.
Run a two-stage pass: a wide discovery sweep over source, configuration, manifests, lockfiles, scripts, tests and documentation, then an analysis stage where a model re-checks each observation against the source and classifies it. Pattern matching alone both overcounts dead code and misses indirect dependencies.
Crypto agility is designing systems so an algorithm can be replaced without rewriting the application around it: negotiated rather than hard-coded primitives, versioned key material, and a cryptographic inventory that is regenerated automatically. It is what turns the 2035 transition into a configuration change rather than a rebuild.
A CBOM is a CycloneDX extension that records cryptographic algorithms, keys and certificates alongside the software components that use them. Treat it like an SBOM: a build artefact regenerated on every merge and diffed, so new classical primitives entering the codebase raise an alert.
No, and you should document why. There is no ground-truth dataset to measure recall against, code analysis cannot see runtime configuration, and cryptography embedded inside vendor products and hardware is invisible to a repository scan. Those gaps close through vendor questionnaires and runtime observation.
Ready to take the first step towards unlocking opportunities, realizing goals, and embracing innovation? We're here and eager to connect.
11th Floor, O-Hub, Chandaka Industrial Estate, Infocity, Bhubaneswar, Odisha 751024
Level 4, 11 York Street Sydney Startup Hub Sydney, NSW – 2000
30 N. Đinh Nghệ, Phước Mỹ Sơn Trà, Đà Nẵng / Da Nang City – 550000
Level 25, AIDP Business Tower, Dubai Marina, United Arab Emirates
50 Beauchamp Street, Wellington, WGN 5028, New Zealand