Protocol Reference · Updated 2026-05-07

ML-DSA-65 in production: post-quantum signatures for regulated AI

ML-DSA-65 is the module-lattice signature scheme NIST standardized as FIPS 204 in August 2024, and it's the post-quantum primitive that anchors every Hive receipt. This page is the production reference: parameters, performance, key management, and migration patterns.

What ML-DSA-65 is

ML-DSA stands for Module-Lattice-based Digital Signature Algorithm. It is one of three signature schemes NIST selected for standardization in its post-quantum cryptography project. The 65-parameter set targets Category 3 security, roughly equivalent to AES-192 against a quantum adversary using Grover's algorithm and a classical adversary using best-known cryptanalysis.

It is descended from CRYSTALS-Dilithium, the algorithm submitted to NIST's PQC competition. The standardized FIPS 204 version differs in some parameter choices and the inclusion of the deterministic-signing option. For Hive receipts we use deterministic signing, meaning every signature on the same message is identical, to make signature replay attacks easier to detect.

Parameters and security level

ParameterValue
NIST security category3 (≈ AES-192)
Public key size1952 bytes
Secret key size4032 bytes
Signature size3309 bytes
Module dimension k6
Module dimension ℓ5
Modulus q8380417

Performance benchmarks

Measured on a single core of an AMD EPYC 7763 (3.5 GHz, AVX2):

OperationTime (ms)Throughput (ops/sec/core)
Key generation0.18≈ 5,500
Sign0.41≈ 2,400
Verify0.19≈ 5,200

For comparison: Ed25519 sign is ~0.05 ms and verify is ~0.10 ms. ML-DSA-65 is roughly 8× slower for signing and 2× slower for verification. That's manageable overhead for receipt issuance but worth budgeting for in high-throughput workloads.

Key management

The 4032-byte secret key is too large to fit in most HSM key slots designed for ECDSA keys, and many existing HSMs do not yet support ML-DSA at all. Hive's production deployments use one of three patterns:

Why dual-signature with Ed25519

Every Hive PQ-tier receipt carries both an Ed25519 signature and an ML-DSA-65 signature. This is deliberate. Ed25519 is universally supported today, has a 30-year deployment track record, and is fast enough to verify in any environment. ML-DSA-65 is the post-quantum future but its software ecosystem is still maturing.

Dual-signature buys us two things. First, immediate compatibility with classical-only verifiers: they ignore sig_dsa and check sig_classical. Second, defense-in-depth: an adversary must break both schemes to forge a receipt, and the schemes are based on different hard problems (elliptic-curve discrete log vs. module learning-with-errors).

Migration patterns

Most teams migrating to post-quantum receipts move through three phases:

  1. Shadow phase. Issue both classical and post-quantum signatures; verifiers still check classical. Run for 30 days to confirm no operational regressions.
  2. Verify phase. Verifiers check both signatures. Any receipt that fails post-quantum verification is logged for investigation but does not block the transaction.
  3. Enforce phase. Verifiers reject receipts that fail post-quantum verification. Classical signature is retained for legacy interop only.

The SDK ships with a profile flag that toggles between phases without code changes.

Production libraries

LibraryLanguageNotes
liboqsC / C++ / Rust / Python / Go bindingsOpen Quantum Safe project. The reference implementation used by most production deployments.
pqcrypto-dilithiumRustPure-Rust port. Used in the Hive validator runtime.
noble-post-quantumJavaScript / TypeScriptAudited JS library. Used in Hive's Node SDK.
AWS KMS PQC previewHSM-backedProduction-grade key custody; preview as of 2025.

Sign your first receipt with ML-DSA-65

NIST FIPS 204. Dual-signature. Verifiable offline.

SDK docs Pricing