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-20250922

[Page version: 20251010 17:32:47]

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
182391888819646
T:
jacfp127i
188041937020320
T:
kumjacfp127g
204462132622439
T:
prjfp127i
209792156522703
T:
hecfp127i
236492386424076
T:
curve25519
244962507325887
T:
jacfp128bk
279182868529623
T:
prjfp128bk
280942886529777
T:
hecfp128i
286432902629716
T:
ecfp256e
285452910829898
T:
hecfp128fkt
285902925329935
T:
hecfp128bk
291332944330109
T:
ecfp256h
299673015030433
T:
gls254
315463160931670
T:
gls254prot
322883267533398
T:
ecfp256s
334363355433804
T:
curve2251
338543423934704
T:
ecfp256q
370843715737272nistp256
386943872638775
T:
k277taa
422254229142385
T:
k298
505435127851927
T:
gls1271
518545190451953
T:
kummer
595735963059690
T:
k277mon
643436455864793
T:
kumfp127g
813718164282040
T:
kumfp128g
123417124794126134
T:
ed448goldilocks
133067133803134578
T:
ecfp256i
181133182948185049
T:
sclaus1024
589424598726608658
T:
ed521gs
753998759783766105
T:
nist521gs
923601924250924846
T:
claus
935276941168946835
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
294062945329492
T:
gls254
314463149031527
T:
gls254prot
385693861038645
T:
k277taa
420404211542167
T:
k298
518005186454459
T:
kummer
595065957159628
T:
k277mon
656486584065988
T:
kumfp127g
666546677166926
T:
jacfp128bk
669356722267895
T:
kumjacfp127g
751377543975711
T:
curve25519
759817611276408
T:
prjfp128bk
774447773578058
T:
hecfp128bk
806248079481037
T:
hecfp128fkt
851128534885666
T:
kumfp128g
101111101349101925
T:
jacfp127i
117888118311118752
T:
ecfp256e
120321120706121328
T:
hecfp127i
120559120868122434
T:
prjfp127i
124676124959125368
T:
ecfp256i
126138127252128671
T:
gls1271
128936129490130175
T:
ecfp256q
133340134294134518
T:
curve2251
139610140790141373nistp256
141286141746142791
T:
ecfp256h
167959168335168899
T:
hecfp128i
174708175044175584
T:
ecfp256s
190255190576190991
T:
sclaus1024
382355383492384673
T:
ed448goldilocks
590785597344604023
T:
ed521gs
753120757941764724
T:
nist521gs
920979921538922185
T:
claus
929773960994963539
T:
sclaus2048