Skip to content

test-vectors/ — language-agnostic conformance corpus

The independent conformance oracle (Wycheproof model): self-describing JSON vectors in v1/, with JSON Schemas in schemas/. Vectors are derived from the spec + the underlying standards (RFC 5869, RFC 5116 / Project Wycheproof, the Castagnoli CRC polynomial) — not generated by the implementation they grade (that would be circular).

  • v1/conformance-corpus.json — 255 vectors, SHA-256 803eadf5ea5033115be620b49adccbc459f1bb60cbcf7444bcc3539dc8f41a24.
  • v1/kem-wire-kat.json — X25519MLKEM768 KEM-wire known-answer test (handshake binding §4 / spec/10, ADR-0005/0007). ML-KEM-768 from NIST ACVP (FIPS 203), X25519 from RFC 7748 §6.1; anchors the ML-KEM-first wire order of KEMShare/KEMCiphertext and the HKDF-Extract IKM. Non-circular: no value is generated by an N-PAMP implementation.
  • v1/key-schedule-kat.json — N-PAMP key-schedule KAT (handshake binding §5 / spec/10, ADR-0008). Anchor-based: carries RFC 8448 (TLS 1.3) + RFC 5869 vectors that validate an HKDF-Expand-Label oracle, which is then applied with the "n-pamp " prefix to check the handshake_secret ladder, traffic key/iv, and finished_key. Stores RFC anchors + fixed inputs, NOT impl-produced outputs.
  • schemas/conformance-corpus.schema.json — the corpus schema.

This is the canonical corpus. Consuming products pin a copy and re-sync from here.