Speed Comparison of Public Key Algorithms » History » Version 12
Andreas Steffen, 10.06.2009 16:57
computed RFC3766 values using www.keylength.com
1 | 1 | Martin Willi | h1. Speed comparison of public key algorithms |
---|---|---|---|
2 | 1 | Martin Willi | |
3 | 11 | Martin Willi | h2. 32bit, native on a Core2Duo T9400 (one core) |
4 | 11 | Martin Willi | |
5 | 11 | Martin Willi | h3. Diffie-Hellman Key Exchange |
6 | 11 | Martin Willi | |
7 | 11 | Martin Willi | |_.DH group|_.Strength|_.Operations/s|_.gmp |_.gcrypt |_.openssl |_.gmp* |_.gcrypt*|_.openssl*| |
8 | 11 | Martin Willi | |MODP 768 |>.62 bits |A=g^a mod p |>.468.3|>.293.5 |>.371.9 |>.1271.8|>.866.0 |>.1060.6 | |
9 | 11 | Martin Willi | |MODP 1024 |>.73 bits |A=g^a mod p |>.216.6|>.136.4 |>.192.6 |>.792.7 |>.540.5 |>.706.1 | |
10 | 11 | Martin Willi | |MODP 1536 |>.89 bits |A=g^a mod p |>.71.5 |>.46.7 |>.70.8 |>.395.2 |>.279.2 |>.379.1 | |
11 | 11 | Martin Willi | |MODP 2048 |>.103 bits|A=g^a mod p |>.31.9 |>.20.9 |>.31.5 |>.161.7 |>.112.6 |>.155.0 | |
12 | 12 | Andreas Steffen | |MODP 3072 |>.125 bits|A=g^a mod p |>.10.2 |>.6.8 |>.11.2 |>.77.3 |>.55.9 |>.81.3 | |
13 | 12 | Andreas Steffen | |MODP 4096 |>.142 bits|A=g^a mod p |>.4.5 |>.3.0 |>.4.8 |>.34.4 |>.24.5 |>.35.7 | |
14 | 12 | Andreas Steffen | |MODP 6144 |>.171 bits|A=g^a mod p |>.1.5 |>.1.0 |>.1.6 |>.17.8 |>.11.9 |>.17.7 | |
15 | 12 | Andreas Steffen | |MODP 8096 |>.193 bits|A=g^a mod p |>.0.7 |>.0.4 |>.0.7 |>.11.2 |>.7.0 |>.10.2 | |
16 | 11 | Martin Willi | |ECP 192 |>.96 bits |A=g^a mod p |=._N/A_|=._N/A_ |>.961.6 |=.- |=.- |=.- | |
17 | 11 | Martin Willi | |ECP 224 |>.112 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.724.8 |=.- |=.- |=.- | |
18 | 11 | Martin Willi | |ECP 256 |>.128 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.577.7 |=.- |=.- |=.- | |
19 | 11 | Martin Willi | |ECP 384 |>.192 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.243.2 |=.- |=.- |=.- | |
20 | 11 | Martin Willi | |ECP 521 |>.260 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.117.2 |=.- |=.- |=.- | |
21 | 11 | Martin Willi | |MODP 768 |>.62 bits |S=B^a mod p |>.489.3|>.205.7 |>.393.6 |>.1418.2|>.618.5 |>.1101.2 | |
22 | 11 | Martin Willi | |MODP 1024 |>.73 bits |S=B^a mod p |>.222.3|>.92.5 |>.195.4 |>.845.5 |>.372.9 |>.728.1 | |
23 | 11 | Martin Willi | |MODP 1536 |>.89 bits |S=B^a mod p |>.71.9 |>.31.4 |>.71.1 |>.409.7 |>.188.2 |>.382.7 | |
24 | 11 | Martin Willi | |MODP 2048 |>.103 bits|S=B^a mod p |>.31.9 |>.14.0 |>.31.6 |>.163.9 |>.74.5 |>.156.5 | |
25 | 12 | Andreas Steffen | |MODP 3072 |>.125 bits|S=B^a mod p |>.10.2 |>.4.6 |>.11.15 |>.77.8 |>.36.6 |>.80.6 | |
26 | 12 | Andreas Steffen | |MODP 4096 |>.142 bits|S=B^a mod p |>.4.5 |>.2.0 |>.4.8 |>.34.5 |>.16.2 |>.35.7 | |
27 | 12 | Andreas Steffen | |MODP 6144 |>.171 bits|S=B^a mod p |>.1.5 |>.0.7 |>.1.6 |>.17.8 |>.7.9 |>.17.6 | |
28 | 12 | Andreas Steffen | |MODP 8096 |>.193 bits|S=B^a mod p |>.0.6 |>.0.3 |>.0.7 |>.11.2 |>.4.5 |>.10.3 | |
29 | 11 | Martin Willi | |ECP 192 |>.96 bits |S=B^a mod p |=._N/A_|=._N/A_ |>.950.2 |=.- |=.- |=.- | |
30 | 11 | Martin Willi | |ECP 224 |>.112 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.716.9 |=.- |=.- |=.- | |
31 | 11 | Martin Willi | |ECP 256 |>.128 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.564.0 |=.- |=.- |=.- | |
32 | 11 | Martin Willi | |ECP 384 |>.192 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.239.1 |=.- |=.- |=.- | |
33 | 11 | Martin Willi | |ECP 521 |>.260 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.116.0 |=.- |=.- |=.- | |
34 | 11 | Martin Willi | |
35 | 11 | Martin Willi | _* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no) as recommended by_ "RFC3526":http://tools.ietf.org/html/rfc3526#section-8 |
36 | 11 | Martin Willi | |
37 | 4 | Martin Willi | h2. 32bit, User-Mode-Linux on a Core2Duo T9400 (one core) |
38 | 1 | Martin Willi | |
39 | 7 | Andreas Steffen | h3. Public Key Signature |
40 | 1 | Martin Willi | |
41 | 7 | Andreas Steffen | |_.Key type|_.Strength*|_.Operations/s|_.gmp |_.gcrypt |_.openssl | |
42 | 7 | Andreas Steffen | |RSA 512 |>.50 bits |sign |>.3'791 |>.1'831 |>.2'105 | |
43 | 7 | Andreas Steffen | |RSA 768 |>.62 bits |sign |>.1'519 |>.709 |>.810 | |
44 | 7 | Andreas Steffen | |RSA 1024 |>.73 bits |sign |>.713 |>.292 |>.485 | |
45 | 7 | Andreas Steffen | |RSA 1536 |>.89 bits |sign |>.240 |>.102 |>.184 | |
46 | 7 | Andreas Steffen | |RSA 2048 |>.103 bits |sign |>.110 |>.47 |>.93 | |
47 | 7 | Andreas Steffen | |ECDSA 256 |>.128 bits |sign |=._N/A_ |=._N/A_ |>.522 | |
48 | 7 | Andreas Steffen | |ECDSA 384 |>.192 bits |sign |=._N/A_ |=._N/A_ |>.226 | |
49 | 7 | Andreas Steffen | |ECDSA 521 |>.260 bits |sign |=._N/A_ |=._N/A_ |>.109 | |
50 | 7 | Andreas Steffen | |RSA 512 |>.50 bits |verify |>.29'630|>.16'667 |>.25'806 | |
51 | 7 | Andreas Steffen | |RSA 768 |>.62 bits |verify |>.18'182|>.10'714 |>.15'385 | |
52 | 7 | Andreas Steffen | |RSA 1024 |>.73 bits |verify |>.11'765|>.6'897 |>.11'111 | |
53 | 7 | Andreas Steffen | |RSA 1536 |>.89 bits |verify |>.5'882 |>.3'774 |>.5'882 | |
54 | 7 | Andreas Steffen | |RSA 2048 |>.103 bits |verify |>.3'571 |>.2'326 |>.3'704 | |
55 | 7 | Andreas Steffen | |ECDSA 256 |>.128 bits |verify |=._N/A_ |=._N/A_ |>.440 | |
56 | 7 | Andreas Steffen | |ECDSA 384 |>.192 bits |verify |=._N/A_ |=._N/A_ |>.180 | |
57 | 7 | Andreas Steffen | |ECDSA 521 |>.260 bits |verify |=._N/A_ |=._N/A_ |>.90 | |
58 | 6 | Andreas Steffen | |
59 | 12 | Andreas Steffen | _* = cryptographic strength estimates according to_ "RFC 3766":http://tools.ietf.org/html/rfc3766 _using_ "www.keylength.com":http://www.keylength.com |
60 | 7 | Andreas Steffen | |
61 | 7 | Andreas Steffen | h3. Diffie-Hellman Key Exchange |
62 | 7 | Andreas Steffen | |
63 | 7 | Andreas Steffen | |_.DH group|_.Strength|_.Operations/s|_.gmp |_.gcrypt |_.openssl |_.gmp* |_.gcrypt*|_.openssl*| |
64 | 7 | Andreas Steffen | |MODP 768 |>.62 bits |A=g^a mod p |>.368 |>.243 |>.212 |>.741 |>.531 |>.319 | |
65 | 7 | Andreas Steffen | |MODP 1024 |>.73 bits |A=g^a mod p |>.196 |>.125 |>.136 |>.494 |>.388 |>.272 | |
66 | 7 | Andreas Steffen | |MODP 1536 |>.89 bits |A=g^a mod p |>.68 |>.45 |>.62 |>.308 |>.220 |>.196 | |
67 | 7 | Andreas Steffen | |MODP 2048 |>.103 bits|A=g^a mod p |>.31 |>.21 |>.28 |>.149 |>.98 |>.116 | |
68 | 7 | Andreas Steffen | |ECP 192 |>.96 bits |A=g^a mod p |=._N/A_|=._N/A_ |>.166 |=.- |=.- |=.- | |
69 | 7 | Andreas Steffen | |ECP 224 |>.112 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.157 |=.- |=.- |=.- | |
70 | 7 | Andreas Steffen | |ECP 256 |>.128 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.148 |=.- |=.- |=.- | |
71 | 7 | Andreas Steffen | |ECP 384 |>.192 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.91 |=.- |=.- |=.- | |
72 | 7 | Andreas Steffen | |ECP 521 |>.260 bits|A=g^a mod p |=._N/A_|=._N/A_ |>.63 |=.- |=.- |=.- | |
73 | 7 | Andreas Steffen | |MODP 768 |>.62 bits |S=B^a mod p |>.448 |>.190 |>.290 |>.1176 |>.496 |>.541 | |
74 | 7 | Andreas Steffen | |MODP 1024 |>.73 bits |S=B^a mod p |>.213 |>.89 |>.167 |>.727 |>.320 |>.440 | |
75 | 7 | Andreas Steffen | |MODP 1536 |>.89 bits |S=B^a mod p |>.71 |>.31 |>.64 |>.385 |>.175 |>.286 | |
76 | 7 | Andreas Steffen | |MODP 2048 |>.103 bits|S=B^a mod p |>.32 |>.13 |>.30 |>.164 |>.71 |>.141 | |
77 | 7 | Andreas Steffen | |ECP 192 |>.96 bits |S=B^a mod p |=._N/A_|=._N/A_ |>.171 |=.- |=.- |=.- | |
78 | 7 | Andreas Steffen | |ECP 224 |>.112 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.162 |=.- |=.- |=.- | |
79 | 7 | Andreas Steffen | |ECP 256 |>.128 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.152 |=.- |=.- |=.- | |
80 | 7 | Andreas Steffen | |ECP 384 |>.192 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.91 |=.- |=.- |=.- | |
81 | 7 | Andreas Steffen | |ECP 521 |>.260 bits|S=B^a mod p |=._N/A_|=._N/A_ |>.65 |=.- |=.- |=.- | |
82 | 7 | Andreas Steffen | |
83 | 9 | Andreas Steffen | _* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no) as recommended by_ "RFC3526":http://tools.ietf.org/html/rfc3526#section-8 |
84 | 7 | Andreas Steffen | |
85 | 4 | Martin Willi | h2. 64bit under VirtualBox, Core2Duo T9400 (one core): |
86 | 4 | Martin Willi | |
87 | 7 | Andreas Steffen | h3. Public Key Signature |
88 | 5 | Andreas Steffen | |
89 | 7 | Andreas Steffen | |_.Key type|_.Strength*|_.Operations/s|_.gmp |_.gcrypt |_.openssl | |
90 | 7 | Andreas Steffen | |RSA 512 |>.50 bits |sign |>.13'082 |>.3'530 |>.7'478 | |
91 | 7 | Andreas Steffen | |RSA 768 |>.62 bits |sign |>.5'523 |>.1'603 |>.3'154 | |
92 | 7 | Andreas Steffen | |RSA 1024 |>.73 bits |sign |>.2'742 |>.766 |>.1'577 | |
93 | 7 | Andreas Steffen | |RSA 1536 |>.89 bits |sign |>.937 |>.285 |>.555 | |
94 | 7 | Andreas Steffen | |RSA 2048 |>.103 bits |sign |>.433 |>.133 |>.258 | |
95 | 7 | Andreas Steffen | |ECDSA 256 |>.128 bits |sign |=._N/A_ |=._N/A_ |>.1'267 | |
96 | 7 | Andreas Steffen | |ECDSA 384 |>.192 bits |sign |=._N/A_ |=._N/A_ |>.577 | |
97 | 7 | Andreas Steffen | |ECDSA 521 |>.260 bits |sign |=._N/A_ |=._N/A_ |>.291 | |
98 | 10 | Andreas Steffen | |RSA 512 |>.50 bits |verify |>.103'733|>.36'197 |>.59'598 | |
99 | 7 | Andreas Steffen | |RSA 768 |>.62 bits |verify |>.61'520 |>.25'411 |>.35'704 | |
100 | 7 | Andreas Steffen | |RSA 1024 |>.73 bits |verify |>.41'377 |>.16'098 |>.26'314 | |
101 | 7 | Andreas Steffen | |RSA 1536 |>.89 bits |verify |>.22'148 |>.10'941 |>.13'607 | |
102 | 7 | Andreas Steffen | |RSA 2048 |>.103 bits |verify |>.13'500 |>.6'524 |>.8'345 | |
103 | 7 | Andreas Steffen | |ECDSA 256 |>.128 bits |verify |=._N/A_ |=._N/A_ |>.1'143 | |
104 | 7 | Andreas Steffen | |ECDSA 384 |>.192 bits |verify |=._N/A_ |=._N/A_ |>.508 | |
105 | 7 | Andreas Steffen | |ECDSA 512 |>.260 bits |verify |=._N/A_ |=._N/A_ |>.255 | |
106 | 7 | Andreas Steffen | |
107 | 12 | Andreas Steffen | _* = cryptographic strength estimates according to_ "RFC 3766":http://tools.ietf.org/html/rfc3766 _using_ "www.keylength.com":http://www.keylength.com |
108 | 7 | Andreas Steffen | |
109 | 7 | Andreas Steffen | h3. Diffie-Hellman Key Exchange |
110 | 7 | Andreas Steffen | |
111 | 7 | Andreas Steffen | |_.DH group|_.Strength|_.Operations/s|_.gmp |_.gcrypt |_.openssl |_.gmp* |_.gcrypt*|_.openssl*| |
112 | 7 | Andreas Steffen | |MODP 768 |>.62 bits |A=g^a mod p |>.1'853 |>.790 |>.1'088 |>.5'622 |>.2'151 |>.2'656 | |
113 | 7 | Andreas Steffen | |MODP 1024 |>.73 bits |A=g^a mod p |>.862 |>.347 |>.491 |>.3'523 |>.1'352 |>.1'689 | |
114 | 7 | Andreas Steffen | |MODP 1536 |>.89 bits |A=g^a mod p |>.269 |>.135 |>.168 |>.1'612 |>.776 |>.837 | |
115 | 7 | Andreas Steffen | |MODP 2048 |>.103 bits|A=g^a mod p |>.117 |>.55 |>.73 |>.689 |>.298 |>.362 | |
116 | 7 | Andreas Steffen | |ECP 192 |>.96 bits |A=g^a mod p |=._N/A_ |=._N/A_ |>.1'699 |=.- |=.- |=.- | |
117 | 7 | Andreas Steffen | |ECP 224 |>.112 bits|A=g^a mod p |=._N/A_ |=._N/A_ |>.1'494 |=.- |=.- |=.- | |
118 | 7 | Andreas Steffen | |ECP 256 |>.128 bits|A=g^a mod p |=._N/A_ |=._N/A_ |>.1'298 |=.- |=.- |=.- | |
119 | 7 | Andreas Steffen | |ECP 384 |>.192 bits|A=g^a mod p |=._N/A_ |=._N/A_ |>.591 |=.- |=.- |=.- | |
120 | 7 | Andreas Steffen | |ECP 521 |>.260 bits |A=g^a mod p |=._N/A_ |=._N/A_ |>.306 |=.- |=.- |=.- | |
121 | 7 | Andreas Steffen | |MODP 768 |>.62 bits |S=B^a mod p |>.1'882 |>.595 |>.1'191 |>.5'737 |>.1'779 |>.3'280 | |
122 | 7 | Andreas Steffen | |MODP 1024 |>.73 bits |S=B^a mod p |>.869 |>.274 |>.535 |>.3'431 |>.1'035 |>.1'928 | |
123 | 7 | Andreas Steffen | |MODP 1536 |>.89 bits |S=B^a mod p |>.278 |>.98 |>.174 |>.1'648 |>.571 |>.900 | |
124 | 7 | Andreas Steffen | |MODP 2048 |>.103 bits|S=B^a mod p |>.122 |>.38 |>.74 |>.660 |>.214 |>.380 | |
125 | 7 | Andreas Steffen | |ECP 192 |>.96 bits |S=B^a mod p |=._N/A_ |=._N/A_ |>.1'727 |=.- |=.- |=.- | |
126 | 7 | Andreas Steffen | |ECP 224 |>.112 bits|S=B^a mod p |=._N/A_ |=._N/A_ |>.1'589 |=.- |=.- |=.- | |
127 | 7 | Andreas Steffen | |ECP 256 |>.128 bits|S=B^a mod p |=._N/A_ |=._N/A_ |>.1'423 |=.- |=.- |=.- | |
128 | 7 | Andreas Steffen | |ECP 384 |>.192 bits|S=B^a mod p |=._N/A_ |=._N/A_ |>.609 |=.- |=.- |=.- | |
129 | 7 | Andreas Steffen | |ECP 521 |>.260 bits |S=B^a mod p |=._N/A_ |=._N/A_ |>.313 |=.- |=.- |=.- | |
130 | 1 | Martin Willi | |
131 | 9 | Andreas Steffen | _* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no) as recommended by_ "RFC3526":http://tools.ietf.org/html/rfc3526#section-8 |