Project

General

Profile

Speed Comparison of Public Key Algorithms » History » Version 32

Tobias Brunner, 21.09.2016 17:31
Add some new data

1 1 Martin Willi
h1. Speed Comparison of Public Key Algorithms
2 28 Andreas Steffen
3 28 Andreas Steffen
{{>toc}}
4 1 Martin Willi
5 30 Tobias Brunner
These numbers were determined with the _dh_speed_ and _pubkey_speed_ utilities provided in source:scripts.
6 30 Tobias Brunner
7 32 Tobias Brunner
8 32 Tobias Brunner
h2. 64 bit on Intel Xeon E5-2630v3 2.4 GHz (one core):
9 32 Tobias Brunner
10 32 Tobias Brunner
h3. Public Key Signature - Generation
11 32 Tobias Brunner
12 32 Tobias Brunner
|_.Key type   |_.Strength*   |_.Operations/s|_.gmp    |_.gcrypt|_.openssl |
13 32 Tobias Brunner
|/2.RSA 512   |/2>.50 bits   |sign (e=3)    |>.19'352 |>.5'075 |>.15'571  |
14 32 Tobias Brunner
                             |sign (e=f4)   |>.18'921 |>.5'668 |>.13'324  |
15 32 Tobias Brunner
|/2.RSA 768   |/2>.62 bits   |sign (e=3)    |>.7'779  |>.2'776 |>.7'020   |
16 32 Tobias Brunner
                             |sign (e=f4)   |>.9'675  |>.2'794 |>.8'202   |
17 32 Tobias Brunner
|/2.RSA 1024  |/2>.73 bits   |sign (e=3)    |>.4'264  |>.1'333 |>.4'694   |
18 32 Tobias Brunner
                             |sign (e=f4)   |>.3'775  |>.1'147 |>.4'826   |
19 32 Tobias Brunner
|/2.RSA 1536  |/2>.89 bits   |sign (e=3)    |>.1'201  |>.490   |>.1'236   |
20 32 Tobias Brunner
                             |sign (e=f4)   |>.1'183  |>.574   |>.1'248   |
21 32 Tobias Brunner
|/2.RSA 2048  |/2>.103 bits  |sign (e=3)    |>.471    |>.274   |>.822     |
22 32 Tobias Brunner
                             |sign (e=f4)   |>.548    |>.230   |>.800     |
23 32 Tobias Brunner
|/2.*RSA 3072*|/2>.*125 bits*|*sign (e=3)*  |>.*116*  |>.*64*  |>.*152*   |
24 32 Tobias Brunner
                             |*sign (e=f4)* |>.*112*  |>.*64*  |>.*157*   |
25 32 Tobias Brunner
|/2.RSA 4096  |/2>.142 bits  |sign (e=3)    |>.52     |>.30    |>.74      |
26 32 Tobias Brunner
                             |sign (e=f4)   |>.51     |>.31    |>.72      |
27 32 Tobias Brunner
|/2.RSA 6144  |/2>.171 bits  |sign (e=3)    |>.17     |>.11    |>.29      |
28 32 Tobias Brunner
                             |sign (e=f4)   |>.17     |>.11    |>.28      |
29 32 Tobias Brunner
|/2.RSA 8192  |/2>.193 bits  |sign (e=3)    |>.8      |>.5     |>.13      |
30 32 Tobias Brunner
                             |sign (e=f4)   |>.8      |>.5     |>.13      |
31 32 Tobias Brunner
|*ECDSA 256*  |>.*128 bits*  |*sign*        |=._N/A_  |=._N/A_ |>.*11'934*|
32 32 Tobias Brunner
|ECDSA 384    |>.192 bits    |sign          |=._N/A_  |=._N/A_ |>.1049    |
33 32 Tobias Brunner
|ECDSA 521    |>.260 bits    |sign          |=._N/A_  |=._N/A_ |>.1731    |
34 32 Tobias Brunner
35 32 Tobias Brunner
_* = cryptographic strength estimates according to_ "RFC 3766":http://tools.ietf.org/html/rfc3766 _using_ "www.keylength.com":http://www.keylength.com
36 32 Tobias Brunner
37 32 Tobias Brunner
h3. Public Key Signature - Verification
38 32 Tobias Brunner
39 32 Tobias Brunner
|_.Key type   |_.Strength    |_.Operations/s |_.gmp    |_.gcrypt  |_.openssl |
40 32 Tobias Brunner
|/2.RSA 512   |/2>.50 bits   |verify (e=3)   |>.50'736 |>.88'586  |>.208'418 |
41 32 Tobias Brunner
                             |verify (e=f4)  |>.50'739 |>.55'714  |>.127'066 |
42 32 Tobias Brunner
|/2.RSA 768   |/2>.62 bits   |verify (e=3)   |>.27'278 |>.81'614  |>.171'022 |
43 32 Tobias Brunner
                             |verify (e=f4)  |>.34'774 |>.40'800  |>.128'251 |
44 32 Tobias Brunner
|/2.RSA 1024  |/2>.73 bits   |verify (e=3)   |>.18'577 |>.74'595  |>.116'195 |
45 32 Tobias Brunner
                             |verify (e=f4)  |>.18'579 |>.30'782  |>.64'122  |
46 32 Tobias Brunner
|/2.RSA 1536  |/2>.89 bits   |verify (e=3)   |>.7'496  |>.64'670  |>.81'471  |
47 32 Tobias Brunner
                             |verify (e=f4)  |>.7'486  |>.19'712  |>.36'715  |
48 32 Tobias Brunner
|/2.RSA 2048  |/2>.103 bits  |verify (e=3)   |>.4'328  |>.54'602  |>.51'670  |
49 32 Tobias Brunner
                             |verify (e=f4)  |>.4'330  |>.12'047  |>.21'686  |
50 32 Tobias Brunner
|/2.*RSA 3072*|/2>.*125 bits*|*verify (e=3)* |>.*1'590*|>.*28'473*|>.*22'716*|
51 32 Tobias Brunner
                             |*verify (e=f4)*|>.*1'511*|>.*5'603* |>.*8'787* |
52 32 Tobias Brunner
|/2.RSA 4096  |/2>.142 bits  |verify (e=3)   |>.962    |>.20'399   |>.14'725  |
53 32 Tobias Brunner
                             |verify (e=f4)  |>.953    |>.3'562    |>.5'326   |
54 32 Tobias Brunner
|/2.RSA 6144  |/2>.171 bits  |verify (e=3)   |>.460    |>.13'786   |>.7'756   |
55 32 Tobias Brunner
                             |verify (e=f4)  |>.454    |>.1'813    |>.2'902   |
56 32 Tobias Brunner
|/2.RSA 8192  |/2>.193 bits  |verify (e=3)   |>.270    |>.7'269    |>.3'894   |
57 32 Tobias Brunner
                             |verify (e=f4)  |>.271    |>.1'105    |>.1'833   |
58 32 Tobias Brunner
|*ECDSA 256*  |>.*128 bits*  |*verify*       |=._N/A_  |=._N/A_    |>.*6'370* |
59 32 Tobias Brunner
|ECDSA 384    |>.192 bits    |verify         |=._N/A_  |=._N/A_    |>.1155    |
60 32 Tobias Brunner
|ECDSA 521    |>.260 bits    |verify         |=._N/A_  |=._N/A_    |>.1052    |
61 32 Tobias Brunner
62 32 Tobias Brunner
63 32 Tobias Brunner
h3. Diffie-Hellman Key Exchange
64 32 Tobias Brunner
65 32 Tobias Brunner
66 32 Tobias Brunner
|_.DH group    |_.Strength    |_.Operations/s|_.gmp  |_.gcrypt|_.openssl|_.gmp* |_.gcrypt*|_.openssl*|
67 32 Tobias Brunner
|/2.MODP 768   |/2>.62 bits   |A=g^a mod p   |>.2'339|>.1'346 |>.2'761  |>.5'637|>.2'928  |>.6'990   |
68 32 Tobias Brunner
                              |S=B^a mod p   |>.3'492|>.1'270 |>.3'816  |>.7'633|>.3'671  |>.7'784   |
69 32 Tobias Brunner
|/2.MODP 1024  |/2>.73 bits   |A=g^a mod p   |>.1'498|>.674   |>.2'075  |>.3'772|>.2'691  |>.4'707   |
70 32 Tobias Brunner
                              |S=B^a mod p   |>.1'597|>.626   |>.3'408  |>.4'567|>.2'393  |>.5'154   |
71 32 Tobias Brunner
|/2.MODP 1536  |/2>.89 bits   |A=g^a mod p   |>.485  |>.255   |>.673    |>.2'559|>.1'568  |>.3'088   |
72 32 Tobias Brunner
                              |S=B^a mod p   |>.493  |>.232   |>.679    |>.2'800|>.1'318  |>.3'405   |
73 32 Tobias Brunner
|/2.MODP 2048  |/2>.103 bits  |A=g^a mod p   |>.212  |>.124   |>.294    |>.1'047|>.675    |>.1'456   |
74 32 Tobias Brunner
                              |S=B^a mod p   |>.214  |>.111   |>.295    |>.1'085|>.574    |>.1'486   |
75 32 Tobias Brunner
|/2.*MODP 3072*|/2>.*125 bits*|*A=g^a mod p* |>.*63* |>.*43*  |>.*81*   |>.*372*|>.*265*  |>.*505*   |
76 32 Tobias Brunner
                              |*S=B^a mod p* |>.*67* |>.*38*  |>.*91*   |>.*449*|>.*294*  |>.*513*   |
77 32 Tobias Brunner
|/2.MODP 4096  |/2>.142 bits  |A=g^a mod p   |>.29   |>.20    |>.39     |>.217  |>.165    |>.291     |
78 32 Tobias Brunner
                              |S=B^a mod p   |>.29   |>.18    |>.39     |>.218  |>.137    |>.297     |
79 32 Tobias Brunner
|/2.MODP 6144  |/2>.171 bits  |A=g^a mod p   |>.9    |>.6     |>.9      |>.62   |>.56     |>.132     |
80 32 Tobias Brunner
                              |S=B^a mod p   |>.9    |>.6     |>.11     |>.74   |>.52     |>.134     |
81 32 Tobias Brunner
|/2.MODP 8192  |/2>.193 bits  |A=g^a mod p   |>.4    |>.3     |>.5      |>.42   |>.38     |>.74      |
82 32 Tobias Brunner
                              |S=B^a mod p   |>.4    |>.3     |>.5      |>.42   |>.34     |>.75      |
83 32 Tobias Brunner
|/2.ECP 192    |/2>.96 bits   |A=g^a mod p   |=._N/A_|=._N/A_ |>.1'415  |\3/10=.-|
84 32 Tobias Brunner
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.4'778  |
85 32 Tobias Brunner
|/2.ECP 224    |/2>.112 bits  |A=g^a mod p   |=._N/A_|=._N/A_ |>.3'965  |
86 32 Tobias Brunner
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.11'094 |
87 32 Tobias Brunner
|/2.*ECP 256*  |/2>.*128 bits*|*A=g^a mod p* |=._N/A_|=._N/A_ |>.*5'192*|
88 32 Tobias Brunner
                              |*S=B^a mod p* |=._N/A_|=._N/A_ |>.*13'102*|
89 32 Tobias Brunner
|/2.ECP 384    |/2>.192 bits  |A=g^a mod p   |=._N/A_|=._N/A_ |>.444    |
90 32 Tobias Brunner
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.1'455  |
91 32 Tobias Brunner
|/2.ECP 521    |/2>.260 bits  |A=g^a mod p   |=._N/A_|=._N/A_ |>.743    |
92 32 Tobias Brunner
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.2'060  |
93 32 Tobias Brunner
94 32 Tobias Brunner
_* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no) as recommended by_ "RFC3526":http://tools.ietf.org/html/rfc3526#section-8
95 32 Tobias Brunner
96 19 Andreas Steffen
h2. 32 bit, native on a Core2Duo T9400 (one core)
97 19 Andreas Steffen
98 25 Andreas Steffen
h3. Public Key Signature - Generation
99 13 Martin Willi
100 26 Andreas Steffen
|_.Key type   |_.Strength*   |_.Operations/s|_.gmp   |_.gcrypt|_.openssl|
101 26 Andreas Steffen
|/2.RSA 512   |/2>.50 bits   |sign (e=3)    |>.3'708 |>.1'814 |>.2'286  |
102 26 Andreas Steffen
                             |sign (e=f4)   |>.3'946 |>.1'780 |>.2'150  |
103 26 Andreas Steffen
|/2.RSA 768   |/2>.62 bits   |sign (e=3)    |>.1'483 |>.625   |>.521    |
104 26 Andreas Steffen
                             |sign (e=f4)   |>.1'486 |>.626   |>.783    |
105 26 Andreas Steffen
|/2.RSA 1024  |/2>.73 bits   |sign (e=3)    |>.724   |>.301   |>.488    |
106 26 Andreas Steffen
                             |sign (e=f4)   |>.722   |>.285   |>.475    |
107 26 Andreas Steffen
|/2.RSA 1536  |/2>.89 bits   |sign (e=3)    |>.242   |>.99    |>.117    |
108 26 Andreas Steffen
                             |sign (e=f4)   |>.243   |>.98    |>.111    |
109 26 Andreas Steffen
|/2.RSA 2048  |/2>.103 bits  |sign (e=3)    |>.110   |>.30    |>.80     |
110 26 Andreas Steffen
                             |sign (e=f4)   |>.109   |>.28    |>.89     |
111 26 Andreas Steffen
|/2.*RSA 3072*|/2>.*125 bits*|*sign (e=3)*  |>.*35*  |>.*9*   |>.*33*   |
112 26 Andreas Steffen
                             |*sign (e=f4)* |>.*35*  |>.*15*  |>.*32*   |
113 26 Andreas Steffen
|/2.RSA 4096  |/2>.142 bits  |sign (e=3)    |>.15    |>.6     |>.9      |
114 26 Andreas Steffen
                             |sign (e=f4)   |>.15    |>.6     |>.9      |
115 26 Andreas Steffen
|/2.RSA 6144  |/2>.171 bits  |sign (e=3)    |>.4     |>.2     |>.3      |
116 26 Andreas Steffen
                             |sign (e=f4)   |>.4     |>.2     |>.3      |
117 26 Andreas Steffen
|/2.RSA 8192  |/2>.193 bits  |sign (e=3 )   |>.2     |>.1     |>.2      |
118 26 Andreas Steffen
                             |sign (e=f4)   |>.2     |>.1     |>.1      |
119 26 Andreas Steffen
|*ECDSA 256*  |>.*128 bits*  |*sign*        |=._N/A_ |=._N/A_ |>.*546*  |
120 26 Andreas Steffen
|ECDSA 384    |>.192 bits    |sign          |=._N/A_ |=._N/A_ |>.233    |
121 26 Andreas Steffen
|ECDSA 521    |>.260 bits    |sign          |=._N/A_ |=._N/A_ |>.113    |
122 25 Andreas Steffen
123 25 Andreas Steffen
_* = cryptographic strength estimates according to_ "RFC 3766":http://tools.ietf.org/html/rfc3766 _using_ "www.keylength.com":http://www.keylength.com
124 25 Andreas Steffen
125 25 Andreas Steffen
h3. Public Key Signature - Verification
126 25 Andreas Steffen
127 29 Andreas Steffen
|_.Key type   |_.Strength    |_.Operations/s |_.gmp    |_.gcrypt |_.openssl|
128 26 Andreas Steffen
|/2.RSA 512   |/2>.50 bits   |verify (e=3)   |>.76'683 |>.36'626 |>.55'685 |
129 26 Andreas Steffen
                             |verify (e=f4)  |>.32'577 |>.15'860 |>.25'086 |
130 26 Andreas Steffen
|/2.RSA 768   |/2>.62 bits   |verify (e=3)   |>.52'707 |>.31'167 |>.37'112 |
131 26 Andreas Steffen
                             |verify (e=f4)  |>.17'375 |>.10'054 |>.15'034 |
132 26 Andreas Steffen
|/2.RSA 1024  |/2>.73 bits   |verify (e=3)   |>.37'826 |>.25'688 |>.28'879 |
133 26 Andreas Steffen
                             |verify (e=f4)  |>.11'402 |>.6'640  |>.10'380 |
134 26 Andreas Steffen
|/2.RSA 1536  |/2>.89 bits   |verify (e=3)   |>.22'143 |>.18'505 |>.10'393 |
135 26 Andreas Steffen
                             |verify (e=f4)  |>.5'892  |>.3'770  |>.3'686  |
136 26 Andreas Steffen
|/2.RSA 2048  |/2>.103 bits  |verify (e=3)   |>.14'175 |>.8'307  |>.11'625 |
137 26 Andreas Steffen
                             |verify (e=f4)  |>.3'481  |>.1'423  |>.3'535  |
138 26 Andreas Steffen
|/2.*RSA 3072*|/2>.*125 bits*|*verify (e=3)* |>.*7'207*|>.*4'930*|>.*5'654*|
139 26 Andreas Steffen
                             |*verify (e=f4)*|>.*1'729*|>.*1'150*|>.*1'857*|
140 26 Andreas Steffen
|/2.RSA 4096  |/2>.142 bits  |verify (e=3)   |>.5'887  |>.4'960  |>.2'263  |
141 26 Andreas Steffen
                             |verify (e=f4)  |>.1'049  |>.684    |>.672    |
142 26 Andreas Steffen
|/2.RSA 6144  |/2>.171 bits  |verify (e=3)   |>.3'171  |>.2630   |>.977    |
143 26 Andreas Steffen
                             |verify (e=f4)  |>.544    |>.335    |>.324    |
144 26 Andreas Steffen
|/2.RSA 8192  |/2>.193 bits  |verify (e=3)   |>.2'015  |>.1638   |>.839    |
145 26 Andreas Steffen
                             |verify (e=f4)  |>.334    |>.194    |>.181    |
146 26 Andreas Steffen
|*ECDSA 256*  |>.*128 bits*  |*verify*       |=._N/A_  |=._N/A_  |>.*459*  |
147 26 Andreas Steffen
|ECDSA 384    |>.192 bits    |verify         |=._N/A_  |=._N/A_  |>.196    |
148 26 Andreas Steffen
|ECDSA 521    |>.260 bits    |verify         |=._N/A_  |=._N/A_  |>.94     |
149 13 Martin Willi
150 13 Martin Willi
151 11 Martin Willi
h3. Diffie-Hellman Key Exchange
152 11 Martin Willi
153 26 Andreas Steffen
|_.DH group    |_.Strength    |_.Operations/s|_.gmp  |_.gcrypt|_.openssl |_.gmp* |_.gcrypt*|_.openssl*|
154 26 Andreas Steffen
|/2.MODP 768   |/2>.62 bits   |A=g^a mod p   |>.468  |>.293   |>.371     |>.1'271|>.866    |>.1'060   |
155 26 Andreas Steffen
                              |S=B^a mod p   |>.489  |>.205   |>.393     |>.1'418|>.618    |>.1'101   |
156 26 Andreas Steffen
|/2.MODP 1024  |/2>.73 bits   |A=g^a mod p   |>.216  |>.136   |>.192     |>.792  |>.540    |>.706     |
157 26 Andreas Steffen
                              |S=B^a mod p   |>.222  |>.92    |>.195     |>.845  |>.372    |>.728     |
158 26 Andreas Steffen
|/2.MODP 1536  |/2>.89 bits   |A=g^a mod p   |>.71   |>.46    |>.70      |>.395  |>.279    |>.379     |
159 26 Andreas Steffen
                              |S=B^a mod p   |>.71   |>.31    |>.71      |>.409  |>.188    |>.382     |
160 26 Andreas Steffen
|/2.MODP 2048  |/2>.103 bits  |A=g^a mod p   |>.31   |>.20    |>.31      |>.161  |>.112    |>.155     |
161 26 Andreas Steffen
                              |S=B^a mod p   |>.31   |>.14    |>.31      |>.163  |>.74     |>.156     |
162 26 Andreas Steffen
|/2.*MODP 3072*|/2>.*125 bits*|*A=g^a mod p* |>.*10* |>.*6*   |>.*11*    |>.*77* |>.*55*   |>.*81*    |
163 26 Andreas Steffen
                              |*S=B^a mod p* |>.*10* |>.*4*   |>.*11*    |>.*77* |>.*36*   |>.*80*    |
164 26 Andreas Steffen
|/2.MODP 4096  |/2>.142 bits  |A=g^a mod p   |>.4    |>.3     |>.4       |>.34   |>.24     |>.35      |
165 26 Andreas Steffen
                              |S=B^a mod p   |>.4    |>.2     |>.4       |>.34   |>.16     |>.35      |
166 26 Andreas Steffen
|/2.MODP 6144  |/2>.171 bits  |A=g^a mod p   |>.1    |>.1     |>.1       |>.17   |>.11     |>.17      |
167 26 Andreas Steffen
                              |S=B^a mod p   |>.1    |>.0     |>.1       |>.17   |>.7      |>.17      |
168 31 Anonymous
|/2.MODP 8192  |/2>.193 bits  |A=g^a mod p   |>.1    |>.1     |>.0       |>.11   |>.7      |>.10      |
169 26 Andreas Steffen
                              |S=B^a mod p   |>.1    |>.0     |>.1       |>.11   |>.4      |>.10      |
170 26 Andreas Steffen
|/2.ECP 192    |/2>.96 bits   |A=g^a mod p   |=._N/A_|=._N/A_ |>.961     |\3/10=.-|
171 26 Andreas Steffen
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.950     |
172 26 Andreas Steffen
|/2.ECP 224    |/2>.112 bits  |A=g^a mod p   |=._N/A_|=._N/A_ |>.724     |
173 26 Andreas Steffen
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.716     |
174 26 Andreas Steffen
|/2.*ECP 256*  |/2>.*128 bits*|*A=g^a mod p* |=._N/A_|=._N/A_ |>.*577*   |
175 26 Andreas Steffen
                              |*S=B^a mod p* |=._N/A_|=._N/A_ |>.*564*   |
176 26 Andreas Steffen
|/2.ECP 384    |/2>.192 bits  |A=g^a mod p   |=._N/A_|=._N/A_ |>.243     |
177 26 Andreas Steffen
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.239     |
178 26 Andreas Steffen
|/2.ECP 521    |/2>.260 bits  |A=g^a mod p   |=._N/A_|=._N/A_ |>.117     |
179 26 Andreas Steffen
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.116     |
180 11 Martin Willi
181 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
182 19 Andreas Steffen
183 1 Martin Willi
h2. 64 bit, under VirtualBox, Core2Duo T9400 (one core):
184 4 Martin Willi
185 25 Andreas Steffen
h3. Public Key Signature - Generation
186 5 Andreas Steffen
187 27 Andreas Steffen
|_.Key type   |_.Strength*   |_.Operations/s|_.gmp    |_.gcrypt|_.openssl|
188 27 Andreas Steffen
|/2.RSA 512   |/2>.50 bits   |sign (e=3)    |>.12'715 |>.3474  |>.7'405  |
189 27 Andreas Steffen
                             |sign (e=f4)   |>.12'453 |>.3463  |>.4'471  |
190 27 Andreas Steffen
|/2.RSA 768   |/2>.62 bits   |sign (e=3)    |>.5'414  |>.1234  |>.2'371  |
191 27 Andreas Steffen
                             |sign (e=f4)   |>.5'617  |>.1142  |>.2'974  |
192 27 Andreas Steffen
|/2.RSA 1024  |/2>.73 bits   |sign (e=3)    |>.2'756  |>.769   |>.1'565  |
193 27 Andreas Steffen
                             |sign (e=f4)   |>.2'765  |>.516   |>.1'523  |
194 27 Andreas Steffen
|/2.RSA 1536  |/2>.89 bits   |sign (e=3)    |>.980    |>.181   |>.548    |
195 27 Andreas Steffen
                             |sign (e=f4)   |>.978    |>.279   |>.525    |
196 27 Andreas Steffen
|/2.RSA 2048  |/2>.103 bits  |sign (e=3)    |>.447    |>.126   |>.160    |
197 27 Andreas Steffen
                             |sign (e=f4)   |>.453    |>.122   |>.147    |
198 27 Andreas Steffen
|/2.*RSA 3072*|/2>.*125 bits*|*sign (e=3)*  |>.*140*  |>.*45*  |>.*51*   |
199 27 Andreas Steffen
                             |*sign (e=f4)* |>.*146*  |>.*44*  |>.*46*   |
200 27 Andreas Steffen
|/2.RSA 4096  |/2>.142 bits  |sign (e=3)    |>.71     |>.19    |>.36     |
201 27 Andreas Steffen
                             |sign (e=f4)   |>.62     |>.11    |>.34     |
202 27 Andreas Steffen
|/2.RSA 6144  |/2>.171 bits  |sign (e=3)    |>.19     |>.7     |>.11     |
203 27 Andreas Steffen
                             |sign (e=f4)   |>.20     |>.6     |>.10     |
204 27 Andreas Steffen
|/2.RSA 8192  |/2>.193 bits  |sign (e=3)    |>.7      |>.3     |>.4      |
205 27 Andreas Steffen
                             |sign (e=f4)   |>.8      |>.3     |>.4      |
206 27 Andreas Steffen
|*ECDSA 256*  |>.*128 bits*  |*sign*        |=._N/A_  |=._N/A_ |>.*1'204*|
207 27 Andreas Steffen
|ECDSA 384    |>.192 bits    |sign          |=._N/A_  |=._N/A_ |>.551    |
208 27 Andreas Steffen
|ECDSA 521    |>.260 bits    |sign          |=._N/A_  |=._N/A_ |>.280    |
209 25 Andreas Steffen
210 25 Andreas Steffen
_* = cryptographic strength estimates according to_ "RFC 3766":http://tools.ietf.org/html/rfc3766 _using_ "www.keylength.com":http://www.keylength.com
211 25 Andreas Steffen
212 1 Martin Willi
h3. Public Key Signature - Verification
213 25 Andreas Steffen
214 29 Andreas Steffen
|_.Key type   |_.Strength    |_.Operations/s |_.gmp     |_.gcrypt  |_.openssl |
215 27 Andreas Steffen
|/2.RSA 512   |/2>.50 bits   |verify (e=3)   |>.131'663 |>.50'944  |>.86'962  |
216 27 Andreas Steffen
                             |verify (e=f4)  |>.85'975  |>.25'927  |>.34'702  |
217 27 Andreas Steffen
|/2.RSA 768   |/2>.62 bits   |verify (e=3)   |>.114'546 |>.47'151  |>.67'016  |
218 27 Andreas Steffen
                             |verify (e=f4)  |>.51'425  |>.23'467  |>.36'163  |
219 27 Andreas Steffen
|/2.RSA 1024  |/2>.73 bits   |verify (e=3)   |>.89'899  |>.41'223  |>.57'059  |
220 27 Andreas Steffen
                             |verify (e=f4)  |>.40'736  |>.9'569   |>.26'082  |
221 27 Andreas Steffen
|/2.RSA 1536  |/2>.89 bits   |verify (e=3)   |>.59'941  |>.33'632  |>.33'338  |
222 27 Andreas Steffen
                             |verify (e=f4)  |>.20'979  |>.9'520   |>.12'731  |
223 27 Andreas Steffen
|/2.RSA 2048  |/2>.103 bits  |verify (e=3)   |>.35'728  |>.22'385  |>.16'076  |
224 27 Andreas Steffen
                             |verify (e=f4)  |>.12'313  |>.5'140   |>.4'630   |
225 27 Andreas Steffen
|/2.*RSA 3072*|/2>.*125 bits*|*verify (e=3)* |>.*16'474*|>.*21'272*|>.*12'929*|
226 27 Andreas Steffen
                             |*verify (e=f4)*|>.*6'318* |>.*3'377* |>.*2'305* |
227 27 Andreas Steffen
|/2.RSA 4096  |/2>.142 bits  |verify (e=3)   |>.9'081  |>.4'894    |>.4'643   |
228 27 Andreas Steffen
                             |verify (e=f4)  |>.2'975  |>.919      |>.2'128   |
229 27 Andreas Steffen
|/2.RSA 6144  |/2>.171 bits  |verify (e=3)   |>.3'758  |>.6'793    |>.2'666   |
230 27 Andreas Steffen
                             |verify (e=f4)  |>.1'540  |>.1'047    |>.894     |
231 27 Andreas Steffen
|/2.RSA 8192  |/2>.193 bits  |verify (e=3)   |>.3'039  |>.3'871    |>.1'204   |
232 27 Andreas Steffen
                             |verify (e=f4)  |>.1'643  |>.579      |>.462     |
233 27 Andreas Steffen
|*ECDSA 256*  |>.*128 bits*  |*verify*       |=._N/A_  |=._N/A_    |>.*1'098* |
234 27 Andreas Steffen
|ECDSA 384    |>.192 bits    |verify         |=._N/A_  |=._N/A_    |>.484     |
235 7 Andreas Steffen
|ECDSA 521    |>.260 bits    |verify         |=._N/A_  |=._N/A_    |>.239     |
236 7 Andreas Steffen
237 7 Andreas Steffen
238 7 Andreas Steffen
h3. Diffie-Hellman Key Exchange
239 7 Andreas Steffen
240 17 Martin Willi
241 27 Andreas Steffen
|_.DH group    |_.Strength    |_.Operations/s|_.gmp  |_.gcrypt|_.openssl|_.gmp* |_.gcrypt*|_.openssl*|
242 27 Andreas Steffen
|/2.MODP 768   |/2>.62 bits   |A=g^a mod p   |>.1'631|>.756   |>.1'040  |>.3'847|>.2'121  |>.2'786   |
243 27 Andreas Steffen
                              |S=B^a mod p   |>.1'931|>.565   |>.1'119  |>.5'474|>.1792   |>.3'300   |
244 27 Andreas Steffen
|/2.MODP 1024  |/2>.73 bits   |A=g^a mod p   |>.805  |>.342   |>.484    |>.2'722|>.1'381  |>.1'764   |
245 27 Andreas Steffen
                              |S=B^a mod p   |>.866  |>.232   |>.382    |>.3'271|>.1037   |>.1'993   |
246 27 Andreas Steffen
|/2.MODP 1536  |/2>.89 bits   |A=g^a mod p   |>.268  |>.130   |>.99     |>.1'340|>.783    |>.873     |
247 27 Andreas Steffen
                              |S=B^a mod p   |>.279  |>.88    |>.135    |>.1'590|>.574    |>.920     |
248 27 Andreas Steffen
|/2.MODP 2048  |/2>.103 bits  |A=g^a mod p   |>.121  |>.56    |>.70     |>.592  |>.320    |>.343     |
249 27 Andreas Steffen
                              |S=B^a mod p   |>.123  |>.38    |>.50     |>.634  |>.216    |>.366     |
250 27 Andreas Steffen
|/2.*MODP 3072*|/2>.*125 bits*|*A=g^a mod p* |>.*38* |>.*20*  |>.*21*   |>.*282*|>.*172*  |>.*159*   |
251 27 Andreas Steffen
                              |*S=B^a mod p* |>.*38* |>.*13*  |>.*14*   |>.*289*|>.*118*  |>.*165*   |
252 27 Andreas Steffen
|/2.MODP 4096  |/2>.142 bits  |A=g^a mod p   |>.16   |>.6     |>.8      |>.125  |>.75     |>.70      |
253 27 Andreas Steffen
                              |S=B^a mod p   |>.16   |>.4     |>.9      |>.126  |>.49     |>.67      |
254 27 Andreas Steffen
|/2.MODP 6144  |/2>.171 bits  |A=g^a mod p   |>.5    |>.2     |>.3      |>.59   |>.38     |>.31      |
255 27 Andreas Steffen
                              |S=B^a mod p   |>.5    |>.1     |>.1      |>.61   |>.25     |>.31      |
256 31 Anonymous
|/2.MODP 8192  |/2>.193 bits  |A=g^a mod p   |>.2    |>.1     |>.0      |>.34   |>.22     |>.17      |
257 27 Andreas Steffen
                              |S=B^a mod p   |>.2    |>.0     |>.1      |>.39   |>.14     |>.18      |
258 27 Andreas Steffen
|/2.ECP 192    |/2>.96 bits   |A=g^a mod p   |=._N/A_|=._N/A_ |>.988    |\3/10=.-|
259 27 Andreas Steffen
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.1'058  |
260 27 Andreas Steffen
|/2.ECP 224    |/2>.112 bits  |A=g^a mod p   |=._N/A_|=._N/A_ |>.873    |
261 27 Andreas Steffen
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.963    |
262 27 Andreas Steffen
|/2.*ECP 256*  |/2>.*128 bits*|*A=g^a mod p* |=._N/A_|=._N/A_ |>.*823*  |
263 27 Andreas Steffen
                              |*S=B^a mod p* |=._N/A_|=._N/A_ |>.*851*|
264 27 Andreas Steffen
|/2.ECP 384    |/2>.192 bits  |A=g^a mod p   |=._N/A_|=._N/A_ |>.360    |
265 27 Andreas Steffen
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.364    |
266 27 Andreas Steffen
|/2.ECP 521    |/2>.260 bits  |A=g^a mod p   |=._N/A_|=._N/A_ |>.180    |
267 27 Andreas Steffen
                              |S=B^a mod p   |=._N/A_|=._N/A_ |>.210    |
268 1 Martin Willi
269 1 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