pqc-signature-auditor
Domain auditor for standardized post-quantum signatures, in two families
with different failure modes: stateless schemes (ML-DSA, SLH-DSA, FN-DSA)
where the risks are sampling and bound enforcement, and stateful hash-based
schemes (XMSS/LMS/HSS) where the dominant risk is one-time-key state reuse.
Do not fold ML-KEM/Kyber findings into this skill — KEM review belongs to
pqc-kem-auditor.
When to Use
- Auditing ML-DSA (FIPS 204) signing/verification: rejection sampling,
hint computation, deterministic vs hedged modes
- Auditing SLH-DSA (FIPS 205): FORS/WOTS+ structure, addressing, and
randomizer handling
- Auditing FN-DSA/Falcon implementations (with its standardization status
pinned in source notes — FIPS 206 not yet final)
- Auditing XMSS/LMS/HSS under NIST SP 800-208: OTS index monotonicity,
crash recovery, backup/restore, cloning, and hardware-binding
requirements
When NOT to Use
- ML-KEM/Kyber or any KEM decapsulation review ->
pqc-kem-auditor
- Classical signatures (ECDSA, Schnorr, EdDSA, RSA) ->
signature-scheme-auditor
- Generic lattice parameter/noise design for custom schemes ->
lattice-auditor
- Timing measurement methodology for samplers ->
side-channel-auditor
Core Review Areas
- Parameter-set and version provenance: FIPS 204/205 final vs round-3
Dilithium/SPHINCS+ differences; Falcon flagged as pre-standard
- ML-DSA signing: rejection-sampling loop exactness (norm checks on z,
r0, hint count), iteration bounds, and no leakage of rejected
candidates
- Signing modes: deterministic vs hedged (rnd) handling per FIPS 204;
SLH-DSA opt_rand per FIPS 205; fault posture of deterministic modes
- Verification bounds: every norm/weight/count bound checked (z bound,
hint weight, FORS/WOTS checksum rules) — skipping any bound admits
forgery
- Stateful OTS index management (XMSS/LMS/HSS): monotonic persistent
counter committed BEFORE signature release, crash recovery, backups,
replication, and SP 800-208 hardware-binding requirements
- Encoding/serialization: canonical encodings, length checks, context
strings (FIPS 204/205 ctx parameter) bound correctly
Workflow
Phase 1: Family and version mapping
- Read
references/pqc-signature-checklist.md
- Pin the scheme, parameter set, and spec version; queue
spec-delta-checker for conformance claims
Phase 2: Family-specific review
- Stateless (ML-DSA, SLH-DSA, FN-DSA): execute
workflows/pqc-signature-review.md
- Stateful (XMSS/LMS/HSS): execute
workflows/stateful-hash-signature-review.md
Phase 3: Pattern hunt
- Read
references/finding-patterns.md
- Prioritize skipped verification bounds, rejection-loop shortcuts, and
OTS index rollback paths
Phase 4: Handoff
- Send surviving findings to
crypto-fp-check
- Cross-route sampler leakage to
side-channel-auditor, RNG lifecycle to
randomness-auditor, KEM questions to pqc-kem-auditor
Output Contract
Produce a PQ-signature handoff that includes:
signature_family_and_parameter_set
sign_or_verify_path
state_or_sampling_invariant
evidence
disposition (one of verified, false_positive, unverified,
observation, residual_risk)
next_route
Reference Index
- references/pqc-signature-checklist.md
- references/finding-patterns.md
- references/spec-sources.md
- workflows/pqc-signature-review.md
- workflows/stateful-hash-signature-review.md
1---2name: pqc-signature-auditor-23description: Audit post-quantum signature implementations — ML-DSA (FIPS 204), SLH-DSA (FIPS 205), FN-DSA/Falcon (pending standardization), and stateful hash signatures XMSS/LMS/HSS (NIST SP 800-208) — for rejection-sampling correctness, hedged/deterministic signing modes, verification bound enforcement, and one-time-signature state management. Use when reviewing PQ signing, verification, or OTS index/state persistence.4---56# pqc-signature-auditor78Domain auditor for standardized post-quantum signatures, in two families9with different failure modes: stateless schemes (ML-DSA, SLH-DSA, FN-DSA)10where the risks are sampling and bound enforcement, and stateful hash-based11schemes (XMSS/LMS/HSS) where the dominant risk is one-time-key state reuse.1213Do not fold ML-KEM/Kyber findings into this skill — KEM review belongs to14`pqc-kem-auditor`.1516## When to Use1718- Auditing ML-DSA (FIPS 204) signing/verification: rejection sampling,19 hint computation, deterministic vs hedged modes20- Auditing SLH-DSA (FIPS 205): FORS/WOTS+ structure, addressing, and21 randomizer handling22- Auditing FN-DSA/Falcon implementations (with its standardization status23 pinned in source notes — FIPS 206 not yet final)24- Auditing XMSS/LMS/HSS under NIST SP 800-208: OTS index monotonicity,25 crash recovery, backup/restore, cloning, and hardware-binding26 requirements2728## When NOT to Use2930- ML-KEM/Kyber or any KEM decapsulation review -> `pqc-kem-auditor`31- Classical signatures (ECDSA, Schnorr, EdDSA, RSA) ->32 `signature-scheme-auditor`33- Generic lattice parameter/noise design for custom schemes ->34 `lattice-auditor`35- Timing measurement methodology for samplers -> `side-channel-auditor`3637## Core Review Areas38391. Parameter-set and version provenance: FIPS 204/205 final vs round-340 Dilithium/SPHINCS+ differences; Falcon flagged as pre-standard412. ML-DSA signing: rejection-sampling loop exactness (norm checks on z,42 r0, hint count), iteration bounds, and no leakage of rejected43 candidates443. Signing modes: deterministic vs hedged (rnd) handling per FIPS 204;45 SLH-DSA opt_rand per FIPS 205; fault posture of deterministic modes464. Verification bounds: every norm/weight/count bound checked (z bound,47 hint weight, FORS/WOTS checksum rules) — skipping any bound admits48 forgery495. Stateful OTS index management (XMSS/LMS/HSS): monotonic persistent50 counter committed BEFORE signature release, crash recovery, backups,51 replication, and SP 800-208 hardware-binding requirements526. Encoding/serialization: canonical encodings, length checks, context53 strings (FIPS 204/205 ctx parameter) bound correctly5455## Workflow5657### Phase 1: Family and version mapping5859- Read `references/pqc-signature-checklist.md`60- Pin the scheme, parameter set, and spec version; queue61 `spec-delta-checker` for conformance claims6263### Phase 2: Family-specific review6465- Stateless (ML-DSA, SLH-DSA, FN-DSA): execute66 `workflows/pqc-signature-review.md`67- Stateful (XMSS/LMS/HSS): execute68 `workflows/stateful-hash-signature-review.md`6970### Phase 3: Pattern hunt7172- Read `references/finding-patterns.md`73- Prioritize skipped verification bounds, rejection-loop shortcuts, and74 OTS index rollback paths7576### Phase 4: Handoff7778- Send surviving findings to `crypto-fp-check`79- Cross-route sampler leakage to `side-channel-auditor`, RNG lifecycle to80 `randomness-auditor`, KEM questions to `pqc-kem-auditor`8182## Output Contract8384Produce a PQ-signature handoff that includes:8586- `signature_family_and_parameter_set`87- `sign_or_verify_path`88- `state_or_sampling_invariant`89- `evidence`90- `disposition` (one of `verified`, `false_positive`, `unverified`,91 `observation`, `residual_risk`)92- `next_route`9394## Reference Index9596- [references/pqc-signature-checklist.md](references/pqc-signature-checklist.md)97- [references/finding-patterns.md](references/finding-patterns.md)98- [references/spec-sources.md](references/spec-sources.md)99- [workflows/pqc-signature-review.md](workflows/pqc-signature-review.md)100- [workflows/stateful-hash-signature-review.md](workflows/stateful-hash-signature-review.md)