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; Airmont (406c3); 2015 Intel Pentium N3700; 4 x 1600MHz; nucnuc, supercop-20240909

[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
807078372886721
T:
jacfp127i
841718779391306
T:
kumjacfp127g
93822100582108621
T:
prjfp127i
94283101722108335
T:
hecfp127i
107742110772123545
T:
curve2251
138488140987143789
T:
gls254
131995141515158869
T:
jacfp128bk
134979144018167400
T:
hecfp128fkt
136115146542168988
T:
hecfp128bk
135722149180166770
T:
hecfp128i
150680162915176673
T:
prjfp128bk
185096187297189198
T:
gls1271
206017206139206369
T:
gls254prot
280423280476280574
T:
kumfp127g
287663287828288067
T:
k277taa
305786306232308504
T:
k298
422138422182422277
T:
k277mon
447238447296447416
T:
kumfp128g
448382448413448515
T:
curve25519
550395550397550537
T:
kummer
613180616619617532
T:
nistp256
761913763086764348
T:
ed448goldilocks
769763778824785122
T:
sclaus1024
115384811684551183439
T:
surf2113
365859936601153664173
T:
ed521gs
379218738124353843518
T:
sclaus2048
431260843137844317659
T:
nist521gs
465206446610864670156
T:
claus
Cycles to compute a shared secret
25%50%75%system
135453139051142121
T:
gls254
205745205851206007
T:
gls254prot
283304283336283384
T:
kumfp127g
286553286623286671
T:
kumjacfp127g
287559287671288008
T:
k277taa
305037305286305625
T:
k298
318650319333320087
T:
jacfp128bk
370538371063372800
T:
hecfp128bk
374810375673377277
T:
prjfp128bk
385025385553386736
T:
hecfp128fkt
421914421914422004
T:
k277mon
427786427817427918
T:
curve2251
429009437732448676
T:
gls1271
442250442670443797
T:
jacfp127i
448282448287448351
T:
curve25519
457607457635457704
T:
kumfp128g
520916521382523205
T:
prjfp127i
533348533757535575
T:
hecfp127i
550284550284550331
T:
kummer
780196781291792141
T:
sclaus1024
808350809275813850
T:
hecfp128i
115023411625301174141
T:
surf2113
208136420837702085413
T:
nistp256
263471526352842637418
T:
ed448goldilocks
365734836585593659459
T:
ed521gs
375850037739633861026
T:
sclaus2048
431169743128794313902
T:
nist521gs
465554746706994677417
T:
claus