ARM public key benchmark
Niels Möller
nisse at lysator.liu.se
Tue Apr 2 13:31:30 CEST 2013
Now that I've been able to compile the new ARM files, I've relinked my
benchmark program with the development version of GMP. This is what I
get for some public key operations (as implemented in the development
version of Nettle, see http://git.lysator.liu.se/nettle), running on a
1 GHz cortex-a9:
name size sign/ms verify/ms
rsa 1024 0.5014 ( +90%) 9.1323 (+101%)
rsa 2048 0.0835 (+113%) 2.6942 (+116%)
dsa 1024 0.9857 (+110%) 0.5026 (+111%)
ecdsa 192 1.4312 ( +16%) 0.5530 ( +28%)
ecdsa 224 1.0072 ( +18%) 0.4037 ( +31%)
ecdsa 256 0.7846 ( +25%) 0.3094 ( +38%)
ecdsa 384 0.3308 ( +31%) 0.1307 ( +49%)
ecdsa 521 0.1823 ( +38%) 0.0719 ( +60%)
ecdsa (openssl) 224 0.1842 0.1545
ecdsa (openssl) 384 0.0695 0.0590
ecdsa (openssl) 521 0.0261 0.0216
The difference is compared to earlier benchmark numbers. I'm embarrassed
to say that I'm not sure exactly which GMP code I was using, but I think
it was more or less gmp-5.1, which is slightly faster than gmp-5.0.5.
1024 bits is 32 limbs, and for the algorithms using numbers of this size
or larger, the speedup is close to a factor of two. For smaller numbers
(only 6 limbs for ecdsa 192), speedup is smaller but still very nice.
I'm not yet using GMP's mpn_cnd_{add,sub}_n, that's the next thing I'd
like to try.
Regards,
/Niels
--
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
More information about the gmp-devel
mailing list