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; Broadwell+AES (306d4); 2015 Intel Core i3-5005U; 2 x 1900MHz; shoe, supercop-20240625

[Page version: 20240726 23:45:37]

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.


Implementation notes

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
243902502825630
T:
jacfp127i
254862596526385
T:
kumjacfp127g
273612812329416
T:
prjfp127i
280202886029574
T:
hecfp127i
318163265433586
T:
jacfp128bk
369983720137463
T:
gls254
373973802338707
T:
hecfp128bk
378203845839191
T:
hecfp128fkt
381273886239742
T:
prjfp128bk
385063902339809
T:
hecfp128i
396533974439826
T:
gls254prot
404984112542209
T:
curve2251
493744947449570
T:
k277taa
552205541755620
T:
k298
670726710767149
T:
kummer
768367689776956
T:
k277mon
769807797178538
T:
gls1271
901979027490339
T:
kumfp127g
128403128478128567
T:
kumfp128g
142861142946143033
T:
curve25519
156756157234157977
T:
ed448goldilocks
186285188264190459
T:
sclaus1024
247198247669249218
T:
nistp256
519092521365522891
T:
surf2113
903906904390905062
T:
ed521gs
939946945975950476
T:
sclaus2048
9899779910211012435
T:
claus
102102010214911022141
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
360983618736268
T:
gls254
395403962639709
T:
gls254prot
491854928449384
T:
k277taa
551435525855372
T:
k298
669126692466964
T:
kummer
766997672476762
T:
k277mon
875768765487813
T:
kumjacfp127g
927789295794065
T:
kumfp127g
964709653996649
T:
jacfp128bk
116622116830117988
T:
prjfp128bk
120506120658120766
T:
hecfp128bk
125010125132125281
T:
hecfp128fkt
133654133738133837
T:
kumfp128g
142808142884142968
T:
curve25519
153644153912154221
T:
jacfp127i
154605154986155184
T:
curve2251
184662184872185077
T:
prjfp127i
186561186825188956
T:
hecfp127i
186937188640193146
T:
gls1271
191214192617194441
T:
sclaus1024
267184267317267556
T:
hecfp128i
467599467816468032
T:
ed448goldilocks
512866518260520743
T:
surf2113
628474628875629642
T:
nistp256
904580904969905273
T:
ed521gs
934943944087950526
T:
sclaus2048
986678987600988614
T:
claus
102068310210951021767
T:
nist521gs