Pqc kem auditor
Skill Yue-Zhou1/zkcrypto-audit/plugins/post-quantum-auditors/skills/pqc-kem-auditor
Audit standardized post-quantum KEM implementations — currently ML-KEM / FIPS 203 — for encapsulation/decapsulation conformance, implicit-rejection correctness, ciphertext and key validation, compression/rounding, and decapsulation-failure oracle resistance. Use when reviewing ML-KEM/Kyber APIs, serialization, or decapsulation paths.From its SKILL.md
npx -y skills add Yue-Zhou1/zkcrypto-audit --skill pqc-kem-auditorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.1 KB, 925 tokens by cl100k_base, as published. Nobody here has run it
pqc-kem-auditor
Domain auditor for concrete, standardized post-quantum KEMs. The current scope is ML-KEM (FIPS 203) only; other KEMs get added with their own primary sources and fixtures rather than by analogy.
Boundary with lattice-auditor: that skill owns generic LWE/RLWE parameter
and noise-sampler reasoning (custom constructions, security estimates);
this skill owns the standardized KEM's API, state, serialization, and
decapsulation conformance.
When to Use
- Auditing ML-KEM-512/768/1024 (Kyber) encapsulation/decapsulation code
- Reviewing the Fujisaki-Okamoto transform implementation: re-encryption comparison and implicit rejection
- Reviewing ciphertext/public-key/secret-key encoding, modulus checks, and compression/rounding
- Assessing decapsulation-failure oracles and constant-time reject paths
- Checking parameter-set and spec-version provenance (FIPS 203 final vs draft vs round-3 Kyber)
When NOT to Use
- Generic LWE/RLWE parameter soundness, custom lattice schemes, noise
sampling design ->
lattice-auditor - Post-quantum signatures (ML-DSA, SLH-DSA, Falcon, XMSS/LMS) -> the lattice/PQ signature review path
- Classical KEM/hybrid TLS integration questions ->
encryption-scheme-auditorfor the symmetric side plus this skill for the KEM side - Timing leakage measurement methodology ->
side-channel-auditor
Core Review Areas
- Version/parameter provenance: FIPS 203 final vs CRYSTALS-Kyber round-3 differences (domain separation of K derivation, hash choices); the parameter set (512/768/1024) matches the claimed category
- Input validation: public-key modulus check (encoded coefficients < q), ciphertext length/type checks, secret-key hash consistency (FIPS 203 §7.2/§7.3 input checking)
- Encapsulation: m sampled from an approved RBG, K derived exactly per spec, no K exposure before ciphertext output
- Decapsulation and implicit rejection: re-encrypt and compare; on mismatch return K-bar = J(z || c) with NO observable difference from success (no error return, no timing/branch difference, no logging)
- Compression/rounding: Compress/Decompress rounding per spec; off-by-one rounding changes failure probability and interop
- Failure-oracle resistance: nothing (timing, errors, retries, metrics) distinguishes implicit rejection from success across many queries
- State and key lifecycle: z randomness quality, secret-key zeroization, no seed reuse across keypairs
Workflow
Phase 1: Version and parameter mapping
- Read
references/pqc-kem-checklist.md - Pin the spec version and parameter sets; queue
spec-delta-checkerif the code claims FIPS 203 conformance
Phase 2: Decapsulation review
- Execute
workflows/kem-decapsulation-review.md
Phase 3: Pattern hunt
- Read
references/finding-patterns.md - Prioritize explicit-failure decapsulation, missing modulus checks, and round-3/FIPS derivation mixing
Phase 4: Handoff
- Send surviving findings to
crypto-fp-check - Cross-route parameter/noise design questions to
lattice-auditorand timing measurement toside-channel-auditor
Output Contract
Produce a KEM handoff that includes:
kem_family_and_parameter_setencapsulation_or_decapsulation_pathfailure_oracle_invariantevidencedisposition(one ofverified,false_positive,unverified,observation,residual_risk)next_route
Reference Index
What ships with it: 5 files
9.9 KB alongside SKILL.md
agents/
- openai.yaml545 B
references/
- finding-patterns.md2.4 KB
- pqc-kem-checklist.md3.6 KB
- spec-sources.md1.4 KB