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; Zen 4 (a70f41); 2023 AMD Ryzen 5 7640HS; 6 x 4300MHz; phoenix, supercop-20250415

[Page version: 20250817 05:21:21]

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
221462390926822
T:
kumjacfp127g
241872562728081
T:
jacfp127i
238422583428774
T:
prjfp127i
289753021931967
T:
hecfp127i
293193107233065
T:
jacfp128bk
317773181731867
T:
gls254prot
318163254833142
T:
gls254
311443333637124
T:
ecfp256e
330003471838437
T:
hecfp128bk
330433535738920
T:
hecfp128i
342783649239136
T:
prjfp128bk
345743662239250
T:
hecfp128fkt
347233699341263
T:
curve2251
35290?38818?44996?
T:
ecfp256s
37730?40451?47526?
T:
ecfp256q
425884261942656
T:
kummer
425944264442676
T:
k277taa
484714855649637
T:
k298
602946047360523
T:
k277mon
789207900879087
T:
kumfp127g
101245101313101369
T:
curve25519
104092104156104227
T:
kumfp128g
125242126198126802
T:
sclaus1024
139045139520139849
T:
surf127eps
145122145921146882
T:
ecfp256i
157426158248158582
T:
ed448goldilocks
162760163442164630
T:
ecfp256h
160802164394169930
T:
hector
197689197816198803
T:
nistp256
323509324855325846
T:
surf2113
591524595159596655
T:
sclaus2048
675307676769678470
T:
ed521gs
827038828471830633
T:
claus
882437883509884433
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
298632995330028
T:
gls254
317103174731803
T:
gls254prot
425564255742607
T:
kummer
426094265942695
T:
k277taa
483814844848503
T:
k298
602786047360497
T:
k277mon
786577870178780
T:
jacfp128bk
812348140781440
T:
kumfp127g
821268248382623
T:
kumjacfp127g
934839369393739
T:
prjfp128bk
957849623896397
T:
hecfp128bk
9933599897100197
T:
hecfp128fkt
108831108852108931
T:
kumfp128g
109388109468109625
T:
curve25519
120225120288120350
T:
jacfp127i
129679129877129960
T:
ecfp256e
135460135802136699
T:
surf127eps
135096136189136723
T:
curve2251
139866139910139965
T:
ecfp256i
141376141501141765
T:
ecfp256q
149605149610149711
T:
prjfp127i
151767151817151935
T:
hecfp127i
157413157423157686
T:
ecfp256h
161824163772165795
T:
sclaus1024
196180196241196333
T:
ecfp256s
210724210810210961
T:
hecfp128i
318545318948324770
T:
surf2113
518422520284522896
T:
ed448goldilocks
539251540417540428
T:
nistp256
561818566175588988
T:
hector
668566669455669967
T:
ed521gs
773012773803784964
T:
sclaus2048
883946885545887350
T:
nist521gs
952866954671956563
T:
claus