Post-Quantum Cryptography
ML-DSA, PQ TLS, and the path to quantum-resistant infrastructure
Lux HSM includes native post-quantum (PQ) signing support via ML-DSA (FIPS 204). This page covers the broader PQ strategy across the Lux ecosystem.
ML-DSA in HSM
The MLDSASigner provides FIPS 204 ML-DSA-65 signing. See the ML-DSA provider page for usage details.
signer, _ := hsm.NewSigner("mldsa", nil)
sig, _ := signer.Sign(ctx, "pq-key", message)Lux Crypto Library
The implementation uses github.com/luxfi/crypto/mldsa, which provides:
- ML-DSA-44, ML-DSA-65, ML-DSA-87 (all three NIST levels)
- Clean Go API:
GenerateKey,PrivateKey.Sign,PublicKey.Verify - Compatible with Go's
crypto.Signerinterface
PQ TLS 1.3 in MPC Transport
The MPC network already uses post-quantum key exchange for node-to-node communication:
- Algorithm: X25519MLKEM768 (hybrid classical + PQ key exchange)
- Protocol: TLS 1.3
- Location:
pkg/transport/in the MPC codebase
This protects MPC key share fragments in transit against quantum-capable attackers performing harvest-now-decrypt-later attacks.
Ringtail: PQ Threshold Signing
github.com/luxfi/ringtail implements lattice-based threshold signing:
- Post-quantum threshold signatures (not just individual PQ signatures)
- Designed for MPC key generation and signing ceremonies
- Integrates with the
github.com/luxfi/crypto/thresholdunified scheme interface
Threshold Interface
The unified threshold scheme at github.com/luxfi/crypto/threshold supports:
| Scheme | Type | PQ |
|---|---|---|
| FROST | EdDSA threshold | No |
| CMP (CGGMP21) | ECDSA threshold | No |
| BLS | BLS threshold | No |
| Ringtail | Lattice threshold | Yes |
Quantum Timeline
| Milestone | Estimated | Impact |
|---|---|---|
| NIST PQ standards finalized | 2024 (done) | ML-DSA, ML-KEM standardized |
| Cryptographically Relevant Quantum Computer (CRQC) | 2030-2040 | RSA/ECDSA broken |
| Harvest-now attacks | Already happening | Long-lived secrets at risk today |
Recommendations
- Enable PQ signing for long-lived attestations — settlement proofs, audit logs
- Use PQ TLS for MPC transport (already enabled)
- Plan hybrid signatures — ECDSA + ML-DSA for transition period
- Monitor AWS KMS PQ support — AWS now offers ML-DSA in select regions
- Test with
mldsasigner before deploying PQ to production