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; Goldmont Plus (706a8); 2019 Intel Celeron N4020; 2 x 1100MHz; gemini, supercop-20240909

[Page version: 20240912 11:45:52]

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
464394774549533
T:
kumjacfp127g
471904852049767
T:
jacfp127i
516885287855105
T:
prjfp127i
548505610058847
T:
hecfp127i
615046159762950
T:
curve2251
608646234763970
T:
jacfp128bk
715307249173422
T:
gls254
709537318175595
T:
prjfp128bk
719547362177013
T:
hecfp128bk
723577368576157
T:
hecfp128i
722047381576893
T:
hecfp128fkt
965039657296650
T:
gls254prot
112446113954114918
T:
gls1271
124677124685124694
T:
k277taa
143114143144143236
T:
k298
181140181160181171
T:
k277mon
205380205381205406
T:
kumfp127g
259970260013261187
T:
kumfp128g
268316268323268363
T:
curve25519
323709324319324936
T:
ed448goldilocks
372312376745381114
T:
sclaus1024
377879378062407276
T:
kummer
400916401019401344
T:
nistp256
678024680850681832
T:
surf2113
182954718432781854891
T:
sclaus2048
187736218780011879572
T:
ed521gs
212741121280012129166
T:
nist521gs
224570722539882295097
T:
claus
Cycles to compute a shared secret
25%50%75%system
669876803968365
T:
gls254
961929625796277
T:
gls254prot
124552124564124567
T:
k277taa
142891142912142961
T:
k298
181086181086181100
T:
k277mon
191525191634191800
T:
jacfp128bk
209640209654209661
T:
kumfp127g
211145211276211278
T:
kumjacfp127g
232290232397232477
T:
prjfp128bk
235429235555235702
T:
curve2251
237748237815237949
T:
hecfp128bk
246391246456246785
T:
hecfp128fkt
268044268047268060
T:
kumfp128g
268298268301268307
T:
curve25519
283478284228289926
T:
gls1271
315656315940316915
T:
jacfp127i
377791378054408544
T:
kummer
381073381218381672
T:
sclaus1024
394363394439394653
T:
prjfp127i
403807403927404061
T:
hecfp127i
540698540971541408
T:
hecfp128i
667950679020679347
T:
surf2113
108691610870251087643
T:
ed448goldilocks
137356313737011374567
T:
nistp256
181424418377681849593
T:
sclaus2048
187647318769801877421
T:
ed521gs
212700621271882127883
T:
nist521gs
225116222681472285852
T:
claus