Skip to content

pqblocks-pqc-compat-registry

A machine-readable registry of NIST post-quantum algorithm identifiers (FIPS 203/204/205 OIDs) for compliance tooling.

npm Area Status Runtime Licence Source

At a glance

Area Migration & readiness
Import import ... from '@pqblocks/pqc-compat-registry'
Command line pqc-registry, registry-cli
Version 1.0.0 (alpha)
Runtime Node.js >=18 / Browser
Native dependency none
Repository PQBlocks/pqc-compat-registry
Licence Apache-2.0

What is pqblocks-pqc-compat-registry?

A registry of NIST post-quantum algorithm identifiers — OIDs, key and signature sizes, and security strengths for the 18 FIPS 203/204/205 parameter sets — for developers building PQC compliance and interop tooling.

Use it whenever you need to translate between a NIST parameter-set name (e.g. ML-KEM-768), its ASN.1 OID, and its wire-format sizes, without hand-copying tables.

Standards: FIPS 203 (ML-KEM), FIPS 204 (ML-DSA), FIPS 205 (SLH-DSA), RFC 9881 / RFC 9909 / RFC 9935 OID assignments.

Install

npm i @pqblocks/pqc-compat-registry
pnpm add @pqblocks/pqc-compat-registry
yarn add @pqblocks/pqc-compat-registry
bun add @pqblocks/pqc-compat-registry
npm i git+https://github.com/PQBlocks/pqc-compat-registry
pnpm add git+https://github.com/PQBlocks/pqc-compat-registry
bun add git+https://github.com/PQBlocks/pqc-compat-registry

Quickstart

Executed, not just written

This is the quickstart from the package README. It was run against the package source when this page was generated.

quickstart.js
import { algorithms, parse_oid, validate_oid, get_oid_by_algorithm,
         validate_parameter_sizes, validate_slh_dsa_sizes, ALL_ALGORITHMS } from '@pqblocks/pqc-compat-registry';

// 1. Look up a parameter set by name
const kem = algorithms['ml-kem-768'];
console.log(kem.oid_dotted);        // '2.16.840.1.101.3.4.4.2'
console.log(kem.key_length);        // 1184 (encapsulation key bytes)
console.log(kem.security_lambda);   // 192

// 2. Parse an OID back to its algorithm
const r = parse_oid('2.16.840.1.101.3.4.3.19');
console.log(r.algorithm);           // 'ml-dsa-87'

// 3. Validate that observed sizes match the FIPS table
console.log(validate_oid('2.16.840.1.101.3.4.4.1'));                 // true
console.log(validate_parameter_sizes('ml-dsa-44',
  { public_key: 2560, private_key: 1312, signature: 2420 }));        // { valid: true, ... }
console.log(validate_slh_dsa_sizes('slh-dsa-sha2-128s',
  { private_key: 64, public_key: 32, signature: 7856 }));            // { valid: true, ... }

// 4. Reverse lookup: name -> OID
console.log(get_oid_by_algorithm('slh-dsa-shake-256f')); // '2.16.840.1.101.3.4.3.31'
console.log(ALL_ALGORITHMS.length);                              // 18

Examples

Runnable scripts in the repository:

Documentation and evidence

Every PQBlocks package ships the same evidence set, so each claim can be checked against tests, sources and measurements.

  • Overview


    What it does, install, usage and API.

  • For AI agents


    Correct imports, pitfalls and rules for coding assistants.

  • Security notes


    What it protects, hostile input, constant-time and audit status.

  • Testing


    Test suites, coverage, vectors and what is not covered.

  • Benchmarks


    Measured performance, including where it loses.

  • Evidence


    Primary sources and the method-to-code map.

  • Verification report


    Self-verification results, defects found and limits.

  • Use cases


    Worked scenarios and when to pick something else.

  • Changelog


    Every release and what changed.

  • pqblocks-agility: Cryptographic Agility Readiness Scoring (CARS) and CI/CD regression firewall for CycloneDX 1.6 CBOM inventories.
  • pqblocks-cbom: CycloneDX 1.5 CBOM metadata enrichment engine injecting quantum-safe classifications and CNSA 2.0 compliance properties.
  • pqblocks-cnsa-evidence: CNSA 2.0 evidence pack generator for quantum-safe compliance, CBOM generation, and migration scheduling.
  • pqblocks-jwe-audit: High-throughput JSON Web Encryption (JWE) cryptographic policy auditor enforcing CNSA 2.0 and NIST FIPS 203 PQC…
  • pqblocks-lint: Static analysis for Python source that finds classical and post-quantum cryptographic primitives with a source-to-sink…
  • pqblocks-policy: Policy-as-code engine for post-quantum cryptography compliance and CBOM verification.
  • pqblocks-scan: Cryptography inventory scanner: finds classical and post-quantum algorithms in source code or a TLS endpoint and…