BenchmarksStack Ranking
APIsPricingDocsWhite PaperTokenBlogAboutSecurity Demo
Log InGet API Key
Post-Quantum · 5 min read

FALCON vs Dilithium:
Choosing the Right Post-Quantum Signature

A detailed comparison of FALCON and Dilithium signature algorithms to help you choose the best fit for your application.

FIPS 204
Standard
~240µs
Verify
128-bit
PQ Security
3
Algorithms

NIST selected multiple post-quantum signature algorithms to address different use cases. CRYSTALS-Dilithium (ML-DSA) and FALCON are the two primary choices. Understanding their trade-offs helps you select the right algorithm for your application.

Algorithm Overview

Both algorithms are lattice-based but use different mathematical approaches:

The distinction matters. Module-LWE and NTRU are both lattice problems, but they rely on different hardness assumptions. A breakthrough against one does not automatically compromise the other, which is precisely why NIST standardized both. Dilithium generates a signature candidate, checks whether it leaks information about the secret key, and aborts if it does. FALCON uses a trapdoor sampler over NTRU lattices with Gaussian distributions in floating-point arithmetic -- producing compact signatures at the cost of implementation complexity.

Key and Signature Sizes

One of the most significant differences is size:

ParameterDilithium2 (L2)Dilithium3 (L3)FALCON-512 (L1)FALCON-1024 (L5)
Public Key1,312 B1,952 B897 B1,793 B
Signature2,420 B3,293 B666 B1,280 B
Secret Key2,528 B4,000 B1,281 B2,305 B
NIST Level2315

FALCON offers significantly smaller signatures -- roughly 5x smaller than Dilithium at comparable security. This makes FALCON attractive for bandwidth-constrained applications like blockchain transactions or IoT devices. For a certificate chain with three signatures, the cumulative difference is substantial: approximately 9,879 bytes with Dilithium3 versus just 1,998 bytes with FALCON-512.

Size Matters for Certificates

In TLS handshakes, signature size directly impacts time-to-first-byte. A three-certificate chain using Dilithium3 adds nearly 10KB of signature data alone, compared to roughly 2KB with FALCON-512. For mobile users on constrained networks, this difference is measurable.

Performance Characteristics

Performance varies by operation:

Dilithium's signing time is predictable, while FALCON's can vary due to its rejection sampling. This matters for real-time applications with strict latency requirements.

Why Signing Variance Matters

FALCON's Gaussian sampling during signing follows a probabilistic process where each attempt has roughly a 30% success rate. The expected number of iterations is about 3.3, but worst-case signing can take significantly longer. In a high-throughput authentication pipeline processing millions of requests per second, this variance introduces tail latency that complicates SLA guarantees. Dilithium's rejection sampling converges faster, with tighter bounds on the worst case because each iteration is less expensive.

Implementation Complexity

Dilithium is significantly easier to implement correctly:

For organizations implementing their own cryptographic code, Dilithium presents fewer pitfalls. The entire Dilithium signing algorithm can be expressed in terms of NTT polynomial multiplication, modular addition, and hashing -- operations with well-understood constant-time implementations. FALCON requires a recursive fast Fourier sampler operating in floating-point, where even small precision errors can leak secret key material through timing variations.

Side-Channel Resistance

Side-channel attacks extract secrets by analyzing timing, power consumption, or electromagnetic emissions:

FALCON's reliance on floating-point sampling means that different CPU families (x86, ARM, RISC-V) can produce subtly different timing profiles for the same operation -- a property that makes portable constant-time code exceptionally difficult to write and verify.

NIST Standardization Status

As of early 2026, Dilithium has been finalized as FIPS 204 (ML-DSA) and is the primary NIST recommendation for general-purpose digital signatures. FALCON is standardized as FIPS 206 (FN-DSA), with NIST noting its suitability for applications where signature size is the dominant constraint. Both are approved for federal use, but NIST's guidance explicitly recommends ML-DSA as the default unless there is a specific, documented reason to prefer FN-DSA.

NIST Guidance

NIST recommends ML-DSA (Dilithium) as the primary general-purpose post-quantum signature algorithm. FN-DSA (FALCON) is recommended only when compact signatures are a hard requirement. Both provide at least 128-bit post-quantum security at their base parameter sets.

Use Case Recommendations

Based on these trade-offs:

Choose Dilithium when:

Choose FALCON when:

What H33 Uses

H33 uses Dilithium3 (ML-DSA-65) for all authentication attestation signatures in our production pipeline. The reasons align directly with the trade-offs outlined above:

H33 Attestation Pipeline

FHE Batch (32 users): ~1,109 µs (BFV inner product, Montgomery NTT)
ZKP Cache Lookup: ~0.085 µs (in-process DashMap, zero network overhead)
Dilithium Attestation: ~244 µs (1 sign + 1 verify per 32-user batch)
Total per batch: ~1,356 µs · Per auth: ~42 µs

We may add FALCON support for specific use cases where signature size is critical, such as on-chain blockchain attestations where each byte of calldata has a gas cost. For our nested hybrid signature scheme (H33-3-Key), FALCON-512 is already used alongside Dilithium-5 and Ed25519 to provide multi-algorithm resilience -- combining the strengths of both approaches.

Practical Migration Considerations

If you are migrating from classical signatures (RSA or ECDSA) to post-quantum, the choice between Dilithium and FALCON should be driven by three questions:

  1. What is your signing volume? High-throughput systems benefit from Dilithium's consistent latency. If you sign fewer than a few thousand messages per second, either algorithm works.
  2. What is your transport budget? If you transmit signatures over constrained links (LoRaWAN, Bluetooth LE, satellite), FALCON's 5x smaller signatures can be the deciding factor.
  3. Do you control the implementation? If you are using a library (libpqcrypto, liboqs, pqcrypto-rs), either algorithm is safe. If you are implementing from scratch or porting to embedded hardware, Dilithium's simpler arithmetic reduces the risk of subtle bugs.

Future Considerations

Both algorithms are strong choices with different strengths. The cryptographic community continues to analyze both, and neither shows signs of weakness. Your choice should be driven by your application's specific requirements around size, performance, and implementation constraints. For most teams building authentication, API security, or document signing systems, Dilithium is the safer default. For teams optimizing certificate chains, blockchain proofs, or bandwidth-constrained IoT deployments, FALCON earns its place.

Ready to Go Quantum-Secure?

Start protecting your users with post-quantum authentication today. 1,000 free auths, no credit card required.

Get Free API Key →

Build With Post-Quantum Security

Enterprise-grade FHE, ZKP, and post-quantum cryptography. One API call. Sub-millisecond latency.

Get Free API Key → Read the Docs
Free tier · 10,000 API calls/month · No credit card required
Verify It Yourself