Project

General

Profile

Speed Comparison of Public Key Algorithms » History » Version 4

« Previous - Version 4/32 (diff) - Next » - Current version
Martin Willi, 09.06.2009 13:27
added results on 64bit


Speed comparison of public key algorithms

32bit, User-Mode-Linux on a Core2Duo T9400 (one core)

Key type Operations/s gmp gcrypt openssl
RSA 512 sign 3791 1831 2105
verify 29630 16667 25806
RSA 768 sign 1519 709 810
verify 18182 10714 15385
RSA 1024 sign 713 292 485
verify 11765 6897 11111
RSA 1536 sign 240 102 184
verify 5882 3774 5882
RSA 2048 sign 110 47 93
verify 3571 2326 3704
ECDSA 256 sign N/A N/A 522
verify N/A N/A 440
ECDSA 384 sign N/A N/A 226
verify N/A N/A 180
ECDSA 521 sign N/A N/A 109
verify N/A N/A 90
DH group Operations/s gmp gcrypt openssl gmp* gcrypt* openssl*
MODP768 A=g^a mod p 368 243 212 741 531 319
S=B^a mod p 448 190 290 1176 496 541
MODP1024 A=g^a mod p 196 125 136 494 388 272
S=B^a mod p 213 89 167 727 320 440
MODP1536 A=g^a mod p 68 45 62 308 220 196
S=B^a mod p 71 31 64 385 175 286
MODP2048 A=g^a mod p 31 21 28 149 98 116
S=B^a mod p 32 13 30 164 71 141
ECP192 A=g^a mod p N/A N/A 166 N/A N/A N/A
S=B^a mod p N/A N/A 171 N/A N/A N/A
ECP224 A=g^a mod p N/A N/A 157 N/A N/A N/A
S=B^a mod p N/A N/A 162 N/A N/A N/A
ECP256 A=g^a mod p N/A N/A 148 N/A N/A N/A
S=B^a mod p N/A N/A 152 N/A N/A N/A
ECP384 A=g^a mod p N/A N/A 91 N/A N/A N/A
S=B^a mod p N/A N/A 91 N/A N/A N/A
ECP521 A=g^a mod p N/A N/A 63 N/A N/A N/A
S=B^a mod p N/A N/A 65 N/A N/A N/A

64bit under VirtualBox, Core2Duo T9400 (one core):

Key type Operations/s gmp gcrypt openssl
RSA 512 sign 13082 3530 7478
verify 103733 36197 59598
RSA 768 sign 5523 1603 3154
verify 61520 25411 35704
RSA 1024 sign 2742 766 1577
verify 41377 16098 26314
RSA 1536 sign 937 285 555
verify 22148 10941 13607
RSA 2048 sign 433 133 258
verify 13500 6524 8345
ECDSA 256 sign N/A N/A 1267
verify N/A N/A 1143
ECDSA 384 sign N/A N/A 577
verify N/A N/A 508
ECDSA 521 sign N/A N/A 291
verify N/A N/A 255
DH group Operations/s gmp gcrypt openssl gmp* gcrypt* openssl*
MODP768 A=g^a mod p 1853 790 1088 5622 2151 2656
S=B^a mod p 1882 595 1191 5737 1779 3280
MODP1024 A=g^a mod p 862 347 491 3523 1352 1689
S=B^a mod p 869 274 535 3431 1035 1928
MODP1536 A=g^a mod p 269 135 168 1612 776 837
S=B^a mod p 278 98 174 1648 571 900
MODP2048 A=g^a mod p 117 55 73 689 298 362
S=B^a mod p 122 38 74 660 214 380
ECP192 A=g^a mod p N/A N/A 1699 N/A N/A N/A
S=B^a mod p N/A N/A 1727 N/A N/A N/A
ECP224 A=g^a mod p N/A N/A 1494 N/A N/A N/A
S=B^a mod p N/A N/A 1589 N/A N/A N/A
ECP256 A=g^a mod p N/A N/A 1298 N/A N/A N/A
S=B^a mod p N/A N/A 1423 N/A N/A N/A
ECP384 A=g^a mod p N/A N/A 591 N/A N/A N/A
S=B^a mod p N/A N/A 609 N/A N/A N/A
ECP521 A=g^a mod p N/A N/A 306 N/A N/A N/A
S=B^a mod p N/A N/A 313 N/A N/A N/A

* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no)