Speed Comparison of Public Key Algorithms » History » Version 17
Version 16 (Andreas Steffen, 10.06.2009 17:55) → Version 17/32 (Martin Willi, 10.06.2009 18:09)
h1. Speed comparison of public key algorithms
h2. 32bit, native on a Core2Duo T9400 (one core)
h3. Public Key Signature
|_.Key type|_.Strength*|_.Operations/s|_.gmp |_.gcrypt|_.openssl|
|RSA 512 |>.50 bits |sign (e=3) |>.3'708 |>.1'814 |>.2'286 |
|RSA 512 |>.50 bits |sign (e=f4) |>.3'946 |>.1'780 |>.2'150 |
|RSA 768 |>.62 bits |sign (e=3) |>.1'483 |>.625 |>.521 |
|RSA 768 |>.62 bits |sign (e=f4) |>.1'486 |>.626 |>.783 |
|RSA 1024 |>.73 bits |sign (e=3) |>.724 |>.301 |>.488 |
|RSA 1024 |>.73 bits |sign (e=f4) |>.722 |>.285 |>.475 |
|RSA 1536 |>.89 bits |sign (e=3) |>.242 |>.99 |>.117 |
|RSA 1536 |>.89 bits |sign (e=f4) |>.243 |>.98 |>.111 |
|RSA 2048 |>.103 bits |sign (e=3) |>.110 |>.30 |>.80 |
|RSA 2048 |>.103 bits |sign (e=f4) |>.109 |>.28 |>.89 |
|RSA 3072 |>.125 bits |sign (e=3) |>.35 |>.9 |>.33 |
|RSA 3072 |>.125 bits |sign (e=f4) |>.35 |>.15 |>.32 |
|RSA 4096 |>.142 bits |sign (e=3) |>.15 |>.6 |>.9 |
|RSA 4096 |>.142 bits |sign (e=f4) |>.15 |>.6 |>.9 |
|RSA 6144 |>.171 bits |sign (e=3) |>.4 |>.2 |>.3 |
|RSA 6144 |>.171 bits |sign (e=f4) |>.4 |>.2 |>.3 |
|RSA 8192 |>.193 bits |sign (e=3 ) |>.2 |>.1 |>.2 |
|RSA 8192 |>.193 bits |sign (e=f4) |>.2 |>.1 |>.1 |
|ECDSA 256 |>.128 bits |sign |=._N/A_ |=._N/A_ |>.546 |
|ECDSA 384 |>.192 bits |sign |=._N/A_ |=._N/A_ |>.233 |
|ECDSA 521 |>.260 bits |sign |=._N/A_ |=._N/A_ |>.113 |
|RSA 512 |>.50 bits |verify (e=3) |>.76'683|>.36'626|>.55'685 |
|RSA 512 |>.50 bits |verify (e=f4) |>.32'577|>.15'860|>.25'086 |
|RSA 768 |>.62 bits |verify (e=3) |>.52'707|>.31'167|>.37'112 |
|RSA 768 |>.62 bits |verify (e=f4) |>.17'375|>.10'054|>.15'034 |
|RSA 1024 |>.73 bits |verify (e=3) |>.37'826|>.25'688|>.28'879 |
|RSA 1024 |>.73 bits |verify (e=f4) |>.11'402|>.6'640 |>.10'380 |
|RSA 1536 |>.89 bits |verify (e=3) |>.22'143|>.18'505|>.10'393 |
|RSA 1536 |>.89 bits |verify (e=f4) |>.5'892 |>.3'770 |>.3'686 |
|RSA 2048 |>.103 bits |verify (e=3) |>.14'175|>.8'307 |>.11'625 |
|RSA 2048 |>.103 bits |verify (e=f4) |>.3'481 |>.1'423 |>.3'535 |
|RSA 3072 |>.125 bits |verify (e=3) |>.7'207 |>.4'930 |>.5'654 |
|RSA 3072 |>.125 bits |verify (e=f4) |>.1'729 |>.1'150 |>.1'857 |
|RSA 4096 |>.142 bits |verify (e=3) |>.5'887 |>.4'960 |>.2'263 |
|RSA 4096 |>.142 bits |verify (e=f4) |>.1'049 |>.684 |>.672 |
|RSA 6144 |>.171 bits |verify (e=3) |>.3'171 |>.2630 |>.977 |
|RSA 6144 |>.171 bits |verify (e=f4) |>.544 |>.335 |>.324 |
|RSA 8192 |>.193 bits |verify (e=3) |>.2'015 |>.1638 |>.839 |
|RSA 8192 |>.193 bits |verify (e=f4) |>.334 |>.194 |>.181 |
|ECDSA 256 |>.128 bits |verify |=._N/A_ |=._N/A_ |>.459 |
|ECDSA 384 |>.192 bits |verify |=._N/A_ |=._N/A_ |>.196 |
|ECDSA 521 |>.260 bits |verify |=._N/A_ |=._N/A_ |>.94 |
_* = cryptographic strength estimates according to_ "RFC 3766":http://tools.ietf.org/html/rfc3766 _using_ "www.keylength.com":http://www.keylength.com
h3. Diffie-Hellman Key Exchange
|_.DH group|_.Strength|_.Operations/s|_.gmp |_.gcrypt|_.openssl |_.gmp* |_.gcrypt*|_.openssl*|
|MODP 768 |>.62 bits |A=g^a mod p |>.468 |>.293 |>.371 |>.1'271|>.866 |>.1'060 |
|MODP 1024 |>.73 bits |A=g^a mod p |>.216 |>.136 |>.192 |>.792 |>.540 |>.706 |
|MODP 1536 |>.89 bits |A=g^a mod p |>.71 |>.46 |>.70 |>.395 |>.279 |>.379 |
|MODP 2048 |>.103 bits|A=g^a mod p |>.31 |>.20 |>.31 |>.161 |>.112 |>.155 |
|MODP 3072 |>.125 bits|A=g^a mod p |>.10 |>.6 |>.11 |>.77 |>.55 |>.81 |
|MODP 4096 |>.142 bits|A=g^a mod p |>.4 |>.3 |>.4 |>.34 |>.24 |>.35 |
|MODP 6144 |>.171 bits|A=g^a mod p |>.1 |>.1 |>.1 |>.17 |>.11 |>.17 |
|MODP 8096 |>.193 bits|A=g^a mod p |>.1 |>.1 |>.0 |>.11 |>.7 |>.10 |
|ECP 192 |>.96 bits |A=g^a mod p |=._N/A_|=._N/A_ |>.961 |=.- |=.- |=.- |
|ECP 224 |>.112 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.724 |=.- |=.- |=.- |
|ECP 256 |>.128 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.577 |=.- |=.- |=.- |
|ECP 384 |>.192 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.243 |=.- |=.- |=.- |
|ECP 521 |>.260 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.117 |=.- |=.- |=.- |
|MODP 768 |>.62 bits |S=B^a mod p |>.489 |>.205 |>.393 |>.1'418|>.618 |>.1'101 |
|MODP 1024 |>.73 bits |S=B^a mod p |>.222 |>.92 |>.195 |>.845 |>.372 |>.728 |
|MODP 1536 |>.89 bits |S=B^a mod p |>.71 |>.31 |>.71 |>.409 |>.188 |>.382 |
|MODP 2048 |>.103 bits|S=B^a mod p |>.31 |>.14 |>.31 |>.163 |>.74 |>.156 |
|MODP 3072 |>.125 bits|S=B^a mod p |>.10 |>.4 |>.11 |>.77 |>.36 |>.80 |
|MODP 4096 |>.142 bits|S=B^a mod p |>.4 |>.2 |>.4 |>.34 |>.16 |>.35 |
|MODP 6144 |>.171 bits|S=B^a mod p |>.1 |>.0 |>.1 |>.17 |>.7 |>.17 |
|MODP 8096 |>.193 bits|S=B^a mod p |>.1 |>.0 |>.1 |>.11 |>.4 |>.10 |
|ECP 192 |>.96 bits |S=B^a mod p |=._N/A_|=._N/A_ |>.950 |=.- |=.- |=.- |
|ECP 224 |>.112 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.716 |=.- |=.- |=.- |
|ECP 256 |>.128 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.564 |=.- |=.- |=.- |
|ECP 384 |>.192 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.239 |=.- |=.- |=.- |
|ECP 521 |>.260 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.116 |=.- |=.- |=.- |
_* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no) as recommended by_ "RFC3526":http://tools.ietf.org/html/rfc3526#section-8
h2. 64bit under VirtualBox, Core2Duo T9400 (one core):
h3. Public Key Signature
|_.Key type |_.Strength*|_.Operations/s|_.gmp type|_.Strength*|_.Operations/s|_.gmp |_.gcrypt|_.openssl| |_.gcrypt |_.openssl |
|RSA 512 e=3 |>.50 bits |sign |>.12'715 |>.3474 |>.13'082 |>.3'530 |>.7'405 |>.7'478 |
|RSA 512 e=f4|>.50 bits |sign |>.12'453 |>.3463 |>.4'471 |
|RSA 768 e=3 |>.62 bits |sign |>.5'414 |>.5'523 |>.1234 |>.1'603 |>.2'371 |>.3'154 |
|RSA 768 1024 e=f4|>.62 bits |sign |>.5'617 |>.1142 |>.2'974 |
|RSA 1024 e=3 |>.73 bits |sign |>.2'756 |>.2'742 |>.769 |>.766 |>.1'577 |>.1'565 |
|RSA 1024 e=f4|>.73 bits 1536 |sign |>.2'765 |>.516 |>.1'523 |
|RSA 1536 e=3 |>.89 bits |sign |>.980 |>.937 |>.181 |>.548 |>.285 |>.555 |
|RSA 1536 e=f4|>.89 bits 2048 |sign |>.978 |>.279 |>.525 |
|RSA 2048 e=3 |>.103 bits |sign |>.447 |>.433 |>.126 |>.160 |>.133 |
|RSA 2048 e=f4|>.103 bits |sign |>.453 |>.122 |>.147 |
|RSA 3072 e=3 |>.125 bits |sign |>.140 |>.45 |>.51 |>.258 |
|RSA 3072 e=f4|>.125 bits |sign |>.146 |>.44 |>.46 |
|RSA 4096 e=3 |>.142 bits |sign |>.71 |>.19 |>.36 |
|RSA 4096 e=f4|>.142 bits |sign |>.62 |>.11 |>.34 |
|RSA 6144 e=3 |>.171 bits |sign |>.19 |>.7 |>.11 |
|RSA 6144 e=f4|>.171 bits |sign |>.20 |>.6 |>.10 |
|RSA 8192 e=3 |>.193 bits |sign |>.7 |>.3 |>.4 |
|RSA 8192 e=f4|>.193 bits |sign |>.8 |>.3 |>.4 |
|ECDSA 256 |>.128 bits |sign |=._N/A_ |=._N/A_ |>.1'204 |>.1'267 |
|ECDSA 384 |>.192 bits |sign |=._N/A_ |=._N/A_ |>.551 |>.577 |
|ECDSA 521 |>.260 bits |sign |=._N/A_ |=._N/A_ |>.280 |>.291 |
|RSA 512 e=3 |>.50 bits |verify |>.131'663|>.50'944|>.86'962 |
|RSA 512 |>.103'733|>.36'197 |>.59'598 e=f4|>.50 bits |verify |>.85'975 |>.25'927|>.34'702 |
|RSA 768 e=3 |>.62 bits |verify |>.114'546|>.47'151|>.67'016 |
|RSA 768 |>.61'520 |>.25'411 |>.35'704 e=f4|>.62 bits |verify |>.51'425 |>.23'467|>.36'163 |
|RSA 1024 e=3 |>.73 bits |verify |>.89'899 |>.41'223|>.57'059 |
|RSA 1024 e=f4|>.73 bits |>.41'377 |>.16'098 |>.26'314 |verify |>.40'736 |>.9'569 |>.26'082 |
|RSA 1536 e=3 |>.89 bits |verify |>.59'941 |>.33'632|>.33'338 |
|RSA 1536 e=f4|>.89 bits |>.22'148 |>.10'941 |>.13'607 |verify |>.20'979 |>.9'520 |>.12'731 |
|RSA 2048 e=3 |>.103 bits |verify |>.35'728 |>.22'385|>.16'076 |
|RSA 2048 e=f4|>.103 bits |verify |>.12'313 |>.5'140 |>.4'630 |>.13'500 |>.6'524 |
|RSA 3072 e=3 |>.125 bits |verify |>.16'474 |>.21'272|>.12'929 |
|RSA 3072 e=f4|>.125 bits |verify |>.6'318 |>.3'377 |>.2'305 |
|RSA 4096 e=3 |>.142 bits |verify |>.9'081 |>.4'894 |>.4'643 |
|RSA 4096 e=f4|>.142 bits |verify |>.2'975 |>.919 |>.8'345 |>.2'128 |
|RSA 6144 e=3 |>.171 bits |verify |>.3'758 |>.6'793 |>.2'666 |
|RSA 6144 e=f4|>.171 bits |verify |>.1'540 |>.1'047 |>.894 |
|RSA 8192 e=3 |>.193 bits |verify |>.3'039 |>.3'871 |>.1'204 |
|RSA 8192 e=f4|>.193 bits |verify |>.1'643 |>.579 |>.462 |
|ECDSA 256 |>.128 bits |verify |=._N/A_ |=._N/A_ |>.1'098 |>.1'143 |
|ECDSA 384 |>.192 bits |verify |=._N/A_ |=._N/A_ |>.484 |>.508 |
|ECDSA 521 512 |>.260 bits |verify |=._N/A_ |=._N/A_ |>.239 |>.255 |
_* = cryptographic strength estimates according to_ "RFC 3766":http://tools.ietf.org/html/rfc3766 _using_ "www.keylength.com":http://www.keylength.com
h3. Diffie-Hellman Key Exchange
|_.DH group|_.Strength|_.Operations/s|_.gmp |_.gcrypt |_.openssl |_.gmp* |_.gcrypt|_.openssl|_.gmp* |_.gcrypt*|_.openssl*|
|MODP 768 |>.62 bits |A=g^a mod p |>.1'631|>.756 |>.1'853 |>.790 |>.1'088 |>.1'040 |>.5'622 |>.2'151 |>.3'847|>.2'121 |>.2'786 |>.2'656 |
|MODP 1024 |>.73 bits |A=g^a mod p |>.805 |>.342 |>.862 |>.484 |>.347 |>.2'722|>.1'381 |>.491 |>.3'523 |>.1'352 |>.1'764 |>.1'689 |
|MODP 1536 |>.89 bits |A=g^a mod p |>.268 |>.130 |>.269 |>.99 |>.135 |>.168 |>.1'340|>.783 |>.1'612 |>.776 |>.873 |>.837 |
|MODP 2048 |>.103 bits|A=g^a mod p |>.121 |>.56 |>.70 |>.592 |>.320 |>.343 |
|MODP 3072 |>.125 bits|A=g^a mod p |>.117 |>.38 |>.20 |>.21 |>.55 |>.282 |>.172 |>.159 |
|MODP 4096 |>.142 bits|A=g^a mod p |>.16 |>.6 |>.8 |>.73 |>.125 |>.75 |>.70 |
|MODP 6144 |>.171 bits|A=g^a mod p |>.689 |>.5 |>.298 |>.2 |>.362 |>.3 |>.59 |>.38 |>.31 |
|MODP 8096 |>.193 bits|A=g^a mod p |>.2 |>.1 |>.0 |>.34 |>.22 |>.17 |
|ECP 192 |>.96 bits |A=g^a mod p |=._N/A_|=._N/A_ |>.988 |=._N/A_ |=._N/A_ |>.1'699 |=.- |=.- |=.- |
|ECP 224 |>.112 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.873 |=._N/A_ |=._N/A_ |>.1'494 |=.- |=.- |=.- |
|ECP 256 |>.128 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.823 |=._N/A_ |=._N/A_ |>.1'298 |=.- |=.- |=.- |
|ECP 384 |>.192 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.360 |=._N/A_ |=._N/A_ |>.591 |=.- |=.- |=.- |
|ECP 521 |>.260 bits|A=g^a bits |A=g^a mod p |=._N/A_|=._N/A_ |>.180 |=._N/A_ |=._N/A_ |>.306 |=.- |=.- |=.- |
|MODP 768 |>.62 bits |S=B^a mod p |>.1'931|>.565 |>.1'882 |>.595 |>.1'191 |>.1'119 |>.5'737 |>.1'779 |>.5'474|>.1792 |>.3'280 |>.3'300 |
|MODP 1024 |>.73 bits |S=B^a mod p |>.866 |>.232 |>.869 |>.382 |>.274 |>.3'271|>.1037 |>.535 |>.3'431 |>.1'035 |>.1'928 |>.1'993 |
|MODP 1536 |>.89 bits |S=B^a mod p |>.279 |>.88 |>.278 |>.98 |>.174 |>.1'648 |>.571 |>.135 |>.1'590|>.574 |>.920 |>.900 |
|MODP 2048 |>.103 bits|S=B^a mod p |>.123 |>.38 |>.50 |>.634 |>.216 |>.366 |
|MODP 3072 |>.125 bits|S=B^a mod p |>.122 |>.38 |>.13 |>.14 |>.289 |>.118 |>.165 |
|MODP 4096 |>.142 bits|S=B^a mod p |>.16 |>.4 |>.9 |>.74 |>.126 |>.49 |>.67 |
|MODP 6144 |>.171 bits|S=B^a mod p |>.660 |>.5 |>.214 |>.1 |>.380 |>.1 |>.61 |>.25 |>.31 |
|MODP 8096 |>.193 bits|S=B^a mod p |>.2 |>.0 |>.1 |>.39 |>.14 |>.18 |
|ECP 192 |>.96 bits |S=B^a mod p |=._N/A_|=._N/A_ |>.1'058 |=._N/A_ |=._N/A_ |>.1'727 |=.- |=.- |=.- |
|ECP 224 |>.112 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.963 |=._N/A_ |=._N/A_ |>.1'589 |=.- |=.- |=.- |
|ECP 256 |>.128 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.851 |=._N/A_ |=._N/A_ |>.1'423 |=.- |=.- |=.- |
|ECP 384 |>.192 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.364 |=._N/A_ |=._N/A_ |>.609 |=.- |=.- |=.- |
|ECP 521 |>.260 bits|S=B^a bits |S=B^a mod p |=._N/A_|=._N/A_ |>.210 |=._N/A_ |=._N/A_ |>.313 |=.- |=.- |=.- |
_* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no) as recommended by_ "RFC3526":http://tools.ietf.org/html/rfc3526#section-8
h2. 32bit, native on a Core2Duo T9400 (one core)
h3. Public Key Signature
|_.Key type|_.Strength*|_.Operations/s|_.gmp |_.gcrypt|_.openssl|
|RSA 512 |>.50 bits |sign (e=3) |>.3'708 |>.1'814 |>.2'286 |
|RSA 512 |>.50 bits |sign (e=f4) |>.3'946 |>.1'780 |>.2'150 |
|RSA 768 |>.62 bits |sign (e=3) |>.1'483 |>.625 |>.521 |
|RSA 768 |>.62 bits |sign (e=f4) |>.1'486 |>.626 |>.783 |
|RSA 1024 |>.73 bits |sign (e=3) |>.724 |>.301 |>.488 |
|RSA 1024 |>.73 bits |sign (e=f4) |>.722 |>.285 |>.475 |
|RSA 1536 |>.89 bits |sign (e=3) |>.242 |>.99 |>.117 |
|RSA 1536 |>.89 bits |sign (e=f4) |>.243 |>.98 |>.111 |
|RSA 2048 |>.103 bits |sign (e=3) |>.110 |>.30 |>.80 |
|RSA 2048 |>.103 bits |sign (e=f4) |>.109 |>.28 |>.89 |
|RSA 3072 |>.125 bits |sign (e=3) |>.35 |>.9 |>.33 |
|RSA 3072 |>.125 bits |sign (e=f4) |>.35 |>.15 |>.32 |
|RSA 4096 |>.142 bits |sign (e=3) |>.15 |>.6 |>.9 |
|RSA 4096 |>.142 bits |sign (e=f4) |>.15 |>.6 |>.9 |
|RSA 6144 |>.171 bits |sign (e=3) |>.4 |>.2 |>.3 |
|RSA 6144 |>.171 bits |sign (e=f4) |>.4 |>.2 |>.3 |
|RSA 8192 |>.193 bits |sign (e=3 ) |>.2 |>.1 |>.2 |
|RSA 8192 |>.193 bits |sign (e=f4) |>.2 |>.1 |>.1 |
|ECDSA 256 |>.128 bits |sign |=._N/A_ |=._N/A_ |>.546 |
|ECDSA 384 |>.192 bits |sign |=._N/A_ |=._N/A_ |>.233 |
|ECDSA 521 |>.260 bits |sign |=._N/A_ |=._N/A_ |>.113 |
|RSA 512 |>.50 bits |verify (e=3) |>.76'683|>.36'626|>.55'685 |
|RSA 512 |>.50 bits |verify (e=f4) |>.32'577|>.15'860|>.25'086 |
|RSA 768 |>.62 bits |verify (e=3) |>.52'707|>.31'167|>.37'112 |
|RSA 768 |>.62 bits |verify (e=f4) |>.17'375|>.10'054|>.15'034 |
|RSA 1024 |>.73 bits |verify (e=3) |>.37'826|>.25'688|>.28'879 |
|RSA 1024 |>.73 bits |verify (e=f4) |>.11'402|>.6'640 |>.10'380 |
|RSA 1536 |>.89 bits |verify (e=3) |>.22'143|>.18'505|>.10'393 |
|RSA 1536 |>.89 bits |verify (e=f4) |>.5'892 |>.3'770 |>.3'686 |
|RSA 2048 |>.103 bits |verify (e=3) |>.14'175|>.8'307 |>.11'625 |
|RSA 2048 |>.103 bits |verify (e=f4) |>.3'481 |>.1'423 |>.3'535 |
|RSA 3072 |>.125 bits |verify (e=3) |>.7'207 |>.4'930 |>.5'654 |
|RSA 3072 |>.125 bits |verify (e=f4) |>.1'729 |>.1'150 |>.1'857 |
|RSA 4096 |>.142 bits |verify (e=3) |>.5'887 |>.4'960 |>.2'263 |
|RSA 4096 |>.142 bits |verify (e=f4) |>.1'049 |>.684 |>.672 |
|RSA 6144 |>.171 bits |verify (e=3) |>.3'171 |>.2630 |>.977 |
|RSA 6144 |>.171 bits |verify (e=f4) |>.544 |>.335 |>.324 |
|RSA 8192 |>.193 bits |verify (e=3) |>.2'015 |>.1638 |>.839 |
|RSA 8192 |>.193 bits |verify (e=f4) |>.334 |>.194 |>.181 |
|ECDSA 256 |>.128 bits |verify |=._N/A_ |=._N/A_ |>.459 |
|ECDSA 384 |>.192 bits |verify |=._N/A_ |=._N/A_ |>.196 |
|ECDSA 521 |>.260 bits |verify |=._N/A_ |=._N/A_ |>.94 |
_* = cryptographic strength estimates according to_ "RFC 3766":http://tools.ietf.org/html/rfc3766 _using_ "www.keylength.com":http://www.keylength.com
h3. Diffie-Hellman Key Exchange
|_.DH group|_.Strength|_.Operations/s|_.gmp |_.gcrypt|_.openssl |_.gmp* |_.gcrypt*|_.openssl*|
|MODP 768 |>.62 bits |A=g^a mod p |>.468 |>.293 |>.371 |>.1'271|>.866 |>.1'060 |
|MODP 1024 |>.73 bits |A=g^a mod p |>.216 |>.136 |>.192 |>.792 |>.540 |>.706 |
|MODP 1536 |>.89 bits |A=g^a mod p |>.71 |>.46 |>.70 |>.395 |>.279 |>.379 |
|MODP 2048 |>.103 bits|A=g^a mod p |>.31 |>.20 |>.31 |>.161 |>.112 |>.155 |
|MODP 3072 |>.125 bits|A=g^a mod p |>.10 |>.6 |>.11 |>.77 |>.55 |>.81 |
|MODP 4096 |>.142 bits|A=g^a mod p |>.4 |>.3 |>.4 |>.34 |>.24 |>.35 |
|MODP 6144 |>.171 bits|A=g^a mod p |>.1 |>.1 |>.1 |>.17 |>.11 |>.17 |
|MODP 8096 |>.193 bits|A=g^a mod p |>.1 |>.1 |>.0 |>.11 |>.7 |>.10 |
|ECP 192 |>.96 bits |A=g^a mod p |=._N/A_|=._N/A_ |>.961 |=.- |=.- |=.- |
|ECP 224 |>.112 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.724 |=.- |=.- |=.- |
|ECP 256 |>.128 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.577 |=.- |=.- |=.- |
|ECP 384 |>.192 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.243 |=.- |=.- |=.- |
|ECP 521 |>.260 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.117 |=.- |=.- |=.- |
|MODP 768 |>.62 bits |S=B^a mod p |>.489 |>.205 |>.393 |>.1'418|>.618 |>.1'101 |
|MODP 1024 |>.73 bits |S=B^a mod p |>.222 |>.92 |>.195 |>.845 |>.372 |>.728 |
|MODP 1536 |>.89 bits |S=B^a mod p |>.71 |>.31 |>.71 |>.409 |>.188 |>.382 |
|MODP 2048 |>.103 bits|S=B^a mod p |>.31 |>.14 |>.31 |>.163 |>.74 |>.156 |
|MODP 3072 |>.125 bits|S=B^a mod p |>.10 |>.4 |>.11 |>.77 |>.36 |>.80 |
|MODP 4096 |>.142 bits|S=B^a mod p |>.4 |>.2 |>.4 |>.34 |>.16 |>.35 |
|MODP 6144 |>.171 bits|S=B^a mod p |>.1 |>.0 |>.1 |>.17 |>.7 |>.17 |
|MODP 8096 |>.193 bits|S=B^a mod p |>.1 |>.0 |>.1 |>.11 |>.4 |>.10 |
|ECP 192 |>.96 bits |S=B^a mod p |=._N/A_|=._N/A_ |>.950 |=.- |=.- |=.- |
|ECP 224 |>.112 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.716 |=.- |=.- |=.- |
|ECP 256 |>.128 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.564 |=.- |=.- |=.- |
|ECP 384 |>.192 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.239 |=.- |=.- |=.- |
|ECP 521 |>.260 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.116 |=.- |=.- |=.- |
_* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no) as recommended by_ "RFC3526":http://tools.ietf.org/html/rfc3526#section-8
h2. 64bit under VirtualBox, Core2Duo T9400 (one core):
h3. Public Key Signature
|_.Key type |_.Strength*|_.Operations/s|_.gmp type|_.Strength*|_.Operations/s|_.gmp |_.gcrypt|_.openssl| |_.gcrypt |_.openssl |
|RSA 512 e=3 |>.50 bits |sign |>.12'715 |>.3474 |>.13'082 |>.3'530 |>.7'405 |>.7'478 |
|RSA 512 e=f4|>.50 bits |sign |>.12'453 |>.3463 |>.4'471 |
|RSA 768 e=3 |>.62 bits |sign |>.5'414 |>.5'523 |>.1234 |>.1'603 |>.2'371 |>.3'154 |
|RSA 768 1024 e=f4|>.62 bits |sign |>.5'617 |>.1142 |>.2'974 |
|RSA 1024 e=3 |>.73 bits |sign |>.2'756 |>.2'742 |>.769 |>.766 |>.1'577 |>.1'565 |
|RSA 1024 e=f4|>.73 bits 1536 |sign |>.2'765 |>.516 |>.1'523 |
|RSA 1536 e=3 |>.89 bits |sign |>.980 |>.937 |>.181 |>.548 |>.285 |>.555 |
|RSA 1536 e=f4|>.89 bits 2048 |sign |>.978 |>.279 |>.525 |
|RSA 2048 e=3 |>.103 bits |sign |>.447 |>.433 |>.126 |>.160 |>.133 |
|RSA 2048 e=f4|>.103 bits |sign |>.453 |>.122 |>.147 |
|RSA 3072 e=3 |>.125 bits |sign |>.140 |>.45 |>.51 |>.258 |
|RSA 3072 e=f4|>.125 bits |sign |>.146 |>.44 |>.46 |
|RSA 4096 e=3 |>.142 bits |sign |>.71 |>.19 |>.36 |
|RSA 4096 e=f4|>.142 bits |sign |>.62 |>.11 |>.34 |
|RSA 6144 e=3 |>.171 bits |sign |>.19 |>.7 |>.11 |
|RSA 6144 e=f4|>.171 bits |sign |>.20 |>.6 |>.10 |
|RSA 8192 e=3 |>.193 bits |sign |>.7 |>.3 |>.4 |
|RSA 8192 e=f4|>.193 bits |sign |>.8 |>.3 |>.4 |
|ECDSA 256 |>.128 bits |sign |=._N/A_ |=._N/A_ |>.1'204 |>.1'267 |
|ECDSA 384 |>.192 bits |sign |=._N/A_ |=._N/A_ |>.551 |>.577 |
|ECDSA 521 |>.260 bits |sign |=._N/A_ |=._N/A_ |>.280 |>.291 |
|RSA 512 e=3 |>.50 bits |verify |>.131'663|>.50'944|>.86'962 |
|RSA 512 |>.103'733|>.36'197 |>.59'598 e=f4|>.50 bits |verify |>.85'975 |>.25'927|>.34'702 |
|RSA 768 e=3 |>.62 bits |verify |>.114'546|>.47'151|>.67'016 |
|RSA 768 |>.61'520 |>.25'411 |>.35'704 e=f4|>.62 bits |verify |>.51'425 |>.23'467|>.36'163 |
|RSA 1024 e=3 |>.73 bits |verify |>.89'899 |>.41'223|>.57'059 |
|RSA 1024 e=f4|>.73 bits |>.41'377 |>.16'098 |>.26'314 |verify |>.40'736 |>.9'569 |>.26'082 |
|RSA 1536 e=3 |>.89 bits |verify |>.59'941 |>.33'632|>.33'338 |
|RSA 1536 e=f4|>.89 bits |>.22'148 |>.10'941 |>.13'607 |verify |>.20'979 |>.9'520 |>.12'731 |
|RSA 2048 e=3 |>.103 bits |verify |>.35'728 |>.22'385|>.16'076 |
|RSA 2048 e=f4|>.103 bits |verify |>.12'313 |>.5'140 |>.4'630 |>.13'500 |>.6'524 |
|RSA 3072 e=3 |>.125 bits |verify |>.16'474 |>.21'272|>.12'929 |
|RSA 3072 e=f4|>.125 bits |verify |>.6'318 |>.3'377 |>.2'305 |
|RSA 4096 e=3 |>.142 bits |verify |>.9'081 |>.4'894 |>.4'643 |
|RSA 4096 e=f4|>.142 bits |verify |>.2'975 |>.919 |>.8'345 |>.2'128 |
|RSA 6144 e=3 |>.171 bits |verify |>.3'758 |>.6'793 |>.2'666 |
|RSA 6144 e=f4|>.171 bits |verify |>.1'540 |>.1'047 |>.894 |
|RSA 8192 e=3 |>.193 bits |verify |>.3'039 |>.3'871 |>.1'204 |
|RSA 8192 e=f4|>.193 bits |verify |>.1'643 |>.579 |>.462 |
|ECDSA 256 |>.128 bits |verify |=._N/A_ |=._N/A_ |>.1'098 |>.1'143 |
|ECDSA 384 |>.192 bits |verify |=._N/A_ |=._N/A_ |>.484 |>.508 |
|ECDSA 521 512 |>.260 bits |verify |=._N/A_ |=._N/A_ |>.239 |>.255 |
_* = cryptographic strength estimates according to_ "RFC 3766":http://tools.ietf.org/html/rfc3766 _using_ "www.keylength.com":http://www.keylength.com
h3. Diffie-Hellman Key Exchange
|_.DH group|_.Strength|_.Operations/s|_.gmp |_.gcrypt |_.openssl |_.gmp* |_.gcrypt|_.openssl|_.gmp* |_.gcrypt*|_.openssl*|
|MODP 768 |>.62 bits |A=g^a mod p |>.1'631|>.756 |>.1'853 |>.790 |>.1'088 |>.1'040 |>.5'622 |>.2'151 |>.3'847|>.2'121 |>.2'786 |>.2'656 |
|MODP 1024 |>.73 bits |A=g^a mod p |>.805 |>.342 |>.862 |>.484 |>.347 |>.2'722|>.1'381 |>.491 |>.3'523 |>.1'352 |>.1'764 |>.1'689 |
|MODP 1536 |>.89 bits |A=g^a mod p |>.268 |>.130 |>.269 |>.99 |>.135 |>.168 |>.1'340|>.783 |>.1'612 |>.776 |>.873 |>.837 |
|MODP 2048 |>.103 bits|A=g^a mod p |>.121 |>.56 |>.70 |>.592 |>.320 |>.343 |
|MODP 3072 |>.125 bits|A=g^a mod p |>.117 |>.38 |>.20 |>.21 |>.55 |>.282 |>.172 |>.159 |
|MODP 4096 |>.142 bits|A=g^a mod p |>.16 |>.6 |>.8 |>.73 |>.125 |>.75 |>.70 |
|MODP 6144 |>.171 bits|A=g^a mod p |>.689 |>.5 |>.298 |>.2 |>.362 |>.3 |>.59 |>.38 |>.31 |
|MODP 8096 |>.193 bits|A=g^a mod p |>.2 |>.1 |>.0 |>.34 |>.22 |>.17 |
|ECP 192 |>.96 bits |A=g^a mod p |=._N/A_|=._N/A_ |>.988 |=._N/A_ |=._N/A_ |>.1'699 |=.- |=.- |=.- |
|ECP 224 |>.112 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.873 |=._N/A_ |=._N/A_ |>.1'494 |=.- |=.- |=.- |
|ECP 256 |>.128 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.823 |=._N/A_ |=._N/A_ |>.1'298 |=.- |=.- |=.- |
|ECP 384 |>.192 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.360 |=._N/A_ |=._N/A_ |>.591 |=.- |=.- |=.- |
|ECP 521 |>.260 bits|A=g^a bits |A=g^a mod p |=._N/A_|=._N/A_ |>.180 |=._N/A_ |=._N/A_ |>.306 |=.- |=.- |=.- |
|MODP 768 |>.62 bits |S=B^a mod p |>.1'931|>.565 |>.1'882 |>.595 |>.1'191 |>.1'119 |>.5'737 |>.1'779 |>.5'474|>.1792 |>.3'280 |>.3'300 |
|MODP 1024 |>.73 bits |S=B^a mod p |>.866 |>.232 |>.869 |>.382 |>.274 |>.3'271|>.1037 |>.535 |>.3'431 |>.1'035 |>.1'928 |>.1'993 |
|MODP 1536 |>.89 bits |S=B^a mod p |>.279 |>.88 |>.278 |>.98 |>.174 |>.1'648 |>.571 |>.135 |>.1'590|>.574 |>.920 |>.900 |
|MODP 2048 |>.103 bits|S=B^a mod p |>.123 |>.38 |>.50 |>.634 |>.216 |>.366 |
|MODP 3072 |>.125 bits|S=B^a mod p |>.122 |>.38 |>.13 |>.14 |>.289 |>.118 |>.165 |
|MODP 4096 |>.142 bits|S=B^a mod p |>.16 |>.4 |>.9 |>.74 |>.126 |>.49 |>.67 |
|MODP 6144 |>.171 bits|S=B^a mod p |>.660 |>.5 |>.214 |>.1 |>.380 |>.1 |>.61 |>.25 |>.31 |
|MODP 8096 |>.193 bits|S=B^a mod p |>.2 |>.0 |>.1 |>.39 |>.14 |>.18 |
|ECP 192 |>.96 bits |S=B^a mod p |=._N/A_|=._N/A_ |>.1'058 |=._N/A_ |=._N/A_ |>.1'727 |=.- |=.- |=.- |
|ECP 224 |>.112 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.963 |=._N/A_ |=._N/A_ |>.1'589 |=.- |=.- |=.- |
|ECP 256 |>.128 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.851 |=._N/A_ |=._N/A_ |>.1'423 |=.- |=.- |=.- |
|ECP 384 |>.192 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.364 |=._N/A_ |=._N/A_ |>.609 |=.- |=.- |=.- |
|ECP 521 |>.260 bits|S=B^a bits |S=B^a mod p |=._N/A_|=._N/A_ |>.210 |=._N/A_ |=._N/A_ |>.313 |=.- |=.- |=.- |
_* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no) as recommended by_ "RFC3526":http://tools.ietf.org/html/rfc3526#section-8