Skip to content

pqblocks-pqc-acvp-runner

NIST FIPS 203 and 204 ACVP Known Answer Test runner and Wycheproof harness in Node.js.

npm Area Status Runtime Licence Source

At a glance

Area Conformance
Import import ... from '@pqblocks/pqc-acvp-runner'
Command line library only
Version 1.0.0 (alpha)
Runtime Node.js >=18 / Browser
Native dependency none
Repository PQBlocks/pqc-acvp-runner
Licence Apache-2.0

What is pqblocks-pqc-acvp-runner?

A high-assurance Node.js Known Answer Test (KAT) runner and Wycheproof harness for NIST Post-Quantum Cryptography standards.

Install

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

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 {
  MLKEM768KeyGenLengthVerifier,
  classifyResult,
  summarizeTaxonomy,
} from '@pqblocks/pqc-acvp-runner';

const verifier = new MLKEM768KeyGenLengthVerifier();
const seed = new Uint8Array(64).fill(0x42);
const keys = verifier.keyGen(seed);

console.log(`ML-KEM-768 key generated: pk=${keys.publicKey.length}B, sk=${keys.secretKey.length}B`);
const taxonomy = summarizeTaxonomy([classifyResult({ tcId: 1 }, { matches: true, error: null })]);
console.log('Taxonomy classification:', taxonomy);

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-acvp: Cross-implementation NIST ACVP conformance harness for FIPS 203 (ML-KEM) and FIPS 204 (ML-DSA).
  • pqblocks-browser-pqc-verifier: Post-quantum certificate and chain verifier for browsers and Node.js using ML-DSA/SLH-DSA from @noble/post-quantum.
  • pqblocks-fips-check: FIPS 203/204 boundary validator and hybrid key exchange (X25519 + ML-KEM-768) with ML-DSA-65 signatures and CBOM…