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; Golden Cove (906a4-40); 2022 Intel Core i3-1215U, P cores; 2 x 1600MHz; alder2,big, supercop-20251222

[Page version: 20260126 20:10:59]

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

Cycles to generate a key pair
25%50%75%system
183091903620043
T:
jacfp127i
190191963020450
T:
kumjacfp127g
202872102522152
T:
prjfp127i
205332125322191
T:
hecfp127i
239022422224752curve25519
240542471725572
T:
jacfp128bk
281022881529829
T:
prjfp128bk
279422895530246
T:
hecfp128bk
278702905030003
T:
hecfp128fkt
284102908429916
T:
hecfp128i
289112930229784
T:
ecfp256e
293062972030324
T:
ecfp256h
299523014030369
T:
gls254
315263157431626
T:
gls254prot
322843272333314
T:
ecfp256s
334513357133786
T:
curve2251
339803435735042
T:
ecfp256q
370773715337268nistp256
386873872638770
T:
k277taa
421994226642341
T:
k298
506195108151667
T:
gls1271
518665190251960
T:
kummer
595725963559714
T:
k277mon
641036427664492
T:
kumfp127g
811558154382085
T:
kumfp128g
123572125113126228
T:
ed448goldilocks
133141133855134810
T:
ecfp256i
181444183148184706
T:
sclaus1024
587146596138602470
T:
ed521gs
754616759232766713
T:
nist521gs
922766923390923993
T:
claus
932511938569946767
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
294002944529494
T:
gls254
314243146731522
T:
gls254prot
385743860138643
T:
k277taa
420364210242154
T:
k298
517815183051875
T:
kummer
595135956959617
T:
k277mon
655246564865821
T:
kumfp127g
664796675767123
T:
kumjacfp127g
667826689867018
T:
jacfp128bk
751477536675768curve25519
762717639776585
T:
prjfp128bk
777477801478966
T:
hecfp128bk
804848072180990
T:
hecfp128fkt
849858528085710
T:
kumfp128g
101407101699101948
T:
jacfp127i
118377118914119539
T:
ecfp256e
121257121687123444
T:
hecfp127i
121059122600123407
T:
prjfp127i
124461124707125092
T:
ecfp256i
125460128001130084
T:
gls1271
129124129596130225
T:
ecfp256q
133995134118134259
T:
curve2251
139248139838140897nistp256
141996142910143821
T:
ecfp256h
167885168482168882
T:
hecfp128i
175077175493176056
T:
ecfp256s
192742194250195446
T:
sclaus1024
382776383806385105
T:
ed448goldilocks
587295596655604345
T:
ed521gs
752933757580762750
T:
nist521gs
920355920909921544
T:
claus
951165954291957546
T:
sclaus2048