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

[Page version: 20251005 01:31:24]

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
242342554626804
T:
jacfp127i
263542648726501
T:
curve25519
263372750729014
T:
kumjacfp127g
283042953531317
T:
prjfp127i
291403061632286
T:
hecfp127i
311263125131844
T:
gls254
315723184831919
T:
gls254prot
303973207335832
T:
ecfp256e
318133332334538
T:
jacfp128bk
342583536639037
T:
curve2251
360663794439862
T:
prjfp128bk
367193832739867
T:
hecfp128fkt
365843836140060
T:
hecfp128bk
364283839744262
T:
ecfp256s
372803880340221
T:
hecfp128i
368484038745825
T:
ecfp256q
407594086741088nistp256
423914245042475
T:
k277taa
427014274142767
T:
kummer
483494846849361
T:
k298
612936137261408
T:
k277mon
791387920379258
T:
kumfp127g
104419104476104547
T:
kumfp128g
144469145180146398
T:
ecfp256i
156979157210157457
T:
ed448goldilocks
163137163843164864
T:
ecfp256h
209743211981213999
T:
sclaus1024
737673739082740209
T:
ed521gs
887704890908894712
T:
nist521gs
101664710440811051882
T:
claus
109543411024521110018
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
297682989729933
T:
gls254
315253164731711
T:
gls254prot
423874244142453
T:
k277taa
426504268542727
T:
kummer
481514822548324
T:
k298
612506128461364
T:
k277mon
787847887478984
T:
jacfp128bk
815318153281588
T:
kumfp127g
824018276882791
T:
kumjacfp127g
879168791989184
T:
curve25519
927969291493073
T:
prjfp128bk
961939628096409
T:
hecfp128bk
997139980099978
T:
hecfp128fkt
109361109396109452
T:
kumfp128g
120588120664120789
T:
jacfp127i
130158130190130390
T:
ecfp256e
136632136779137014
T:
curve2251
139724139876139984
T:
ecfp256i
142721142809142945
T:
ecfp256q
149573149659149745
T:
prjfp127i
151550151651151772
T:
hecfp127i
153955153970154091nistp256
157464157676157738
T:
ecfp256h
200057200238200520
T:
ecfp256s
210569210688210891
T:
hecfp128i
219260220046221577
T:
sclaus1024
517159528209531255
T:
ed448goldilocks
737628740126741708
T:
ed521gs
887015890226895321
T:
nist521gs
101368210156321020146
T:
claus
109442211080991113670
T:
sclaus2048