VAMPIRE

eBACS: ECRYPT Benchmarking of Cryptographic Systems


ECRYPT II
General information:IntroductioneBASHeBASCeBAEADeBATSSUPERCOPXBXComputersArch
How to submit new software:Tipshashstreamaeaddhkemencryptsign
List of primitives measured:lwcsha3hashstreamlwccaesaraeaddhkemencryptsign
Measurements:lwcsha3hashstreamlwccaesaraeaddhkemencryptsign
List of subroutines:verifydecodeencodesortcorehashblocksxofscalarmult

Measurements of public-key Diffie–Hellman secret-sharing systems on one machine: amd64; Broadwell+AES (406f1); 2016 Intel Xeon E5-2609 v4; 8 x 1700MHz; bolero, 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:

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: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
253722647228972
T:
jacfp127i
270322893233700
T:
kumjacfp127g
276922995233440
T:
prjfp127i
291603020435180
T:
hecfp127i
374843787638008
T:
gls254
392163925239336
T:
gls254prot
380803970044284
T:
prjfp128bk
396004093245936
T:
hecfp128fkt
34860?41212?48766?
T:
jacfp128bk
400764361649252
T:
curve2251
39456?44680?54218?
T:
hecfp128bk
434524556049596
T:
hecfp128i
490964916849532
T:
k277taa
561045620456408
T:
k298
668967090478584
T:
kummer
771527722078312
T:
k277mon
771167822879852
T:
gls1271
9147298116107368
T:
kumfp127g
136064?146448?183911?
T:
kumfp128g
143168151804163320
T:
curve25519
156808157572162900
T:
ed448goldilocks
188820192188205412
T:
sclaus1024
201988211652227228
T:
surf127eps
283216297576318936
T:
hector
289692302188318928
T:
nistp256
536940550972560860
T:
surf2113
913660926492951964
T:
ed521gs
9574449756001008888
T:
sclaus2048
112657211403361167376
T:
claus
Cycles to compute a shared secret
25%50%75%system
360683616436296
T:
gls254
390723910839180
T:
gls254prot
489884906449172
T:
k277taa
559285605256256
T:
k298
674447211678052
T:
kummer
769887704880144
T:
k277mon
93160100004109380
T:
kumfp127g
97908104384113888
T:
jacfp128bk
99072105260113964
T:
kumjacfp127g
117372123748135852
T:
prjfp128bk
125488131796142584
T:
hecfp128fkt
124120?139232?180216?
T:
hecfp128bk
134504144452156560
T:
kumfp128g
142936148720160268
T:
curve25519
153660164476174268
T:
curve2251
158820168468180700
T:
jacfp127i
189036189620198564
T:
gls1271
189032192496204424
T:
sclaus1024
193284201156217252
T:
hecfp127i
191884201468211404
T:
prjfp127i
200744209480223448
T:
surf127eps
274324283300298884
T:
hecfp128i
471308476040489284
T:
ed448goldilocks
534756546260559180
T:
surf2113
906052921700934268
T:
ed521gs
9502969671481001072
T:
sclaus2048
9489529724321011008
T:
hector
100327610253441056916
T:
nistp256
112353211400281153892
T:
claus