Earnie
ARTICLEPQC / CRYPTO READINESS

How to build a cryptographic inventory for CNSA 2.0

CNSA 2.0 sets firm deadlines for quantum-resistant cryptography. Here's what the inventory behind compliance actually has to look like.

Giuliana Bruni
Marketing Content Specialist
UPDATED 5 min read
Timeline from 2025 to 2033, with the 2025, 2030 and 2033 milestones in orange

TL;DR: CNSA 2.0 is the NSA's required suite of quantum-resistant algorithms for US National Security Systems, with deadlines set by system category between 2025 and 2033. Meeting those deadlines starts with a cryptographic inventory built from source code rather than manifests, mapped to CNSA 2.0 categories and kept current as code changes.

WHY THIS CHANGES THE CALCULUS NOW

CNSA 2.0 deadlines are staggered by system category

The Commercial National Security Algorithm Suite 2.0 (CNSA 2.0) was published by the NSA in September 2022 to notify owners, operators and vendors of National Security Systems (NSS) of upcoming quantum-resistant algorithm requirements. For a while it sat in the "eventual compliance work" pile. That's over. CNSSP 15, the policy governing which algorithms NSS must use, was updated in 2025 to formally incorporate CNSA 2.0 and deprecate CNSA 1.0. From 1 January 2027, new equipment acquired for NSS must support CNSA 2.0 algorithms unless an exception applies, and NIAP is updating its Protection Profiles so products can be validated against them.

CNSA 2.0 sets two dates for each system category: when CNSA 2.0 algorithms must be supported and preferred, and when they must be used exclusively.

CNSA 2.0 TRANSITION DEADLINES BY SYSTEM CATEGORY
SYSTEM CATEGORYSUPPORT AND PREFER BYEXCLUSIVE USE BY
Software and firmware signing20252030
Web browsers, servers and cloud services20252033
Traditional networking equipment (VPNs, routers)20262030
Operating systems20272033
Niche and constrained equipment20302033
Custom applications and legacy equipmentUpdate or replace by 2033

Procurement teams selling into defence, government and critical infrastructure are already asking vendors for a transition plan, and a transition plan only holds up if it starts from an accurate inventory.

WHAT CNSA 2.0 ACTUALLY REQUIRES

CNSA 2.0 approves AES-256, SHA-384/512, ML-KEM and ML-DSA

CNSA 2.0 approves AES-256 for symmetric encryption, SHA-384 or SHA-512 for hashing, and two asymmetric algorithms originally named CRYSTALS-Kyber and CRYSTALS-Dilithium, now finalised by NIST as ML-KEM (FIPS 203) and ML-DSA (FIPS 204). NSA specifies ML-KEM-1024 and ML-DSA-87, the highest security levels. For software and firmware signing specifically, NSA selected LMS and XMSS (NIST SP 800-208), since these had standardised, validated implementations available when the advisory was published.

CNSA 2.0 effectively deprecates RSA, Diffie-Hellman and elliptic curve cryptography once each deadline lands. That's the algorithm category most often buried in legacy code, third-party libraries and vendor components nobody wrote in-house. CNSA 2.0 is also narrower than the NIST post-quantum standards: it includes ML-KEM and ML-DSA but not SLH-DSA, so "we use NIST post-quantum algorithms" doesn't automatically mean CNSA 2.0 alignment.

WHY MOST ORGANISATIONS STALL HERE

Most cryptography never appears in a dependency manifest

Most organisations stall on CNSA 2.0 because cryptography is rarely declared. It's called through library functions, inherited from dependencies several layers deep, hardcoded in configuration, or embedded in vendor-supplied binaries with no visible source. A dependency manifest tells you which packages are declared. It doesn't tell you whether a package invokes RSA key generation, whether a deprecated hashing function gets called in some obscure utility module, or whether a certificate library defaults to an algorithm nobody chose on purpose.

Manifest-only software composition analysis has the same weakness: the hard part is knowing what's actually in use. A manifest-only cryptographic inventory looks complete on paper and is materially incomplete in practice.

WHAT A WORKING INVENTORY LOOKS LIKE

A CNSA 2.0 inventory needs source-level detection

A cryptographic inventory that supports CNSA 2.0 compliance has to answer three questions for every algorithm found: what it is, where it's implemented, and which system or product it ships in. Answering them needs source-level detection, because algorithm calls, hardcoded key material and certificate logic live in code a manifest never surfaces. Snippet-level detection, the same approach used to identify open source components, pinpoints the specific function or file where an algorithm is invoked, not just the package that contains it.

The inventory should also be structured rather than narrative. A CBOM in CycloneDX format gives every finding a consistent schema (algorithm family, specification, location), so teams can filter directly for CNSA 1.0 algorithms still in use, flag them against the relevant deadline, and hand engineering a prioritised worklist instead of an ambiguous spreadsheet. Where a codebase spans multiple languages, the inventory has to hold up across all of them: a partial inventory covering one language creates the same false confidence as a manifest-only scan.

HOW TO SEQUENCE THE WORK

Sequence cryptographic discovery by CNSA 2.0 deadline

Cryptographic discovery should follow the CNSA 2.0 calendar rather than treat every system as equally urgent. Software and firmware signing has the earliest support date (2025) and shares the earliest exclusive-use date (2030) with networking equipment, so start there. Networking equipment and anything touching TLS, SSH or IPsec comes next, with a 2026 support date. Operating systems and custom applications have longer runways but larger, more entangled codebases, so starting early avoids a compressed migration window later.

KEEPING THE INVENTORY CURRENT

A CNSA 2.0 inventory has to stay continuous

A cryptographic inventory for CNSA 2.0 isn't a one-off audit. Codebases change continuously, dependencies get upgraded or swapped, and an inventory produced once and left static drifts out of accuracy within a release cycle or two. The organisations managing the transition without a last-minute scramble treat cryptographic discovery as continuous, built into the release pipeline rather than run before an audit.

The practical test CNSA 2.0 sets for any organisation is whether it can say, accurately and today, which of its products use RSA, ECDH or ECDSA, and where. Source-level detection mapped into a structured CBOM is what makes that answer possible ahead of the deadline, instead of in response to it.

RELATED READING

See it on your kind of codebase.

Request a demo
How to build a CNSA 2.0 cryptographic inventory | Earnie
Earnie
ARTICLEPQC / CRYPTO READINESS

How to build a cryptographic inventory for CNSA 2.0

CNSA 2.0 sets firm deadlines for quantum-resistant cryptography. Here's what the inventory behind compliance actually has to look like.

Giuliana Bruni
Marketing Content Specialist
UPDATED 5 min read
Timeline from 2025 to 2033, with the 2025, 2030 and 2033 milestones in orange

TL;DR: CNSA 2.0 is the NSA's required suite of quantum-resistant algorithms for US National Security Systems, with deadlines set by system category between 2025 and 2033. Meeting those deadlines starts with a cryptographic inventory built from source code rather than manifests, mapped to CNSA 2.0 categories and kept current as code changes.

WHY THIS CHANGES THE CALCULUS NOW

CNSA 2.0 deadlines are staggered by system category

The Commercial National Security Algorithm Suite 2.0 (CNSA 2.0) was published by the NSA in September 2022 to notify owners, operators and vendors of National Security Systems (NSS) of upcoming quantum-resistant algorithm requirements. For a while it sat in the "eventual compliance work" pile. That's over. CNSSP 15, the policy governing which algorithms NSS must use, was updated in 2025 to formally incorporate CNSA 2.0 and deprecate CNSA 1.0. From 1 January 2027, new equipment acquired for NSS must support CNSA 2.0 algorithms unless an exception applies, and NIAP is updating its Protection Profiles so products can be validated against them.

CNSA 2.0 sets two dates for each system category: when CNSA 2.0 algorithms must be supported and preferred, and when they must be used exclusively.

CNSA 2.0 TRANSITION DEADLINES BY SYSTEM CATEGORY
SYSTEM CATEGORYSUPPORT AND PREFER BYEXCLUSIVE USE BY
Software and firmware signing20252030
Web browsers, servers and cloud services20252033
Traditional networking equipment (VPNs, routers)20262030
Operating systems20272033
Niche and constrained equipment20302033
Custom applications and legacy equipmentUpdate or replace by 2033

Procurement teams selling into defence, government and critical infrastructure are already asking vendors for a transition plan, and a transition plan only holds up if it starts from an accurate inventory.

WHAT CNSA 2.0 ACTUALLY REQUIRES

CNSA 2.0 approves AES-256, SHA-384/512, ML-KEM and ML-DSA

CNSA 2.0 approves AES-256 for symmetric encryption, SHA-384 or SHA-512 for hashing, and two asymmetric algorithms originally named CRYSTALS-Kyber and CRYSTALS-Dilithium, now finalised by NIST as ML-KEM (FIPS 203) and ML-DSA (FIPS 204). NSA specifies ML-KEM-1024 and ML-DSA-87, the highest security levels. For software and firmware signing specifically, NSA selected LMS and XMSS (NIST SP 800-208), since these had standardised, validated implementations available when the advisory was published.

CNSA 2.0 effectively deprecates RSA, Diffie-Hellman and elliptic curve cryptography once each deadline lands. That's the algorithm category most often buried in legacy code, third-party libraries and vendor components nobody wrote in-house. CNSA 2.0 is also narrower than the NIST post-quantum standards: it includes ML-KEM and ML-DSA but not SLH-DSA, so "we use NIST post-quantum algorithms" doesn't automatically mean CNSA 2.0 alignment.

WHY MOST ORGANISATIONS STALL HERE

Most cryptography never appears in a dependency manifest

Most organisations stall on CNSA 2.0 because cryptography is rarely declared. It's called through library functions, inherited from dependencies several layers deep, hardcoded in configuration, or embedded in vendor-supplied binaries with no visible source. A dependency manifest tells you which packages are declared. It doesn't tell you whether a package invokes RSA key generation, whether a deprecated hashing function gets called in some obscure utility module, or whether a certificate library defaults to an algorithm nobody chose on purpose.

Manifest-only software composition analysis has the same weakness: the hard part is knowing what's actually in use. A manifest-only cryptographic inventory looks complete on paper and is materially incomplete in practice.

WHAT A WORKING INVENTORY LOOKS LIKE

A CNSA 2.0 inventory needs source-level detection

A cryptographic inventory that supports CNSA 2.0 compliance has to answer three questions for every algorithm found: what it is, where it's implemented, and which system or product it ships in. Answering them needs source-level detection, because algorithm calls, hardcoded key material and certificate logic live in code a manifest never surfaces. Snippet-level detection, the same approach used to identify open source components, pinpoints the specific function or file where an algorithm is invoked, not just the package that contains it.

The inventory should also be structured rather than narrative. A CBOM in CycloneDX format gives every finding a consistent schema (algorithm family, specification, location), so teams can filter directly for CNSA 1.0 algorithms still in use, flag them against the relevant deadline, and hand engineering a prioritised worklist instead of an ambiguous spreadsheet. Where a codebase spans multiple languages, the inventory has to hold up across all of them: a partial inventory covering one language creates the same false confidence as a manifest-only scan.

HOW TO SEQUENCE THE WORK

Sequence cryptographic discovery by CNSA 2.0 deadline

Cryptographic discovery should follow the CNSA 2.0 calendar rather than treat every system as equally urgent. Software and firmware signing has the earliest support date (2025) and shares the earliest exclusive-use date (2030) with networking equipment, so start there. Networking equipment and anything touching TLS, SSH or IPsec comes next, with a 2026 support date. Operating systems and custom applications have longer runways but larger, more entangled codebases, so starting early avoids a compressed migration window later.

KEEPING THE INVENTORY CURRENT

A CNSA 2.0 inventory has to stay continuous

A cryptographic inventory for CNSA 2.0 isn't a one-off audit. Codebases change continuously, dependencies get upgraded or swapped, and an inventory produced once and left static drifts out of accuracy within a release cycle or two. The organisations managing the transition without a last-minute scramble treat cryptographic discovery as continuous, built into the release pipeline rather than run before an audit.

The practical test CNSA 2.0 sets for any organisation is whether it can say, accurately and today, which of its products use RSA, ECDH or ECDSA, and where. Source-level detection mapped into a structured CBOM is what makes that answer possible ahead of the deadline, instead of in response to it.

RELATED READING
ARTICLE · PQC / CRYPTO READINESS
What is a CBOM (Cryptography Bill of Materials)?
RELEASE · COMPANY NEWS
New release: Earnie

See it on your kind of codebase.

Request a demo