A Performance Study of Digital Signature Algorithms

Bernard Lin
ReBloc
Published in
1 min readJun 5, 2019

Elliptic Curve Digital Signature Verification (ECDSA) algorithms are the base for many blockchains’ transactions. For example, Bitcoin and Ethereum use ECDSA (secp256k1). Edwards-curve Digital Signature Algorithm (Ed25519), is an alternative used by other distributed ledger technologies such as Algorand and Hashgraph.

This post is to show a performance comparison between ECDSA and Ed25519. The result is shown in the table as follows. The numbers are in microseconds. In this test*, Ed25519 is 48x-76x faster than ECDSA.

Contrary to common perception, GPUs are not more efficient than CPU in cryptographic computations, which is integer based. The advantages of GPUs are their optimization for floating point computations (not applicable to cryptography), batching and offloading tasks from GPUs. The low performance in single GPU verification is the result of overhead in GPU data loading, as explained in GPU characteristics as follows. The overhead effect is evened out in large batch verification.

A few GPUs characteristics:

  • Data has to be copied to GPU buffer first.
  • GPU cores have slower clocking speed ~800–900 MHz

Note*: Machine configuration

  • Intel Core i7–4720HQ, CPU 2.6 GHz
  • Nvidia GeForce GTX 860M GPU
  • 16G RAM
  • Ubuntu 16.04 64 bits

--

--