Project

General

Profile

Speed Comparison of Public Key Algorithms » History » Version 4

Martin Willi, 09.06.2009 13:27
added results on 64bit

1 1 Martin Willi
h1. Speed comparison of public key algorithms
2 1 Martin Willi
3 4 Martin Willi
h2. 32bit, User-Mode-Linux on a Core2Duo T9400 (one core)
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 1 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.65      |=._N/A_ |=._N/A_  |=._N/A_   |
42 4 Martin Willi
43 4 Martin Willi
h2. 64bit under VirtualBox, Core2Duo T9400 (one core):
44 4 Martin Willi
45 4 Martin Willi
|_.Key type|_.Operations/s|_.gmp   |_.gcrypt|_.openssl|
46 4 Martin Willi
|RSA 512   |sign          |>.13082 |>.3530  |>.7478   |
47 4 Martin Willi
|          |verify        |>.103733|>.36197 |>.59598  |
48 4 Martin Willi
|RSA 768   |sign          |>.5523  |>.1603  |>.3154   |
49 4 Martin Willi
|          |verify        |>.61520 |>.25411 |>.35704  |
50 4 Martin Willi
|RSA 1024  |sign          |>.2742  |>.766   |>.1577   |
51 4 Martin Willi
|          |verify        |>.41377 |>.16098 |>.26314  |
52 4 Martin Willi
|RSA 1536  |sign          |>.937   |>.285   |>.555    |
53 4 Martin Willi
|          |verify        |>.22148 |>.10941 |>.13607  |
54 4 Martin Willi
|RSA 2048  |sign          |>.433   |>.133   |>.258    |
55 4 Martin Willi
|          |verify        |>.13500 |>.6524  |>.8345   |
56 4 Martin Willi
|ECDSA 256 |sign          |=._N/A_ |=._N/A_ |>.1267   |
57 4 Martin Willi
|          |verify        |=._N/A_ |=._N/A_ |>.1143   |
58 4 Martin Willi
|ECDSA 384 |sign          |=._N/A_ |=._N/A_ |>.577    |
59 4 Martin Willi
|          |verify        |=._N/A_ |=._N/A_ |>.508    |
60 4 Martin Willi
|ECDSA 521 |sign          |=._N/A_ |=._N/A_ |>.291    |
61 4 Martin Willi
|          |verify        |=._N/A_ |=._N/A_ |>.255    |
62 4 Martin Willi
63 4 Martin Willi
|_.DH group|_.Operations/s|_.gmp  |_.gcrypt |_.openssl |_.gmp*  |_.gcrypt*|_.openssl*|
64 4 Martin Willi
|MODP768   |A=g^a mod p   |>.1853 |>.790    |>.1088    |>.5622  |>.2151   |>.2656    |
65 4 Martin Willi
|          |S=B^a mod p   |>.1882 |>.595    |>.1191    |>.5737  |>.1779   |>.3280    |
66 4 Martin Willi
|MODP1024  |A=g^a mod p   |>.862  |>.347    |>.491     |>.3523  |>.1352   |>.1689    |
67 4 Martin Willi
|          |S=B^a mod p   |>.869  |>.274    |>.535     |>.3431  |>.1035   |>.1928    |
68 4 Martin Willi
|MODP1536  |A=g^a mod p   |>.269  |>.135    |>.168     |>.1612  |>.776    |>.837     |
69 4 Martin Willi
|          |S=B^a mod p   |>.278  |>.98     |>.174     |>.1648  |>.571    |>.900     |
70 4 Martin Willi
|MODP2048  |A=g^a mod p   |>.117  |>.55     |>.73      |>.689   |>.298    |>.362     |
71 4 Martin Willi
|          |S=B^a mod p   |>.122  |>.38     |>.74      |>.660   |>.214    |>.380     |
72 4 Martin Willi
|ECP192    |A=g^a mod p   |=._N/A_|=._N/A_  |>.1699    |=._N/A_ |=._N/A_  |=._N/A_   |
73 4 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.1727    |=._N/A_ |=._N/A_  |=._N/A_   |
74 4 Martin Willi
|ECP224    |A=g^a mod p   |=._N/A_|=._N/A_  |>.1494    |=._N/A_ |=._N/A_  |=._N/A_   |
75 4 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.1589    |=._N/A_ |=._N/A_  |=._N/A_   |
76 4 Martin Willi
|ECP256    |A=g^a mod p   |=._N/A_|=._N/A_  |>.1298    |=._N/A_ |=._N/A_  |=._N/A_   |
77 4 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.1423    |=._N/A_ |=._N/A_  |=._N/A_   |
78 4 Martin Willi
|ECP384    |A=g^a mod p   |=._N/A_|=._N/A_  |>.591     |=._N/A_ |=._N/A_  |=._N/A_   |
79 4 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.609     |=._N/A_ |=._N/A_  |=._N/A_   |
80 4 Martin Willi
|ECP521    |A=g^a mod p   |=._N/A_|=._N/A_  |>.306     |=._N/A_ |=._N/A_  |=._N/A_   |
81 4 Martin Willi
|          |S=B^a mod p   |=._N/A_|=._N/A_  |>.313     |=._N/A_ |=._N/A_  |=._N/A_   |
82 2 Martin Willi
83 3 Martin Willi
_* = using reduced exponent size (libstrongswan.dh_exponent_ansi_x9_42 = no)_