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,1f626960,5600000, supercop-20250307

[Page version: 20250328 20:57:54]

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
170331767719017
T:
kumjacfp127g
173271811719084
T:
jacfp127i
192972022421393
T:
prjfp127i
195132022821365
T:
hecfp127i
231502387524833
T:
jacfp128bk
270992743127925
T:
ecfp256e
268962759928459
T:
prjfp128bk
267802776128716
T:
hecfp128bk
271132789428559
T:
hecfp128i
279292834929097
T:
ecfp256h
273772841229084
T:
hecfp128fkt
296552980030058
T:
gls254
310083106531126
T:
gls254prot
310873152732264
T:
ecfp256s
323863278033302
T:
ecfp256q
335503370333892
T:
curve2251
383023834638403
T:
k277taa
421914225642318
T:
k298
498375057951363
T:
gls1271
522795232852384
T:
kummer
605986067260741
T:
k277mon
635926380064067
T:
kumfp127g
802148051280842
T:
kumfp128g
105950106544107331
T:
curve25519
131564132287133355
T:
ecfp256i
132960134959136503
T:
ed448goldilocks
177012178111180122
T:
nistp256
182525184156186117
T:
sclaus1024
598296603988610834
T:
ed521gs
766378769852774321
T:
nist521gs
923245923916924547
T:
claus
935414942146949111
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
290162906229113
T:
gls254
309223096131023
T:
gls254prot
381693820738252
T:
k277taa
420874213942204
T:
k298
522255228252370
T:
kummer
604986058760666
T:
k277mon
656436577965975
T:
kumfp127g
664146670766893
T:
jacfp128bk
664116681267427
T:
kumjacfp127g
756947578775921
T:
prjfp128bk
776717795878189
T:
hecfp128bk
802458043080635
T:
hecfp128fkt
849558539385814
T:
kumfp128g
100904101528101992
T:
jacfp127i
106092106517107887
T:
curve25519
118502119262120007
T:
ecfp256e
120619120891121353
T:
hecfp127i
120134121562122722
T:
prjfp127i
120908122667125672
T:
gls1271
124385124786125174
T:
ecfp256i
128693129091129616
T:
ecfp256q
133730133927134387
T:
curve2251
141164141539142290
T:
ecfp256h
167544167762168095
T:
hecfp128i
173888174849175552
T:
ecfp256s
191226191717192364
T:
sclaus1024
405367416146426386
T:
ed448goldilocks
436639438533439748
T:
nistp256
596323600258606198
T:
ed521gs
763812766976770584
T:
nist521gs
921260921756922376
T:
claus
937437939174949577
T:
sclaus2048