Benchmarking Digital Signatures: Ed25519 (EdDSA) Wins for Signing, RSA Wins for Verifying
I have compiled OpenSSL 3.5 and was looking forward to benchmarking PQC signatures, but, unfortunately, the speed test is not available for them yet (but you can benchmark the KEM method). So, I just benchmarked the current public key methods. Overall, OpenSSL supports Ed25519, ECDSA, RSA and SM2 (Curve SM2). Generally, on the Internet, the most popular signing method is still RSA, but ECDSA is making inroads. Now that EdDSA is included in FIPS 140, its usage is on the rise, but it is still well behind ECDSA for digital signing (especially since ECDSA is typically used in blockchain applications).
For signing, Ed25519 and ECDSA (P256) are so much faster than the rest, and where RSA-2K runs around 33 times slower than Ed25519:
We see for signing that the Brainpool curves are generally slower than the NIST curves of P256. The SM2 signature method runs around 20 times slower than Ed25519 and ECDSA (P256). For RSA, the performance for signing is extremely poor when we move to RSA-3K and above, and where RSA-4K is around 2,000 times slower than Ed25519.
But, when it comes to signature verification, this is where RSA shines, and generally, RSA up to 3K wipes the floor with Ed25519 and ECDSA (P256):
So, in conclusion, elliptic curve methods are generally fast for signing, and RSA methods are good for verification.
If you want to learn more about digital signatures, try here: