Measurements of public-key Diffie–Hellman secret-sharing systems on one machine: amd64; Coffee Lake (806ea); 2018 Intel Core i3-8109U; 2 x 3000MHz; like, supercop-20241022
[Page version: 20241120 00:41:13]
eBATS
(ECRYPT Benchmarking
of Asymmetric Systems)
is a project
to measure the performance of public-key systems.
This page presents benchmark results collected in eBATS
for public-key Diffie–Hellman secret-sharing systems:
- Time (cycles) to generate a key pair:
a secret key and a corresponding public key.
- Time to compute a shared secret,
given one user's secret key and another user's public key.
- Space (bytes) for a secret key.
- Space for a public key.
- Space for a shared secret.
Each table row lists
the first quartile of many speed measurements,
the median of many speed measurements,
the third quartile of many speed measurements, and
the name of the primitive.
Measurements with large variance are indicated in red with question marks.
The symbol
T:
(starting with supercop-20200816)
means that the SUPERCOP database
at the time of benchmarking did not list constant time
as a goal for this implementation.
The symbol
T!!!
means that constant time was listed as a goal for this implementation,
but that the implementation failed TIMECOP.
(TIMECOP failures are not necessarily security issues;
they can sometimes be resolved by, e.g., declaring that a rejection-sampling condition is safe to declassify.)
There is a
separate page
with more information about each Diffie–Hellman system and each implementation.
Designers and implementors
interested in submitting new Diffie–Hellman systems
and new implementations of existing systems
should read the call for submissions.
Test results
Graphs:
(pkcycles,pkbytes)
(scycles,pkbytes)
Cycles to generate a key pair |
25% | 50% | 75% | system |
21076 | 21512 | 23089 | T: kumjacfp127g |
22442 | 23299 | 24675 | T: jacfp127i |
24546 | 25869 | 27521 | T: prjfp127i |
26485 | 27504 | 29012 | T: hecfp127i |
31366 | 32223 | 33117 | T: jacfp128bk |
35995 | 37297 | 38672 | T: hecfp128i |
37128 | 37367 | 37680 | T: gls254 |
37076 | 38104 | 38936 | T: prjfp128bk |
37553 | 38395 | 39552 | T: hecfp128fkt |
37583 | 38559 | 39453 | T: hecfp128bk |
39122 | 39152 | 39208 | T: gls254prot |
39541 | 40016 | 40939 | T: curve2251 |
41739 | 42220 | 42975 | T: ecfp256e |
41815 | 42415 | 44545 | T: ecfp256h |
45273 | 45693 | 46463 | T: ecfp256s |
46300 | 46331 | 46384 | T: k277taa |
46324 | 47193 | 49130 | T: ecfp256q |
53083 | 53174 | 53282 | T: k298 |
53396 | 53635 | 54335 | T: kummer |
70563 | 71335 | 72137 | T: gls1271 |
72378 | 72421 | 72485 | T: k277mon |
79350 | 80038 | 80679 | T: kumfp127g |
112580 | 112654 | 112789 | T: kumfp128g |
126563 | 126939 | 127687 | T: curve25519 |
152364 | 153041 | 153591 | T: ed448goldilocks |
175742 | 176739 | 177895 | T: ecfp256i |
176875 | 178871 | 180595 | T: sclaus1024 |
185724 | 187110 | 187846 | T: surf127eps |
233998 | 234378 | 235292 | T: nistp256 |
235266 | 246239 | 259372 | T: hector |
505333 | 507999 | 510102 | T: surf2113 |
820741 | 821817 | 824146 | T: ed521gs |
891143 | 897382 | 905349 | T: sclaus2048 |
960285 | 961055 | 962038 | T: nist521gs |
983834 | 987756 | 991415 | T: claus |
|
Cycles to compute a shared secret |
25% | 50% | 75% | system |
35944 | 36086 | 36144 | T: gls254 |
38824 | 38878 | 38921 | T: gls254prot |
45624 | 46089 | 46154 | T: k277taa |
52906 | 52976 | 53160 | T: k298 |
53116 | 53264 | 54245 | T: kummer |
72285 | 72353 | 72441 | T: k277mon |
81694 | 82375 | 82488 | T: kumfp127g |
83305 | 83854 | 84362 | T: kumjacfp127g |
88888 | 88961 | 89093 | T: jacfp128bk |
110197 | 110372 | 110649 | T: prjfp128bk |
113883 | 114054 | 114250 | T: hecfp128bk |
117921 | 117999 | 118211 | T: kumfp128g |
117881 | 118034 | 118204 | T: hecfp128fkt |
125893 | 125995 | 126142 | T: jacfp127i |
136217 | 136451 | 137479 | T: curve25519 |
142362 | 143999 | 145680 | T: curve2251 |
160875 | 161105 | 161354 | T: ecfp256e |
166663 | 166833 | 167044 | T: prjfp127i |
169081 | 169257 | 169547 | T: hecfp127i |
170697 | 170912 | 171311 | T: ecfp256i |
172109 | 172364 | 172650 | T: ecfp256q |
176865 | 177461 | 178080 | T: gls1271 |
176694 | 179574 | 181799 | T: sclaus1024 |
183120 | 183649 | 184105 | T: surf127eps |
199728 | 199990 | 200752 | T: ecfp256h |
227546 | 227790 | 228105 | T: ecfp256s |
253080 | 253448 | 253971 | T: hecfp128i |
456898 | 457215 | 457496 | T: ed448goldilocks |
497691 | 502023 | 504935 | T: surf2113 |
588228 | 588441 | 588652 | T: nistp256 |
821451 | 822642 | 824213 | T: ed521gs |
821078 | 825288 | 829148 | T: hector |
888758 | 899530 | 908893 | T: sclaus2048 |
959758 | 960793 | 961947 | T: nist521gs |
983553 | 986691 | 989522 | T: claus |
|
|
|