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; K10 32nm (300f10); 2011 AMD A8-3850; 4 x 2900MHz; hydra5, supercop-20250307

[Page version: 20250331 22:49:56]

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
300493026930572
T:
jacfp127i
322563270233234
T:
kumjacfp127g
348213506635287
T:
prjfp127i
354153561135853
T:
hecfp127i
473844787348399
T:
jacfp128bk
562225650856940
T:
hecfp128bk
562435660457023
T:
hecfp128fkt
563815667757164
T:
prjfp128bk
573615769158164
T:
hecfp128i
714257265574082
T:
ecfp256e
744957577877067
T:
ecfp256s
753607642178057
T:
ecfp256h
777577946181166
T:
ecfp256q
105933106915108081
T:
gls1271
120106120215120400
T:
kumfp127g
206822206952207590
T:
kumfp128g
206341207680208717
T:
sclaus1024
214383214386214428
T:
curve25519
264952266276268104
T:
ecfp256i
280639281689282127
T:
surf127eps
308897309605310661
T:
ed448goldilocks
323407330673345195
T:
hector
415038415049415163
T:
kummer
437458437652437892
T:
nistp256
706346708825710133
T:
surf2113
886813890053891542
T:
curve2251
967135971707978832
T:
sclaus2048
135471313562621358555
T:
claus
150366415041301504603
T:
ed521gs
176680117670651767695
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
121736121744121758
T:
kumfp127g
122800122802122817
T:
kumjacfp127g
153623153686153767
T:
jacfp128bk
188804188869189036
T:
prjfp128bk
193869193895193936
T:
hecfp128bk
197607197855198032
T:
jacfp127i
201100201140201164
T:
hecfp128fkt
211987212002212359
T:
kumfp128g
214363214368214372
T:
curve25519
250998251086251226
T:
ecfp256e
252159253819257593
T:
gls1271
257854257945257976
T:
prjfp127i
259847259902260060
T:
ecfp256q
263123263263263290
T:
ecfp256i
263392263399263427
T:
hecfp127i
268634274406276374
T:
sclaus1024
278030279733280076
T:
surf127eps
319009319055319170
T:
ecfp256s
320099321439321576
T:
ecfp256h
414222414991414994
T:
kummer
426672426779426855
T:
hecfp128i
696295707919708519
T:
surf2113
883513885347888861
T:
curve2251
937665937689938402
T:
ed448goldilocks
104513910452181046139
T:
nistp256
108058611112141134243
T:
hector
124421912716011295263
T:
sclaus2048
150332215034451504012
T:
ed521gs
158452215908721595714
T:
claus
176642417668261767354
T:
nist521gs