Project

General

Profile

Speed Comparison of Public Key Algorithms » History » Version 3

Martin Willi, 08.06.2009 20:56

1 1 Martin Willi
h1. Speed comparison of public key algorithms
2 1 Martin Willi
3 1 Martin Willi
Tested in User-Mode-Linux, 32bit, on a Core2Duo T9400.
4 1 Martin Willi
5 3 Martin Willi
|_.Key type|_.Operations/s|_.gmp  |_.gcrypt|_.openssl|
6 3 Martin Willi
|RSA 512   |sign          |>.3791 |>.1831  |>.2105   |
7 3 Martin Willi
|          |verify        |>.29630|>.16667 |>.25806  |
8 3 Martin Willi
|RSA 768   |sign          |>.1519 |>.709   |>.810    |
9 3 Martin Willi
|          |verify        |>.18182|>.10714 |>.15385  |
10 3 Martin Willi
|RSA 1024  |sign          |>.713  |>.292   |>.485    |
11 3 Martin Willi
|          |verify        |>.11765|>.6897  |>.11111  |
12 3 Martin Willi
|RSA 1536  |sign          |>.240  |>.102   |>.184    |
13 3 Martin Willi
|          |verify        |>.5882 |>.3774  |>.5882   |
14 3 Martin Willi
|RSA 2048  |sign          |>.110  |>.47    |>.93     |
15 3 Martin Willi
|          |verify        |>.3571 |>.2326  |>.3704   |
16 3 Martin Willi
|ECDSA 256 |sign          |=._N/A_|=._N/A_ |>.522    |
17 3 Martin Willi
|          |verify        |=._N/A_|=._N/A_ |>.440    |
18 3 Martin Willi
|ECDSA 384 |sign          |=._N/A_|=._N/A_ |>.226    |
19 3 Martin Willi
|          |verify        |=._N/A_|=._N/A_ |>.180    |
20 3 Martin Willi
|ECDSA 521 |sign          |=._N/A_|=._N/A_ |>.109    |
21 3 Martin Willi
|          |verify        |=._N/A_|=._N/A_ |>.90     |
22 2 Martin Willi
23 3 Martin Willi
|_.DH group|_.Operations/s|_.gmp  |_.gcrypt |_.openssl |_.gmp*  |_.gcrypt*|_.openssl*|
24 3 Martin Willi
|MODP768   |A=g^a mod p   |>.368  |>.243    |>.212     |>.741   |>.531    |>.319     |
25 3 Martin Willi
|          |S=B^a mod p   |>.448  |>.190    |>.290     |>.1176  |>.496    |>.541     |
26 3 Martin Willi
|MODP1024  |A=g^a mod p   |>.196  |>.125    |>.136     |>.494   |>.388    |>.272     |
27 3 Martin Willi
|          |S=B^a mod p   |>.213  |>.89     |>.167     |>.727   |>.320    |>.440     |
28 3 Martin Willi
|MODP1536  |A=g^a mod p   |>.68   |>.45     |>.62      |>.308   |>.220    |>.196     |
29 3 Martin Willi
|          |S=B^a mod p   |>.71   |>.31     |>.64      |>.385   |>.175    |>.286     |
30 3 Martin Willi
|MODP2048  |A=g^a mod p   |>.31   |>.21     |>.28      |>.149   |>.98     |>.116     |
31 3 Martin Willi
|          |S=B^a mod p   |>.32   |>.13     |>.30      |>.164   |>.71     |>.141     |
32 3 Martin Willi
|ECP192    |A=g^a mod p   |=._N/A_|=._N/A_  |>.166     |=._N/A_ |=._N/A_  |=._N/A_   |
33 3 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.171     |=._N/A_ |=._N/A_  |=._N/A_   |
34 3 Martin Willi
|ECP224    |A=g^a mod p   |=._N/A_|=._N/A_  |>.157     |=._N/A_ |=._N/A_  |=._N/A_   |
35 3 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.162     |=._N/A_ |=._N/A_  |=._N/A_   |
36 3 Martin Willi
|ECP256    |A=g^a mod p   |=._N/A_|=._N/A_  |>.148     |=._N/A_ |=._N/A_  |=._N/A_   |
37 3 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.152     |=._N/A_ |=._N/A_  |=._N/A_   |
38 3 Martin Willi
|ECP384    |A=g^a mod p   |=._N/A_|=._N/A_  |>.91      |=._N/A_ |=._N/A_  |=._N/A_   |
39 3 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.91      |=._N/A_ |=._N/A_  |=._N/A_   |
40 3 Martin Willi
|ECP521    |A=g^a mod p   |=._N/A_|=._N/A_  |>.63      |=._N/A_ |=._N/A_  |=._N/A_   |
41 3 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.65      |=._N/A_ |=._N/A_  |=._N/A_   |
42 2 Martin Willi
43 3 Martin Willi
_* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no)_