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; Core 2 45nm (1067a); 2009 Intel Core 2 Duo E7600; 2 x 3060MHz; wolfdale, supercop-20260330

[Page version: 20260418 07:15:53]

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 (or StQ1 starting with supercop-20260214), the median of many speed measurements (or StQ2 starting with supercop-20260214), the third quartile of many speed measurements (or StQ3 starting with supercop-20260214), and the name of the primitive. Measurements with large interquartile range (or stabilized interquartile range) 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
405864130442109
T:
jacfp127i
423914304943846
T:
kumjacfp127g
472254815149727
T:
prjfp127i
485944946951159
T:
hecfp127i
699817057471531
T:
ecfp256e
731277374574476
T:
jacfp128bk
744817500176248
T:
ecfp256h
761847637276426curve25519
764487718778295
T:
ecfp256s
825318322784339
T:
ecfp256q
860398694888347
T:
prjfp128bk
866318757989183
T:
hecfp128fkt
868168781889306
T:
hecfp128bk
868698785689353
T:
hecfp128i
124980126371127682
T:
gls1271
127026127253129162
T:
curve2251
138778138912139050nistp256
179179179454182043
T:
kumfp127g
314697314842315024
T:
kumfp128g
319095321730322963
T:
sclaus1024
331772332618333677
T:
ed448goldilocks
369176371361373876
T:
ecfp256i
388589398895415591
T:
hector
399277402544408962
T:
kummer
416345418761421623
T:
surf127eps
753062756983762166
T:
surf2113
164778616550781708447
T:
sclaus2048
165982016618571671903
T:
ed521gs
191443019204791930722
T:
nist521gs
212954721324772135078
T:
claus
Cycles to compute a shared secret
25%50%75%system
183538183652188307
T:
kumfp127g
187782188034188296
T:
kumjacfp127g
242457242562242691
T:
jacfp128bk
262666262668262732curve25519
293010293148293261
T:
jacfp127i
302399302497302697
T:
prjfp128bk
310134310343310616
T:
hecfp128fkt
310107311288316683
T:
gls1271
315266315389315764
T:
hecfp128bk
327079327229327326
T:
kumfp128g
349324349381349448
T:
ecfp256e
360854361009361227
T:
ecfp256q
362589362841363099
T:
ecfp256i
381791381934382051
T:
prjfp127i
392397392497392603
T:
hecfp127i
400035404346408387
T:
kummer
410160416046418926
T:
surf127eps
426145427396430773
T:
sclaus1024
431570431700431855
T:
ecfp256h
449404449577449751
T:
ecfp256s
523458524596526444
T:
curve2251
527801527865527981nistp256
692652692785694385
T:
hecfp128i
752770757031761654
T:
surf2113
103445010354381038670
T:
ed448goldilocks
124787312825341291440
T:
hector
164855416531691660110
T:
ed521gs
191410719170431924195
T:
nist521gs
217692021890792280388
T:
sclaus2048
254224125555422560832
T:
claus