INVITE ONLY
OBSERVATORY

Research

conformance

CNSA 2.0 and FIPS Conformance Posture

Version
v1.2
Category
conformance
Published
Last updated
Authors
QERYX Research
Primitives ML-KEM-1024 ML-DSA-87 AES-256-GCM SHA-512 HKDF-SHA-512 Argon2id
What changed v1.2
  1. v1.2 Corrects the SHA-512-for-SHA-384 hash note per a NIAP Security Target finding: identical internal chaining strength stated plainly; the substitution claim scoped to output length only.
  2. v1.1 Adds the FIPS 140-3 module-gate lifecycle, self-test KAT enumeration, and the primitive-to-FIPS mapping table from the reviewer-grade specification.
  3. v1.0 First publication of the CNSA 2.0 posture with per-line conformance markers.
Contents
  1. §1 The claim, exactly
  2. §2 Primitive-to-line mapping
  3. §3 The deviations, justified
  4. §4 FIPS 140-3 module lifecycle
  5. §5 The two-build model
  6. §6 Out of scope
  7. §7 References

CNSA 2.0 is the mandatory algorithm suite for U.S. National Security Systems. This paper maps every QERYX primitive to its CNSA 2.0 line item and FIPS standard with honest per-line markers — COMPLIANT, PARTIAL, DEVIATES — and the justification for each deviation. A conformance document that hides its deviations is marketing; this one enumerates them.

The claim, exactly

CNSA 2.0 — asymmetric core conformant (ML-KEM-1024 + ML-DSA-87 at Category V; SHA-512 at or above the hash floor). Production AEAD today is ChaCha20-Poly1305 (RFC 8439), a documented deviation; the AES-256-GCM NSS suite is implemented and reserved as suite 0x0002, staged for rollout. Pre-evaluation checklist: 0 non-conformant findings, 3 documented deviations (NIAP ETR, 2026-05).

That paragraph is the whole claim — scoped to the asymmetric suite, with the deviation named in the same breath. Everything below is the evidence behind each clause.

Primitive-to-line mapping

CNSA 2.0 lineStatusQERYX instantiation
ML-KEM-1024 (FIPS 203), mandatory by 2030 COMPLIANT the only KEM in the build; 1568 B public key, 32 B shared secret
ML-DSA-87 (FIPS 204, Category 5), mandatory by 2027 COMPLIANT the only protocol-signing primitive; ECDSA/RSA absent from every signing path
Key agreement DEVIATES X25519 hybrid with ML-KEM-1024 per SP 800-227, in place of P-384 alone (§3)
AES-256 AEAD DEVIATES ChaCha20-Poly1305 primary; AES-256-GCM implemented as the CSfC outer layer where strict AES is required (§3)
SHA-384 hashing DEVIATES SHA-512 throughout (§3); SHA3/SHAKE inside ML-KEM/ML-DSA as FIPS 203/204 mandate
HKDF (RFC 5869) on an approved hash COMPLIANT HKDF-SHA-512 for every derivation
DRBG with SP 800-90B entropy COMPLIANT OS CSPRNG, XOR-mixed with independent quantum-entropy sources
Password derivation PARTIAL Argon2id (RFC 9106) at m=512 MiB, t=2, p=4 — the modern consensus choice; PBKDF2-HMAC-SHA-256 at 600,000 iterations where a strict PBKDF2 is required

The deviations, justified

X25519 in hybrid, not P-384 alone. X25519 is constant-time by construction in every mature implementation, immune to the invalid-curve and small-subgroup classes that demand extra care with P-384, and publicly vetted across the modern secure-transport ecosystem. The hybrid combines both shared secrets through HKDF, so breaking X25519 does not break ML-KEM-1024 and vice versa — the classical component strengthens the lattice floor rather than replacing any CNSA line.

ChaCha20-Poly1305 primary AEAD. Equivalent confidentiality (256-bit key) and integrity (128-bit tag), constant-time without hardware AES support — which matters on older field hardware. The CSfC dual-layer mode reintroduces AES-256-GCM as an outer envelope exactly where CNSA-strict AES is required; call sites opt in with one function.

SHA-512 where SHA-384 is named. SHA-384 and SHA-512 share the same 1024-bit Merkle–Damgård chaining state and compression function; SHA-384 differs by initial value and output truncation. SHA-512 preserves the full collision strength of the 384-bit hash while delivering 512 bits to downstream KDF expansion. We do not claim SHA-512 is strictly stronger — the internal chaining strength is identical — only that the longer output is operationally preferable for KDF chains and Merkle commitments. This wording was corrected in v1.2 after a NIAP Security Target finding; the changelog above records it.

FIPS 140-3 module lifecycle

PowerUp → SelfTest → Operational → Error

The module gate runs known-answer tests for ChaCha20-Poly1305, HKDF-SHA-512, SHA-256, SHA3-256, ML-KEM-1024 (encaps/decaps roundtrip), ML-DSA-87 (sign/verify roundtrip), and X25519 before any cryptographic operation is permitted. State transitions are atomic; a single self-test failure moves the module permanently to Error and rejects all further crypto. Production callers pass through require_operational() — a small set of internal HKDF utility paths bypass the redundant check today, and closing that gap uniformly is a named v1.1 item in Known Limitations.

The two-build model

Both builds run the same algorithms. The public build ships without the FIPS boundary feature: algorithm-conformant, implemented via a library lineage holding FIPS 140-3 certificate #4631, with QERYX's own module not yet CMVP-certified — and a runtime status surface that reports exactly that, fips_feature_enabled = false, rather than implying otherwise. NSS-targeted builds compile the lineage in its validated configuration and report true. Reviewers auditing a downloaded binary confirm the configuration through the signed build attestation, not through marketing copy.

The wire-stable suite identifier any procurement can reference:

CNSA2.0-HYBRID-X25519-ML-KEM-1024

Out of scope

A conformance scope has an edge. Everything below sits outside ours, stated before a reviewer has to ask for it.

  • Type-1 status. QERYX meets the CNSA 2.0 crypto suite; it does not meet the physical and personnel controls Type-1 equipment requires, and does not claim to.
  • FIPS 140-3 above Level 1. Higher levels require hardware-validated modules — out of scope for a phone application.
  • Classified-side deployment. QERYX is unclassified.

References

  1. NSA, Commercial National Security Algorithm Suite 2.0 (CNSSP-15, 2022; refreshed 2024) and the CNSA 2.0 FAQ Cybersecurity Information Sheet.
  2. QERYX conformance sources — docs/CNSA_2_0_POSTURE.md and docs/SPEC/11-cnsa-and-fips-mapping.md.
  3. NIST FIPS 203, 204, 197, 180-4, 202, 140-3; SP 800-38D, SP 800-56C, SP 800-90B, SP 800-227.
  4. RFC 5869, RFC 7748, RFC 8439, RFC 9106.
  5. Cryptographic Primitives and Parameter Sets — the master table this mapping covers line by line.