pqblocks-pqc-compat-registry¶
A machine-readable registry of NIST post-quantum algorithm identifiers (FIPS 203/204/205 OIDs) for compliance tooling.
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¶
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.
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.
-
What it does, install, usage and API.
-
Correct imports, pitfalls and rules for coding assistants.
-
What it protects, hostile input, constant-time and audit status.
-
Test suites, coverage, vectors and what is not covered.
-
Measured performance, including where it loses.
-
Primary sources and the method-to-code map.
-
Self-verification results, defects found and limits.
-
Worked scenarios and when to pick something else.
-
Every release and what changed.
Related packages in Migration & readiness¶
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…