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; Coffee Lake (906ea); 2018 Intel Xeon E-2124; 4 x 3300MHz; r24000, supercop-20241022

[Page version: 20250111 18:45:18]

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
217412240823921
T:
kumjacfp127g
214522241123726
T:
jacfp127i
251162555426708
T:
hecfp127i
268742793529038
T:
prjfp127i
309213171532978
T:
jacfp128bk
365793678537537
T:
gls254
365563790139490
T:
prjfp128bk
372223833339673
T:
hecfp128bk
379413837239716
T:
hecfp128i
386543869038736
T:
gls254prot
387483892939877
T:
curve2251
383213918841714
T:
hecfp128fkt
457204574445769
T:
k277taa
518245189052017
T:
k298
556595651156674
T:
kummer
707077074470795
T:
k277mon
703667126372156
T:
gls1271
804938053980585
T:
kumfp127g
111032111117111646
T:
kumfp128g
125555125862126495
T:
curve25519
153326153544153811
T:
ed448goldilocks
175981177800179570
T:
sclaus1024
181894182521183131
T:
surf127eps
249200249562250000
T:
nistp256
244736251550258220
T:
hector
521628524369526538
T:
surf2113
810337810728811879
T:
ed521gs
895649903348909326
T:
sclaus2048
104828510506061053565
T:
claus
Cycles to compute a shared secret
25%50%75%system
357463577935811
T:
gls254
385463858138611
T:
gls254prot
454514548445507
T:
k277taa
516605170951767
T:
k298
554965556956537
T:
kummer
706267065970697
T:
k277mon
817088177481845
T:
kumfp127g
829338301883108
T:
kumjacfp127g
887188879788872
T:
jacfp128bk
108464108617108819
T:
prjfp128bk
111710111811111940
T:
hecfp128bk
115293115442115665
T:
kumfp128g
116522116597116719
T:
hecfp128fkt
124484124577124697
T:
jacfp127i
135135135475136779
T:
curve25519
144334145341145569
T:
curve2251
165195165337165566
T:
prjfp127i
167801167953168139
T:
hecfp127i
170389173413175865
T:
gls1271
176770177566179714
T:
sclaus1024
177135177814178670
T:
surf127eps
250033250197250430
T:
hecfp128i
465129465730467211
T:
ed448goldilocks
518882520806523003
T:
surf2113
791970801032807487
T:
hector
810590810952811347
T:
ed521gs
828002828549829393
T:
nistp256
898317901165916542
T:
sclaus2048
104851310514561053663
T:
claus