Project

General

Profile

Speed Comparison of Public Key Algorithms » History » Version 6

Version 5 (Andreas Steffen, 09.06.2009 13:59) → Version 6/32 (Andreas Steffen, 09.06.2009 14:24)

h1. Speed comparison of public key algorithms

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

|_.Key type|_.Operations/s|_.gmp |_.gcrypt |_.openssl |
|RSA 512 |sign |>.3'791 |>.1'831 |>.2'105 |
| |verify |>.29'630|>.16'667 |>.25'806 |
|RSA 768 |sign |>.1'519 |>.709 |>.810 |
| |verify |>.18'182|>.10'714 |>.15'385 |
|RSA 1024 |sign |>.713 |>.292 |>.485 |
| |verify |>.11'765|>.6'897 |>.11'111 |
|RSA 1536 |sign |>.240 |>.102 |>.184 |
| |verify |>.5'882 |>.3'774 |>.5'882 |
|RSA 2048 |sign |>.110 |>.47 |>.93 |
| |verify |>.3'571 |>.2'326 |>.3'704 |
|ECDSA 256 |sign |=._N/A_ |=._N/A_ |>.522 |
|ECDSA 384 |sign | |verify |=._N/A_ |=._N/A_ |>.226 |>.440 |
|ECDSA 521 384 |sign |=._N/A_ |=._N/A_ |>.109 |>.226 |
|RSA 512 |verify |>.29'630|>.16'667 |>.25'806 |
|RSA 768
|verify |>.18'182|>.10'714 |>.15'385 |
|RSA 1024 |verify |>.11'765|>.6'897 |>.11'111 |
|RSA 1536 |verify |>.5'882 |>.3'774 |>.5'882 |
|RSA 2048 |verify |>.3'571 |>.2'326 |>.3'704 |
|ECDSA 256 |verify
|=._N/A_ |=._N/A_ |>.440 |>.180 |
|ECDSA 384 |verify 521 |sign |=._N/A_ |=._N/A_ |>.180 |>.109 |
|ECDSA 521 | |verify |=._N/A_ |=._N/A_ |>.90 |

|_.DH group|_.Operations/s|_.gmp |_.gcrypt |_.openssl |_.gmp* |_.gcrypt*|_.openssl*|
|MODP 768 |MODP768 |A=g^a mod p |>.368 |>.243 |>.212 |>.741 |>.531 |>.319 |
|MODP 1024 | |S=B^a mod p |>.448 |>.190 |>.290 |>.1176 |>.496 |>.541 |
|MODP1024
|A=g^a mod p |>.196 |>.125 |>.136 |>.494 |>.388 |>.272 |
|MODP 1536 | |S=B^a mod p |>.213 |>.89 |>.167 |>.727 |>.320 |>.440 |
|MODP1536
|A=g^a mod p |>.68 |>.45 |>.62 |>.308 |>.220 |>.196 |
|MODP 2048 | |S=B^a mod p |>.71 |>.31 |>.64 |>.385 |>.175 |>.286 |
|MODP2048
|A=g^a mod p |>.31 |>.21 |>.28 |>.149 |>.98 |>.116 |
|ECP 192 | |S=B^a mod p |>.32 |>.13 |>.30 |>.164 |>.71 |>.141 |
|ECP192
|A=g^a mod p |=._N/A_|=._N/A_ |>.166 |=.- |=.- |=.- |
|ECP 224 |A=g^a | |S=B^a mod p |=._N/A_|=._N/A_ |>.157 |>.171 |=.- |=.- |=.- |
|ECP 256 |ECP224 |A=g^a mod p |=._N/A_|=._N/A_ |>.148 |>.157 |=.- |=.- |=.- |
|ECP 384 |A=g^a | |S=B^a mod p |=._N/A_|=._N/A_ |>.91 |>.162 |=.- |=.- |=.- |
|ECP 521 |ECP256 |A=g^a mod p |=._N/A_|=._N/A_ |>.63 |>.148 |=.- |=.- |=.- |
|MODP 768 |S=B^a mod p |>.448 |>.190 |>.290 |>.1176 |>.496 |>.541 |
|MODP 1024
|S=B^a mod p |>.213 |>.89 |>.167 |>.727 |>.320 |>.440 |
|MODP 1536 |S=B^a mod p |>.71 |>.31 |>.64 |>.385 |>.175 |>.286 |
|MODP 2048 |S=B^a mod p |>.32 |>.13 |>.30 |>.164 |>.71 |>.141 |
|ECP 192 |S=B^a mod p
|=._N/A_|=._N/A_ |>.171 |>.152 |=.- |=.- |=.- |
|ECP 224 |S=B^a |ECP384 |A=g^a mod p |=._N/A_|=._N/A_ |>.162 |>.91 |=.- |=.- |=.- |
|ECP 256 | |S=B^a mod p |=._N/A_|=._N/A_ |>.152 |>.91 |=.- |=.- |=.- |
|ECP 384 |S=B^a |ECP521 |A=g^a mod p |=._N/A_|=._N/A_ |>.91 |>.63 |=.- |=.- |=.- |
|ECP 521 | |S=B^a mod p |=._N/A_|=._N/A_ |>.65 |=.- |=.- |=.- |

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

|_.Key type|_.Operations/s|_.gmp |_.gcrypt |_.openssl |
|RSA 512 |sign |>.13'082 |>.3'530 |>.7'478 |
| |verify |>.103'733|>.36'197 |>.5'9598 |
|RSA 768 |sign |>.5'523 |>.1'603 |>.3'154 |
| |verify |>.61'520 |>.25'411 |>.35'704 |
|RSA 1024 |sign |>.2'742 |>.766 |>.1'577 |
| |verify |>.41'377 |>.16'098 |>.26'314 |
|RSA 1536 |sign |>.937 |>.285 |>.555 |
| |verify |>.22'148 |>.10'941 |>.13'607 |
|RSA 2048 |sign |>.433 |>.133 |>.258 |
| |verify |>.13'500 |>.6'524 |>.8'345 |
|ECDSA 256 |sign |=._N/A_ |=._N/A_ |>.1'267 |
|ECDSA 384 |sign | |verify |=._N/A_ |=._N/A_ |>.577 |>.1'143 |
|ECDSA 521 384 |sign |=._N/A_ |=._N/A_ |>.291 |>.577 |
|RSA 512 |verify |>.103'733|>.36'197 |>.5'9598 |
|RSA 768
|verify |>.61'520 |>.25'411 |>.35'704 |
|RSA 1024 |verify |>.41'377 |>.16'098 |>.26'314 |
|RSA 1536 |verify |>.22'148 |>.10'941 |>.13'607 |
|RSA 2048 |verify |>.13'500 |>.6'524 |>.8'345 |
|ECDSA 256 |verify
|=._N/A_ |=._N/A_ |>.1'143 |>.508 |
|ECDSA 384 |verify 521 |sign |=._N/A_ |=._N/A_ |>.508 |>.291 |
|ECDSA 512 | |verify |=._N/A_ |=._N/A_ |>.255 |

|_.DH group|_.Operations/s|_.gmp |_.gcrypt |_.openssl |_.gmp* |_.gcrypt*|_.openssl*|
|MODP 768 |MODP768 |A=g^a mod p |>.1'853 |>.790 |>.1'088 |>.5'622 |>.2'151 |>.2'656 |
|MODP 1024 | |S=B^a mod p |>.1'882 |>.595 |>.1'191 |>.5'737 |>.1'779 |>.3'280 |
|MODP1024
|A=g^a mod p |>.862 |>.347 |>.491 |>.3'523 |>.1'352 |>.1'689 |
|MODP 1536 | |S=B^a mod p |>.869 |>.274 |>.535 |>.3'431 |>.1'035 |>.1'928 |
|MODP1536
|A=g^a mod p |>.269 |>.135 |>.168 |>.1'612 |>.776 |>.837 |
|MODP 2048 | |S=B^a mod p |>.278 |>.98 |>.174 |>.1'648 |>.571 |>.900 |
|MODP2048
|A=g^a mod p |>.117 |>.55 |>.73 |>.689 |>.298 |>.362 |
|ECP 192 | |S=B^a mod p |>.122 |>.38 |>.74 |>.660 |>.214 |>.380 |
|ECP192
|A=g^a mod p |=._N/A_ |=._N/A_ |>.1'699 |=.- |=.- |=.- |
|ECP 224 |A=g^a | |S=B^a mod p |=._N/A_ |=._N/A_ |>.1'494 |>.1'727 |=.- |=.- |=.- |
|ECP 256 |ECP224 |A=g^a mod p |=._N/A_ |=._N/A_ |>.1'298 |>.1'494 |=.- |=.- |=.- |
|ECP 384 |A=g^a | |S=B^a mod p |=._N/A_ |=._N/A_ |>.591 |>.1'589 |=.- |=.- |=.- |
|ECP 521 |ECP256 |A=g^a mod p |=._N/A_ |=._N/A_ |>.306 |>.1'298 |=.- |=.- |=.- |
|MODP 768 |S=B^a mod p |>.1'882 |>.595 |>.1'191 |>.5'737 |>.1'779 |>.3'280 |
|MODP 1024
|S=B^a mod p |>.869 |>.274 |>.535 |>.3'431 |>.1'035 |>.1'928 |
|MODP 1536 |S=B^a mod p |>.278 |>.98 |>.174 |>.1'648 |>.571 |>.900 |
|MODP 2048 |S=B^a mod p |>.122 |>.38 |>.74 |>.660 |>.214 |>.380 |
|ECP 192 |S=B^a mod p
|=._N/A_ |=._N/A_ |>.1'727 |>.1'423 |=.- |=.- |=.- |
|ECP 224 |S=B^a |ECP384 |A=g^a mod p |=._N/A_ |=._N/A_ |>.1'589 |>.591 |=.- |=.- |=.- |
|ECP 256 | |S=B^a mod p |=._N/A_ |=._N/A_ |>.1'423 |>.609 |=.- |=.- |=.- |
|ECP 384 |S=B^a |ECP521 |A=g^a mod p |=._N/A_ |=._N/A_ |>.609 |>.306 |=.- |=.- |=.- |
|ECP 521 | |S=B^a mod p |=._N/A_ |=._N/A_ |>.313 |=.- |=.- |=.- |

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