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; Comet Lake (806ec); 2019 Intel Core i3-10110U; 2 x 2100MHz; cubi10, supercop-20241011

[Page version: 20241017 10:58:42]

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
212412151422539
T:
kumjacfp127g
216112224023137
T:
jacfp127i
250922618927065
T:
prjfp127i
261282693327772
T:
hecfp127i
372033741537738
T:
gls254
367563744038639
T:
hecfp128i
384933863939290
T:
curve2251
391673921839274
T:
gls254prot
399014052541582
T:
ecfp256e
421504290244031
T:
ecfp256h
463104635646406
T:
k277taa
460064673848135
T:
ecfp256q
532525338554239
T:
kummer
533745357253807
T:
k298
693767013770904
T:
gls1271
722457229472337
T:
k277mon
788787969479807
T:
kumfp127g
112604112700112864
T:
kumfp128g
125436125840126874
T:
curve25519
152153152526152841
T:
ed448goldilocks
176921178105179427
T:
ecfp256i
176728178824180505
T:
sclaus1024
232978233702234474
T:
nistp256
503611507677510154
T:
surf2113
822039823060824396
T:
ed521gs
891230899150906481
T:
sclaus2048
955768957034959474
T:
nist521gs
976918978937983596
T:
claus
Cycles to compute a shared secret
25%50%75%system
361793622736278
T:
gls254
387843896939024
T:
gls254prot
460704610846157
T:
k277taa
533395343053597
T:
k298
533265378954691
T:
kummer
721557219672226
T:
k277mon
812168212482234
T:
kumfp127g
837448385084001
T:
kumjacfp127g
118001118075118235
T:
kumfp128g
125669125974126762
T:
jacfp127i
136212136559136881
T:
curve25519
144072144248144341
T:
curve2251
161420161722162156
T:
ecfp256e
166780167080167803
T:
prjfp127i
167580169031169206
T:
hecfp127i
171922172616173577
T:
ecfp256i
172385172654173027
T:
ecfp256q
171909177410178364
T:
gls1271
179550180020180969
T:
sclaus1024
200500200941201898
T:
ecfp256h
253242253588254284
T:
hecfp128i
456831457052457300
T:
ed448goldilocks
499620501999507448
T:
surf2113
588354589345590920
T:
nistp256
822761823422824379
T:
ed521gs
902606905913908926
T:
sclaus2048
955303956377959068
T:
nist521gs
972644975939980494
T:
claus