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; K10 32nm (300f10); 2011 AMD A8-3850; 4 x 2900MHz; hydra5, supercop-20260330

[Page version: 20260412 01:54:49]

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: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
304983074131045
T:
jacfp127i
320413251033143
T:
kumjacfp127g
340253425734572
T:
prjfp127i
349373536435819
T:
hecfp127i
488564893249075curve25519
489624919249557
T:
jacfp128bk
551725566356194
T:
prjfp128bk
555155591456462
T:
hecfp128bk
555985599156506
T:
hecfp128fkt
557215616356694
T:
hecfp128i
704887165972900
T:
ecfp256e
743787585277375
T:
ecfp256s
765447658176759nistp256
767047821479887
T:
ecfp256q
773517860480045
T:
ecfp256h
105629106972108118
T:
gls1271
119928119964120133
T:
kumfp127g
206023206364206693
T:
kumfp128g
205751207648208547
T:
sclaus1024
264323266422268374
T:
ecfp256i
280023281253282110
T:
surf127eps
312994313716316580
T:
ed448goldilocks
330468339458351048
T:
hector
427295427823428116
T:
kummer
709434713958718377
T:
surf2113
903407906607909793
T:
curve2251
970180978107985028
T:
sclaus2048
135531513572051358899
T:
claus
150717315074371508488
T:
ed521gs
179976918012741803696
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
121603121613121736
T:
kumfp127g
122808122889123051
T:
kumjacfp127g
152307152421153221
T:
jacfp128bk
178008178018178402curve25519
190439190743191365
T:
prjfp128bk
196545196953197381
T:
hecfp128fkt
198185198404198949
T:
jacfp127i
199246199674200058
T:
hecfp128bk
211588211989212670
T:
kumfp128g
249394249902250929
T:
ecfp256e
255068255752256528
T:
ecfp256q
253540256974260078
T:
gls1271
258457258772259139
T:
prjfp127i
258428259674260450
T:
ecfp256i
266008266122266909
T:
hecfp127i
273059274692277471
T:
sclaus1024
278925279737280270
T:
surf127eps
297640297706298414nistp256
311426312142313029
T:
ecfp256s
331227331759332656
T:
ecfp256h
427223427686428029
T:
kummer
428233428754429085
T:
hecfp128i
709226713951716837
T:
surf2113
902639906203912598
T:
curve2251
952940954432957159
T:
ed448goldilocks
109941911366161138831
T:
hector
126391312823041290418
T:
sclaus2048
150687715071091507309
T:
ed521gs
159562615992931601179
T:
claus
179988818005241803293
T:
nist521gs