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

[Page version: 20251115 19:15:16]

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
232452479826551
T:
jacfp127i
264772648826497curve25519
263332807729150
T:
kumjacfp127g
278032884030077
T:
prjfp127i
283812960131361
T:
hecfp127i
310313130431788
T:
gls254
317273182431886
T:
gls254prot
309843237635770
T:
ecfp256e
321473313034572
T:
jacfp128bk
340763517139383
T:
curve2251
356833742339509
T:
prjfp128bk
362483820343867
T:
ecfp256s
368693821039923
T:
hecfp128i
370333847440077
T:
hecfp128fkt
371683887340321
T:
hecfp128bk
381144014945377
T:
ecfp256q
407534076740798nistp256
423744241742469
T:
k277taa
426844272342753
T:
kummer
483144840949514
T:
k298
609616133761385
T:
k277mon
791997927279421
T:
kumfp127g
104413104480104552
T:
kumfp128g
144305145211146257
T:
ecfp256i
157197157618157902
T:
ed448goldilocks
163102163855165021
T:
ecfp256h
209799212015213859
T:
sclaus1024
740334741335765661
T:
ed521gs
889687892318894598
T:
nist521gs
101438410166341023669
T:
claus
109324211013111107378
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
299422996330006
T:
gls254
317043177331847
T:
gls254prot
423864240142415
T:
k277taa
426474267842728
T:
kummer
481604820948283
T:
k298
612606128461365
T:
k277mon
788267891479095
T:
jacfp128bk
814968152181566
T:
kumfp127g
824938255682797
T:
kumjacfp127g
878998791187939curve25519
933359345093600
T:
prjfp128bk
960229624096717
T:
hecfp128bk
996189970499942
T:
hecfp128fkt
109435109454109497
T:
kumfp128g
120604120660120762
T:
jacfp127i
129782130076130468
T:
ecfp256e
136394136545136836
T:
curve2251
139756139821139905
T:
ecfp256i
142870142917143020
T:
ecfp256q
149791149922150038
T:
prjfp127i
151904151991152835
T:
hecfp127i
153811154079155921nistp256
157840157877157904
T:
ecfp256h
199945200094200177
T:
ecfp256s
210621210680210897
T:
hecfp128i
210844217103218603
T:
sclaus1024
524177527576529811
T:
ed448goldilocks
736360744829760345
T:
ed521gs
889979892783894067
T:
nist521gs
101147410126631015044
T:
claus
109505511045061111829
T:
sclaus2048