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

[Page version: 20260115 23:35:26]

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
230832455726550
T:
jacfp127i
263812650026507curve25519
248362716129177
T:
kumjacfp127g
261392828230333
T:
hecfp127i
282712962531044
T:
prjfp127i
307343084931333
T:
gls254
315373156831602
T:
gls254prot
309223251636055
T:
ecfp256e
320953345334784
T:
jacfp128bk
343343531039359
T:
curve2251
346123650939216
T:
hecfp128i
345923653739267
T:
hecfp128fkt
348833761843260
T:
ecfp256s
362943781340069
T:
prjfp128bk
368323856040226
T:
hecfp128bk
380583994646626
T:
ecfp256q
407954099541324nistp256
425274255842610
T:
kummer
427624282942867
T:
k277taa
482464839049150
T:
k298
612846133761399
T:
k277mon
791777923279321
T:
kumfp127g
104378104439104512
T:
kumfp128g
144184144786145980
T:
ecfp256i
160557160939161321
T:
ed448goldilocks
162719163671164760
T:
ecfp256h
209885212216214860
T:
sclaus1024
776432779031780793
T:
ed521gs
935987939449945611
T:
nist521gs
101574910192501032304
T:
claus
109487111012121108234
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
296732974029796
T:
gls254
313713141531495
T:
gls254prot
424624250742531
T:
kummer
427334274742788
T:
k277taa
482564830648346
T:
k298
612846132361373
T:
k277mon
788417891178996
T:
jacfp128bk
814968158081600
T:
kumfp127g
824008277482788
T:
kumjacfp127g
878998790087955curve25519
930059313693333
T:
prjfp128bk
962039629996401
T:
hecfp128bk
996689982299950
T:
hecfp128fkt
109304109337109400
T:
kumfp128g
120570120679120791
T:
jacfp127i
129420129495129742
T:
ecfp256e
133509135339136767
T:
curve2251
139830139892140072
T:
ecfp256i
142792142936143087
T:
ecfp256q
149549149605149709
T:
prjfp127i
151749151844151976
T:
hecfp127i
153849153961153973nistp256
157068157142157674
T:
ecfp256h
200193200243200469
T:
ecfp256s
210562210734210942
T:
hecfp128i
216760217761218963
T:
sclaus1024
543881546277549146
T:
ed448goldilocks
776971779012780516
T:
ed521gs
934363937359948471
T:
nist521gs
101251210136861015205
T:
claus
109472110996191102927
T:
sclaus2048