wolfSSL on Pi5 Benchmarks

We at wolfSSL have worked hard to provide exceptional performance for our libraries across all platforms, but we’ve taken extra measures for Intel, ARM, RISC-V and PPC. For common key sizes and curves we’ve implemented inline assembly speedups for most algorithms.

For example on the new Raspberry Pi5 with a Cortex A57 at 2.4GHz (default) running on a single thread we achieve the following benchmark results on wolfSSL v5.6.4:

Algorithm key size operation avg ms ops/sec
RSA 2048 sign 3.387 295.244
RSA 3072 sign 9.984 100.159
RSA 4096 sign 21.742 45.995
RSA 2048 verify 0.079 12646.826
RSA 3072 verify 0.174 5744.265
RSA 4096 verify 0.293 3415.934
ECDHE 256 agree 0.158 6316.186
ECDHE 384 agree 0.561 1783.881
ECDHE 521 agree 1.296 771.642
ECDSA 256 sign 0.066 15179.234
ECDSA 384 sign 0.225 4436.137
ECDSA 521 sign 0.584 1712.349
ECDSA 256 verify 0.169 5925.511
ECDSA 384 verify 0.598 1672.345
ECDSA 521 verify 1.4 714.378
CURVE 25519 agree 0.146 6864.489
CURVE 448 agree 0.565 1770.784
ED 25519 sign 0.045 22223.907
ED 448 sign 0.232 4301.478
ED 25519 verify 0.166 6018.073
ED 448 verify 0.691 1448.119

Note: Above ECC curves are SECP256R1, SECP384R1 and SECP521R1.

Obtained using:

./configure --disable-shared --enable-sp=yes,asm --enable-armasm --enable-keygen --enable-curve25519 --enable-ed25519 --enable-curve448 --enable-ed448
make
./wolfcrypt/benchmark/benchmark -rsa -rsa_sign -ecc -p256
./wolfcrypt/benchmark/benchmark -rsa-sz 3072 -rsa_sign -ecc -p384
./wolfcrypt/benchmark/benchmark -rsa-sz 4096 -rsa_sign -ecc -p521
./wolfcrypt/benchmark/benchmark -x25519 -ed25519 -x448 -ed448

If you have questions about any of the above, please contact us at facts@wolfSSL.com or call us at +1 425 245 8247.

Download wolfSSL Now