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; Skylake (506e3); 2015 Intel Core i5-6500T; 4 x 2500MHz; thinksky, supercop-20250415

[Page version: 20250828 09:43:32]

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
210322133522008
T:
jacfp127i
213262196123008
T:
kumjacfp127g
243472474625710
T:
prjfp127i
258402666927543
T:
hecfp127i
297833005230794
T:
jacfp128bk
343903529536324
T:
prjfp128bk
362743646936784
T:
gls254
366143737238362
T:
hecfp128bk
366603750838640
T:
hecfp128i
382683831438376
T:
gls254prot
377733867040212
T:
hecfp128fkt
387243929840026
T:
curve2251
410054154742770
T:
ecfp256e
442984495746358
T:
ecfp256s
456584569445750
T:
k277taa
465994728448472
T:
ecfp256q
518305189452022
T:
k298
527015294953655
T:
kummer
691196921769313
T:
k277mon
798887999780109
T:
kumfp127g
111339111433111922
T:
kumfp128g
125388125809126742
T:
curve25519
135667136514137204
T:
sclaus1024
151565151943152486
T:
ed448goldilocks
176319177486178648
T:
ecfp256i
181669182300182886
T:
surf127eps
202887204230205661
T:
ecfp256h
231549231918232473
T:
nistp256
240987248488262691
T:
hector
502347504509506131
T:
surf2113
653186656516668846
T:
sclaus2048
792819794290796248
T:
ed521gs
896963899451945806
T:
claus
947885948389949648
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
355913562435701
T:
gls254
381613820138261
T:
gls254prot
454764552045647
T:
k277taa
516355170651794
T:
k298
525495271958864
T:
kummer
690286909169195
T:
k277mon
811538135781486
T:
kumfp127g
828388292383023
T:
kumjacfp127g
874728755987719
T:
jacfp128bk
106923107084107353
T:
prjfp128bk
111840111988112296
T:
hecfp128bk
115410115474115563
T:
kumfp128g
115909116135116486
T:
hecfp128fkt
123825123960124315
T:
jacfp127i
135228135735136649
T:
curve25519
142445145231148637
T:
curve2251
159355159619159965
T:
ecfp256e
165411165664166360
T:
prjfp127i
167466167638167976
T:
hecfp127i
170254170662171011
T:
ecfp256q
170329170694171247
T:
ecfp256i
172823174641176364
T:
sclaus1024
178424178786179259
T:
surf127eps
196527196714196966
T:
ecfp256h
226251226667227445
T:
ecfp256s
251307251689252235
T:
hecfp128i
457573458117458727
T:
ed448goldilocks
496425499140501071
T:
surf2113
590700591171592597
T:
nistp256
791587793584796232
T:
ed521gs
800007802581807833
T:
hector
840913865113878702
T:
sclaus2048
947710948383949336
T:
nist521gs
103434610361291087902
T:
claus