← Back to Crypto

The Efficiency of Post-Quantum Signature Schemes

NIST has given us three Post-Quantum Signature algorithms

Original NameStandard NameFIPSApproachStatus
CRYSTALS-DilithiumML-DSAFIPS 204Lattice-based (module-LWE)Final, Aug 2024
SPHINCS+SLH-DSAFIPS 205Hash-based (stateless)Final, Aug 2024
FALCONFN-DSAFIPS 206Lattice-based (NTRU + FFT)In development

And now it’s up to us to prepare for Q-Day. For a deeper dive into the history of NIST’s standardization process check out our blog post on NIST’s Post-Quantum Standardization Process.

Cryptographic signature schemes consist of three algorithms:

After undergoing serious public scrutiny during the NIST selection process, we believe that these post-quantum signature schemes will be secure, but if we’re going to switch from our current signature schemes (e.g. ECDSA, RSA) to a post-quantum scheme, the performance of these schemes is also important. And, in this case, it’s a big issue. All three of NIST’s post-quantum signatures schemes produce signatures that are much larger than the classical (pre-quantum) signature schemes that are widely used today. This means that applications that process a lot of digital signatures may see their bandwidth and storage costs increase dramatically.

Sizes

Classical Signature Sizes

AlgorithmPublic Key (bytes)Secret Key (bytes)Signature (bytes)
RSA-20482941,217256
ECDSA-P256653272
Ed25519323264

Post-Quantum Signature sizes

AlgorithmSecurity LevelPublic Key (bytes)Secret Key (bytes)Signature (bytes)
ML-DSA-4421,3122,5602,420
SLH-DSA-SHA2-128s132647,856
SLH-DSA-SHA2-128f1326417,088
Falcon-51218971,281752

Note that each of these schemes can be instantiated at different security levels (e.g. RSA-2048, RSA-4096, ML-DSA-44, ML-DSA-65). These benchmarks are for the lowest level of security of all these schemes. This roughly corresponds to the security level of ECDSA-P256 or Ed25519.

Note that SLH-DSA has two variants “small” (s) and “fast” (f). The “small” variant creates smaller signatures, and the “fast” variant improves signature-generation time.

The key takeaway here is that the smallest Post-Quantum signatures (Falcon’s) are 10x larger than those generated by ECDSA / Ed25519 (which are those commonly used in the blockchain space), and the “small” variant of SLH-DSA has signatures that are 100x the size of the classical schemes that they’re replacing.

Speeds

These numbers were taken on my Macbook Pro (with Apple’s M3 Max chip). Benchmarks on different machines will always be a bit different, but these should give a sense of how these schemes compare.

Classical Signature speeds

AlgorithmKeyGen (ms)Sign (ms)Verify (ms)
RSA-204867.3760.8590.025
ECDSA-P2560.0150.0240.048
Ed255190.0840.0840.190

Post-Quantum Signature speeds

AlgorithmKeyGen (ms)Sign (ms)Verify (ms)
ML-DSA-440.0420.1650.040
SLH-DSA-SHA2-128s32.756246.8490.254
SLH-DSA-SHA2-128f0.50611.5880.703
SLH-DSA-SHAKE-128s55.061418.9130.412
SLH-DSA-SHAKE-128f0.86719.9681.223
Falcon-5124.1460.1250.020

Note that the Apple M3 Max chip has the FEAT_SHA256 instruction that provides hardware acceleration for SHA256. This is likely why the SHA2 version of SLH-DSA runs faster than the SHAKE variant on this machine.

There are a handful of key takeways from the timings.

  1. Generating a single signature is quite fast — the usually under 1 millisecond, so the efficiency is only an issue for systems that are generating or verifying thousands of signatures
  2. Many of the Post-Quantum Schemes are actually faster than the classical schemes
  3. This means that the efficiency bottleneck with moving to Post-Quantum signatures is only in the size of the keys / signatures

The benchmarking scripts can be found in the git repo