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; Crestmont (a06a4-20); 2023 Intel Core Ultra 5 125H, E cores; 8 x 700MHz; meteor,little, supercop-20251222

[Page version: 20260208 14:17:38]

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
293473004231133
T:
jacfp127i
298903069731595
T:
kumjacfp127g
324283336034652
T:
prjfp127i
337253407635491
T:
curve2251
353433616237273
T:
hecfp127i
360993616636282
T:
gls254
373963746137524
T:
gls254prot
390643982041118
T:
jacfp128bk
432944334443417curve25519
428754379745340
T:
ecfp256e
451134620447309
T:
prjfp128bk
464884693747992
T:
ecfp256s
463514695247649
T:
hecfp128bk
468344781348720
T:
hecfp128i
488064943950199
T:
hecfp128fkt
505885073450862
T:
k277taa
499405185054880
T:
ecfp256q
528425297853136
T:
k298
686136865668727
T:
k277mon
717487182771944nistp256
107259107423107879
T:
kummer
114051114467114707
T:
kumfp127g
151473151632151780
T:
kumfp128g
203432204537206217
T:
ecfp256i
236281237723239381
T:
ecfp256h
249883253214253845
T:
ed448goldilocks
338966342530346200
T:
sclaus1024
137675113821661387731
T:
ed521gs
160283116084111618593
T:
nist521gs
198625819941272001108
T:
claus
225548622705142289880
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
352783532635355
T:
gls254
373683741637473
T:
gls254prot
506545073650810
T:
k277taa
526085275452899
T:
k298
685616860068670
T:
k277mon
107243107408107797
T:
kummer
113975114159114412
T:
jacfp128bk
116955117283117959
T:
kumfp127g
118938119210119451
T:
kumjacfp127g
133210133561133791
T:
curve2251
139530139829140340
T:
prjfp128bk
144368145221145505
T:
hecfp128bk
149832150000150338
T:
hecfp128fkt
157878158058158233
T:
kumfp128g
160542160684160816curve25519
173398173775174274
T:
jacfp127i
189136189399189717
T:
ecfp256e
197935198761199021
T:
ecfp256i
199812200559200955
T:
ecfp256q
216876217654218464
T:
prjfp127i
221419222266224006
T:
hecfp127i
230498230775232484
T:
ecfp256h
268512269822271692
T:
ecfp256s
281679281925283045nistp256
324967325547326835
T:
hecfp128i
347976350511356890
T:
sclaus1024
892998904549909316
T:
ed448goldilocks
138340613880861393786
T:
ed521gs
159519116069701615111
T:
nist521gs
199323820033892008555
T:
claus
227868623111252320384
T:
sclaus2048