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; Core 2 65nm (6fb); 2007 Intel Core 2 Duo T7300; 2 x 2000MHz; trident, supercop-20260330

[Page version: 20260503 04:12: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 (or StQ1 starting with supercop-20260214), the median of many speed measurements (or StQ2 starting with supercop-20260214), the third quartile of many speed measurements (or StQ3 starting with supercop-20260214), and the name of the primitive. Measurements with large interquartile range (or stabilized interquartile range) 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
422634278343470
T:
jacfp127i
439754454545237
T:
kumjacfp127g
495485042051891
T:
prjfp127i
502905112152574
T:
hecfp127i
754077583076493
T:
jacfp128bk
778577817978508curve25519
784857926780175
T:
ecfp256e
813438209383568
T:
ecfp256h
841498510386110
T:
ecfp256s
887158946190570
T:
prjfp128bk
888538969891123
T:
hecfp128i
892768998991320
T:
hecfp128fkt
894439020391533
T:
hecfp128bk
914099238894724
T:
ecfp256q
125567126993128621
T:
gls1271
132987134878136678
T:
curve2251
138769138943139184nistp256
180690181641186098
T:
kumfp127g
316787316929317190
T:
kumfp128g
321671323662325030
T:
sclaus1024
332191333928336941
T:
ed448goldilocks
377201379345383240
T:
ecfp256i
393741403211420132
T:
hector
415604417318423398
T:
kummer
414909417539423480
T:
surf127eps
762163768804784205
T:
surf2113
164871816572251661260
T:
sclaus2048
170150017128001728786
T:
ed521gs
196812519785991992302
T:
nist521gs
213741821401802142597
T:
claus
Cycles to compute a shared secret
25%50%75%system
183204183325184296
T:
kumfp127g
187700187972188582
T:
kumjacfp127g
242344242663243232
T:
jacfp128bk
262661262736262905curve25519
292773292948293465
T:
jacfp127i
301028301221301646
T:
prjfp128bk
311515311820312425
T:
hecfp128fkt
312892316151324478
T:
gls1271
316809317098318255
T:
hecfp128bk
327317327471327971
T:
kumfp128g
352730353009353857
T:
ecfp256e
366349366534371609
T:
ecfp256q
368441368660369428
T:
ecfp256i
381703381998386511
T:
prjfp127i
392675393408395574
T:
hecfp127i
411610414583419754
T:
surf127eps
415447417230423028
T:
kummer
422661436300437870
T:
sclaus1024
437381437575441015
T:
ecfp256h
454184454356458341
T:
ecfp256s
528466528618532521nistp256
558961564617568962
T:
curve2251
693662694170705298
T:
hecfp128i
761074764083777056
T:
surf2113
103173010341501036100
T:
ed448goldilocks
126836212745891289671
T:
hector
169384917084841725607
T:
ed521gs
196856119791292005143
T:
nist521gs
217977321843182214830
T:
sclaus2048
254668925488962552048
T:
claus