PQ Library Attestations

100 / 100

HICS-PQ Attestation

dilithium.rs + dilithium_native.rs + dilithium_ntt.rs
Last scanned: March 30, 2026 · Auto-updates on release
STARK Proof Valid
Dilithium Signature Valid
Certificate Current

Correctness 100 / 100

Weight: 40%
  • 26 / 26 unit tests passing (incl. 8 KAT)
  • Level 2, 3, 5 keygen-sign-verify round-trip
  • Cross-level verification correctly rejects
  • Tampered message detection verified
  • Expanded signer matches regular sign output
  • Base64 encoding round-trip verified
  • Batch sign correctness verified
  • Level detection from key bytes validated

Security 100 / 100

Weight: 30%
  • Branchless NTT butterfly (aarch64 NEON)
  • Branchless conditional reduce (caddq)
  • Branchless polynomial add/sub
  • Montgomery multiplication (no division)
  • No secret-dependent branching in NTT
  • Invalid signature rejection verified
  • FIPS 204 parameter validation (KAT-1)
  • Timing consistency analysis (CV < threshold)

Performance 97 / 100

Weight: 15%
  • Sign + Verify: 291µs per 32-user batch
  • Batch attestation: 1 sign per 32 users
  • Montgomery NTT: zero division in hot path
  • NEON acceleration on aarch64
  • Expanded key pool: amortized keygen
  • Public key: 1,952 bytes (spec-compliant)
  • Signature: 3,309 bytes (spec-compliant)

Standards 100 / 100

Weight: 15%
  • NIST FIPS 204 (ML-DSA) compliant
  • q = 8,380,417 (spec parameter)
  • n = 256, K = 6, L = 5 (Level 3)
  • ETA = 4, TAU = 49, GAMMA1 = 2^19
  • All 3 security levels implemented
  • FIPS 204 NTT zetas (reference values)
  • Pure Rust, zero C dependencies

Parameter Specifications

ParameterValue
Security LevelNIST Level 3 (~AES-192)
Polynomial Degree (n)256
Modulus (q)8,380,417
Matrix Dimensions (K x L)6 x 5
Public Key Size1,952 bytes
Secret Key Size4,032 bytes
Signature Size3,309 bytes
Batch Attestation Latency291 µs (32 users)
Source Files3 (3,127 lines)
Unit Tests26 (incl. 8 FIPS 204 KAT)
ImplementationPure Rust + NEON

Source Files

src/pqc/dilithium.rs 1,369 lines — API, keypair structs, batch operations, key pool
src/pqc/dilithium_native.rs 990 lines — Pure Rust ML-DSA-65, Montgomery NTT, ~2x vs C
src/pqc/dilithium_ntt.rs 768 lines — NTT module, FIPS 204 zetas, NEON branchless butterfly
Verify STARK Proof Download .h33 Certificate Dilithium Deep Dive How Attestation Works