@quantakrypto/sieve 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vectors.js","sourceRoot":"","sources":["../src/vectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vectors.js","sourceRoot":"","sources":["../src/vectors.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Loader for OFFICIAL NIST ACVP Known-Answer-Test (KAT) vector files.\n *\n * HONESTY NOTE: Sieve ships NO cryptographic test vectors. It does not and must\n * not fabricate expected pk/sk/ct/ss/sig bytes. This module only PARSES vector\n * files that the user downloads from NIST and points Sieve at via --vectors.\n * See vectors/README.md for where to obtain them and the file format.\n *\n * Supported input: the NIST ACVP-server JSON format for ML-KEM (keyGen,\n * encapDecap) and ML-DSA (keyGen, sigGen, sigVer). The ACVP JSON encodes bytes\n * as hex strings. We normalize the fields we need into a flat list of typed\n * test cases. Anything we don't recognize is ignored (not invented).\n *\n * Uses only node:fs. No cryptography.\n */\n\nimport { createHash } from \"node:crypto\";\nimport { readdirSync, readFileSync, statSync } from \"node:fs\";\nimport { join } from \"node:path\";\n\nimport { isParamSet } from \"./sizes.js\";\nimport type { Family, ParamSet } from \"./sizes.js\";\n\n/** A normalized ML-KEM keygen vector: seed -> (pk, sk). */\nexport interface KemKeygenVector {\n kind: \"kem-keygen\";\n param: ParamSet;\n /** Concatenated d||z seed (hex-decoded). */\n seed?: Uint8Array;\n pk: Uint8Array;\n sk: Uint8Array;\n}\n\n/** A normalized ML-KEM encapsulation vector: (pk, coins) -> (ct, ss). */\nexport interface KemEncapVector {\n kind: \"kem-encap\";\n param: ParamSet;\n pk: Uint8Array;\n /** Encapsulation coins/message m (hex-decoded), if present. */\n coins?: Uint8Array;\n ct: Uint8Array;\n ss: Uint8Array;\n}\n\n/** A normalized ML-KEM decapsulation vector: (sk, ct) -> ss. */\nexport interface KemDecapVector {\n kind: \"kem-decap\";\n param: ParamSet;\n sk: Uint8Array;\n ct: Uint8Array;\n ss: Uint8Array;\n}\n\n/** A normalized ML-DSA signature-verification vector: (pk, msg, sig) -> ok. */\nexport interface DsaVerifyVector {\n kind: \"dsa-verify\";\n param: ParamSet;\n pk: Uint8Array;\n msg: Uint8Array;\n sig: Uint8Array;\n expected: boolean;\n}\n\n/** Any normalized vector. */\nexport type Vector = KemKeygenVector | KemEncapVector | KemDecapVector | DsaVerifyVector;\n\n/**\n * Provenance of one ACVP vector file (docs/compliance/acvp-provenance.md): a\n * content hash over the RAW bytes plus the declared source, so a passing `kat`\n * run is traceable to the exact operator-supplied inputs. Sieve records what it\n * was given; it never fetches or ships vectors (ADR-0004).\n */\nexport interface VectorFileProvenance {\n path: string;\n sha256: string;\n sizeBytes: number;\n algorithm: string | null;\n mode: string | null;\n /** Parameter sets seen in the file. */\n parameterSets: string[];\n /** Operator-declared origin, or \"unknown (operator-supplied)\". */\n sourceUrl: string;\n /** Recognized test cases consumed from this file. */\n casesUsed: number;\n}\n\n/** Result of scanning a vectors directory. */\nexport interface VectorSet {\n vectors: Vector[];\n /** Files that were read. */\n files: string[];\n /** Non-fatal parse notes (unrecognized files/groups). */\n notes: string[];\n /** Per-file provenance for every vector file used (kat traceability). */\n provenance: VectorFileProvenance[];\n /** True when the operator declared a source via `vectors-manifest.json`. */\n provenanceDeclared: boolean;\n}\n\nfunction hexToBytes(hex: string): Uint8Array {\n const clean = hex.trim();\n if (clean.length === 0) return new Uint8Array(0);\n if (clean.length % 2 !== 0 || /[^0-9a-fA-F]/.test(clean)) {\n throw new Error(`invalid hex string (len ${clean.length})`);\n }\n const out = new Uint8Array(clean.length / 2);\n for (let i = 0; i < out.length; i++) {\n out[i] = parseInt(clean.slice(i * 2, i * 2 + 2), 16);\n }\n return out;\n}\n\n/** Map an ACVP parameterSet string to our canonical ParamSet, or undefined.\n * ACVP uses e.g. \"ML-KEM-768\", \"ML-DSA-65\", \"SLH-DSA-SHA2-128s\" — lower-casing\n * and `_`→`-` yields our canonical ids for all three families (incl. FIPS 205). */\nfunction normParam(family: Family, raw: unknown): ParamSet | undefined {\n if (typeof raw !== \"string\") return undefined;\n const s = raw.toLowerCase().replace(/_/g, \"-\");\n if (isParamSet(s) && s.startsWith(family)) return s;\n return undefined;\n}\n\nfunction asArray(v: unknown): unknown[] {\n return Array.isArray(v) ? v : [];\n}\nfunction asObj(v: unknown): Record<string, unknown> {\n return typeof v === \"object\" && v !== null ? (v as Record<string, unknown>) : {};\n}\nfunction str(v: unknown): string | undefined {\n return typeof v === \"string\" ? v : undefined;\n}\n\n/**\n * Parse one ACVP test-vectors JSON document into normalized vectors.\n * The ACVP shape is: { algorithm, mode, testGroups: [{ parameterSet, tests:[...] }] }.\n */\nfunction parseAcvpDocument(doc: unknown, notes: string[], file: string): Vector[] {\n const root = asObj(doc);\n const algorithm = str(root[\"algorithm\"])?.toUpperCase() ?? \"\";\n const mode = str(root[\"mode\"])?.toLowerCase() ?? \"\";\n const out: Vector[] = [];\n\n // Order matters: \"SLH-DSA\" contains \"DSA\", so test SLH before the ML-DSA branch.\n const family: Family | undefined = algorithm.includes(\"KEM\")\n ? \"ml-kem\"\n : algorithm.includes(\"SLH\")\n ? \"slh-dsa\"\n : algorithm.includes(\"DSA\")\n ? \"ml-dsa\"\n : undefined;\n if (family === undefined) {\n notes.push(`${file}: unrecognized algorithm \"${algorithm}\", skipped`);\n return out;\n }\n\n for (const groupRaw of asArray(root[\"testGroups\"])) {\n const group = asObj(groupRaw);\n const param = normParam(family, group[\"parameterSet\"]);\n if (param === undefined) {\n notes.push(`${file}: skipped group with parameterSet=${String(group[\"parameterSet\"])}`);\n continue;\n }\n const fn = str(group[\"function\"])?.toLowerCase(); // encapDecap: \"encapsulation\"/\"decapsulation\"\n\n for (const testRaw of asArray(group[\"tests\"])) {\n const t = asObj(testRaw);\n try {\n if (family === \"ml-kem\") {\n if (mode.includes(\"keygen\")) {\n const d = str(t[\"d\"]);\n const z = str(t[\"z\"]);\n const seedHex = str(t[\"seed\"]) ?? (d && z ? d + z : undefined);\n out.push({\n kind: \"kem-keygen\",\n param,\n ...(seedHex ? { seed: hexToBytes(seedHex) } : {}),\n pk: hexToBytes(reqHex(t, \"ek\", \"pk\")),\n sk: hexToBytes(reqHex(t, \"dk\", \"sk\")),\n });\n } else if (mode.includes(\"encapdecap\") || mode.includes(\"encap\")) {\n // function may distinguish encapsulation vs decapsulation cases.\n if (fn === \"decapsulation\" || (\"dk\" in t && \"c\" in t)) {\n out.push({\n kind: \"kem-decap\",\n param,\n sk: hexToBytes(reqHex(t, \"dk\", \"sk\")),\n ct: hexToBytes(reqHex(t, \"c\", \"ct\")),\n ss: hexToBytes(reqHex(t, \"k\", \"ss\")),\n });\n } else {\n const m = str(t[\"m\"]);\n out.push({\n kind: \"kem-encap\",\n param,\n pk: hexToBytes(reqHex(t, \"ek\", \"pk\")),\n ...(m ? { coins: hexToBytes(m) } : {}),\n ct: hexToBytes(reqHex(t, \"c\", \"ct\")),\n ss: hexToBytes(reqHex(t, \"k\", \"ss\")),\n });\n }\n } else {\n notes.push(`${file}: unrecognized ML-KEM mode \"${mode}\"`);\n }\n } else {\n // ML-DSA / SLH-DSA: we can robustly check sigVer cases (verdict-driven).\n if (mode.includes(\"sigver\") || (\"signature\" in t && \"pk\" in t)) {\n const expected = t[\"testPassed\"];\n // NIST ACVP sigVer files mix valid and INTENTIONALLY-INVALID\n // signatures; the expected verdict lives in `testPassed`. If that\n // field is absent (or not a boolean) we cannot know whether the\n // signature should verify, so we SKIP the case rather than invent\n // `true` — defaulting to true flags a conformant SUT (which\n // correctly returns valid:false on a bad signature) as failing.\n if (typeof expected !== \"boolean\") {\n notes.push(`${file}: skipped a sigVer case with no boolean \"testPassed\" verdict`);\n continue;\n }\n out.push({\n kind: \"dsa-verify\",\n param,\n pk: hexToBytes(reqHex(t, \"pk\", \"ek\")),\n msg: hexToBytes(reqHex(t, \"message\", \"msg\")),\n sig: hexToBytes(reqHex(t, \"signature\", \"sig\")),\n expected,\n });\n } else {\n notes.push(`${file}: ML-DSA mode \"${mode}\" not used for KAT (sign is nonce-dependent)`);\n }\n }\n } catch (err) {\n notes.push(`${file}: skipped a test case: ${(err as Error).message}`);\n }\n }\n }\n return out;\n}\n\n/** Read the first present hex field among `keys`, else throw. */\nfunction reqHex(t: Record<string, unknown>, ...keys: string[]): string {\n for (const k of keys) {\n const v = str(t[k]);\n if (v !== undefined) return v;\n }\n throw new Error(`missing field (any of: ${keys.join(\", \")})`);\n}\n\n/**\n * Load and normalize all `*.json` ACVP vector files in `dir`.\n *\n * @throws if `dir` does not exist or contains no readable JSON files.\n */\n/** Operator-declared source manifest filename (not itself a vector file). */\nconst VECTORS_MANIFEST = \"vectors-manifest.json\";\n\nexport function loadVectors(dir: string): VectorSet {\n const st = statSync(dir); // throws ENOENT if missing\n if (!st.isDirectory()) {\n throw new Error(`--vectors path is not a directory: ${dir}`);\n }\n\n // Optional provenance manifest: `{ \"sourceUrl\": \"https://…\" }` declaring where\n // the operator obtained these vectors. Absent → provenance is undeclared.\n let declaredSource: string | undefined;\n try {\n const m = JSON.parse(readFileSync(join(dir, VECTORS_MANIFEST), \"utf8\")) as {\n sourceUrl?: unknown;\n };\n if (typeof m.sourceUrl === \"string\" && m.sourceUrl.trim()) declaredSource = m.sourceUrl.trim();\n } catch {\n /* no manifest — provenanceDeclared stays false */\n }\n\n const entries = readdirSync(dir).filter(\n (f) => f.toLowerCase().endsWith(\".json\") && f.toLowerCase() !== VECTORS_MANIFEST,\n );\n if (entries.length === 0) {\n throw new Error(`no .json vector files found in ${dir}`);\n }\n\n const vectors: Vector[] = [];\n const files: string[] = [];\n const notes: string[] = [];\n const provenance: VectorFileProvenance[] = [];\n\n for (const name of entries) {\n const path = join(dir, name);\n // Hash the RAW bytes as supplied, before parsing — proves exactly what was used.\n const raw = readFileSync(path);\n const sha256 = createHash(\"sha256\").update(raw).digest(\"hex\");\n let doc: unknown;\n try {\n doc = JSON.parse(raw.toString(\"utf8\"));\n } catch (err) {\n notes.push(`${name}: not valid JSON (${(err as Error).message})`);\n continue;\n }\n files.push(name);\n const before = vectors.length;\n // ACVP test-vector files may be a single object or an array of prompts.\n const docs = Array.isArray(doc) ? doc : [doc];\n for (const d of docs) {\n vectors.push(...parseAcvpDocument(d, notes, name));\n }\n\n // Best-effort ACVP metadata for the provenance record.\n const root = asObj(docs[0]);\n const params = new Set<string>();\n for (const g of asArray(root[\"testGroups\"])) {\n const p = str(asObj(g)[\"parameterSet\"]);\n if (p) params.add(p);\n }\n provenance.push({\n path: name,\n sha256,\n sizeBytes: raw.length,\n algorithm: str(root[\"algorithm\"]) ?? null,\n mode: str(root[\"mode\"]) ?? null,\n parameterSets: [...params],\n sourceUrl: declaredSource ?? \"unknown (operator-supplied)\",\n casesUsed: vectors.length - before,\n });\n }\n\n return { vectors, files, notes, provenance, provenanceDeclared: declaredSource !== undefined };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantakrypto/sieve",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
4
4
  "description": "Sieve — conformance battery for ML-KEM / ML-DSA implementations. Drives any implementation over a simple stdin/stdout JSON protocol. Zero runtime dependencies.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Dandelion Labs <hello@dandelionlabs.io> (https://dandelionlabs.io)",