Cryptographic Tools: When to Use What

This guide helps you pick the right cryptographic tool depending on what you're building — from blockchain apps and wallets to privacy protocols and rollups.

ECDSA

Use for: Signing transactions

👍 Good For:

  • Widely supported (Bitcoin, Ethereum)
  • Efficient and compact

⚠️ Not Ideal For:

  • Multi-party signatures
  • ZK compatibility
Learn More →

EdDSA

Use for: Signing in modern systems

👍 Good For:

  • Fast and deterministic
  • Good for zkApps

⚠️ Not Ideal For:

  • Aggregation (use BLS)
  • Ethereum L1 (not supported)
Learn More →

BLS

Use for: Aggregated signatures (Ethereum 2.0, Dfinity)

👍 Good For:

  • Signature aggregation
  • Validator consensus

⚠️ Not Ideal For:

  • Fast signing
  • Browser-side performance
Learn More →

FROST

Use for: Threshold signing (2-of-3, etc.)

👍 Good For:

  • Multi-sig wallets
  • MPC-friendly
  • Few communication rounds

⚠️ Not Ideal For:

  • Browser-native use (still maturing)
  • Legacy systems
Learn More →

ZK Proofs

Use for: Privacy and proving things without revealing data

👍 Good For:

  • Identity
  • Private balance proofs
  • Scalability (zkRollups)

⚠️ Not Ideal For:

  • Simple signing
  • Fast verification (depending on system)
Learn More →

Merkle Trees

Use for: Efficient inclusion proofs (transactions, state)

👍 Good For:

  • Blockchain headers
  • Light clients

⚠️ Not Ideal For:

  • Signing
  • Privacy
Learn More →

Paillier Encryption

Use for: Homomorphic operations (addition)

👍 Good For:

  • Voting
  • Private counters

⚠️ Not Ideal For:

  • High-performance needs
  • Multiplicative homomorphism
Learn More →

MPC / TSS

Use for: Secure multi-party key management

👍 Good For:

  • Custodial wallets
  • DAOs
  • HSM coordination

⚠️ Not Ideal For:

  • On-chain use
  • ZK applications
Learn More →
← Back to Home