Lux Docs
Precompile

Post-Quantum Precompiles

ML-DSA, ML-KEM, SLH-DSA, and Quasar consensus verification

Post-quantum precompiles provide NIST-standardized cryptographic operations at native EVM speed, protecting against future quantum computing threats.

Precompile Addresses

AddressNameStandardGasDescription
0x0600ML_DSAFIPS 20450,000ML-DSA signature verification (Dilithium)
0x0601ML_KEMFIPS 20325,000ML-KEM key encapsulation (Kyber)
0x0602SLH_DSAFIPS 20575,000SLH-DSA hash-based signatures (SPHINCS+)
0x0603PQ_CRYPTO--30,000Multi-PQ operations
0x0604QUASAR--100,000Quantum consensus verification

ML-DSA (FIPS 204)

Lattice-based digital signatures. Three security levels:

Parameter SetSecurity LevelSignature SizePublic Key
ML-DSA-44NIST Level 22,420 bytes1,312 bytes
ML-DSA-65NIST Level 33,309 bytes1,952 bytes
ML-DSA-87NIST Level 54,627 bytes2,592 bytes

Lux uses ML-DSA-65 (192-bit security) by default.

ML-KEM (FIPS 203)

Lattice-based key encapsulation mechanism for establishing shared secrets.

Parameter SetSecurity LevelCiphertextPublic Key
ML-KEM-512NIST Level 1768 bytes800 bytes
ML-KEM-768NIST Level 31,088 bytes1,184 bytes
ML-KEM-1024NIST Level 51,568 bytes1,568 bytes

SLH-DSA (FIPS 205)

Stateless hash-based signatures. Conservative choice -- security relies only on hash function properties.

Parameter SetSecuritySignature Size
SLH-DSA-SHA2-128fNIST Level 117,088 bytes
SLH-DSA-SHA2-192fNIST Level 335,664 bytes
SLH-DSA-SHA2-256fNIST Level 549,856 bytes

Hybrid Signatures (0x0610-0x0612)

Combine classical and post-quantum signatures for defense in depth:

AddressSchemeClassicalPost-Quantum
0x0610Hybrid BLS+RingtailBLS12-381Ringtail lattice
0x0611Hybrid ECDSA+ML-DSAsecp256k1ML-DSA-65
0x0612Hybrid Schnorr+RingtailEd25519Ringtail lattice

Both signatures must verify for the hybrid to pass. Graceful degradation is not supported -- this is intentional for maximum security.

On this page