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 (a60f12); 2023 AMD Ryzen 7 7700; 8 x 3800MHz; hertz, 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
257092690628604
T:
jacfp127i
264282760828916
T:
kumjacfp127g
279562912330672
T:
prjfp127i
287462981731226
T:
hecfp127i
310603144431940
T:
gls254
317373177431814
T:
gls254prot
302413182335328
T:
ecfp256e
319433331334499
T:
jacfp128bk
339663598238865
T:
hecfp128i
343493603342897
T:
curve2251
349353746843426
T:
ecfp256s
358813764439483
T:
prjfp128bk
364283766939725
T:
hecfp128bk
362783811039589
T:
hecfp128fkt
362543923545144
T:
ecfp256q
425144255242611
T:
kummer
425724263442678
T:
k277taa
485424860349587
T:
k298
603746039260415
T:
k277mon
790927916079222
T:
kumfp127g
101409101452101593
T:
curve25519
104013104092104169
T:
kumfp128g
144187145075146008
T:
ecfp256i
158480159153159523
T:
ed448goldilocks
162629163457164494
T:
ecfp256h
198460198571198784
T:
nistp256
211041214095217160
T:
sclaus1024
678439680987685244
T:
ed521gs
879370880531881546
T:
nist521gs
101533210247111028129
T:
claus
109089310966001105010
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
297862994029959
T:
gls254
317223175331856
T:
gls254prot
425094253842619
T:
kummer
424994257942636
T:
k277taa
484404850048542
T:
k298
603616036960384
T:
k277mon
787207876678809
T:
jacfp128bk
812138122181261
T:
kumfp127g
826178264282731
T:
kumjacfp127g
931049373693928
T:
prjfp128bk
961799629796423
T:
hecfp128bk
993959950099936
T:
hecfp128fkt
108786108837108900
T:
kumfp128g
109383109436109499
T:
curve25519
120185120236120328
T:
jacfp127i
130132130193130362
T:
ecfp256e
136749136928138386
T:
curve2251
139673139712139975
T:
ecfp256i
142874142927143018
T:
ecfp256q
149572149641149716
T:
prjfp127i
151561151693152268
T:
hecfp127i
157629157666157712
T:
ecfp256h
199749199861200003
T:
ecfp256s
210603210624210665
T:
hecfp128i
219939222166224684
T:
sclaus1024
517495518552526665
T:
ed448goldilocks
539693540375541783
T:
nistp256
673443676239678730
T:
ed521gs
879269879846880885
T:
nist521gs
101362010149691018231
T:
claus
109740411005941120103
T:
sclaus2048