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 Xeon E3-1220 v5; 4 x 3000MHz; samba, supercop-20241022

[Page version: 20241120 00:41:13]

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

Cycles to generate a key pair
25%50%75%system
216832262223606
T:
jacfp127i
252752555326465
T:
prjfp127i
249512571226511
T:
kumjacfp127g
267182744928788
T:
hecfp127i
311353207232964
T:
jacfp128bk
367243694937361
T:
gls254
368143731238441
T:
hecfp128fkt
365533733538177
T:
prjfp128bk
365273759739080
T:
hecfp128bk
386653870638749
T:
gls254prot
387233888339520
T:
curve2251
391483991740726
T:
hecfp128i
457244575445795
T:
k277taa
503815045650572
T:
k298
527395353454039
T:
kummer
694017028671222
T:
gls1271
709017098771051
T:
k277mon
791797927579374
T:
kumfp127g
111172111249111982
T:
kumfp128g
125290125676126000
T:
curve25519
153220153440153734
T:
ed448goldilocks
175787177522179063
T:
sclaus1024
184001184510185164
T:
surf127eps
245108248082267527
T:
hector
261035261221261453
T:
nistp256
515764517942520134
T:
surf2113
824996825328826114
T:
ed521gs
887377893517900634
T:
sclaus2048
104805810514931104648
T:
claus
Cycles to compute a shared secret
25%50%75%system
357403577735808
T:
gls254
383973842838469
T:
gls254prot
454994552945563
T:
k277taa
500915016250247
T:
k298
525415262753378
T:
kummer
707727089570959
T:
k277mon
806528075280846
T:
kumfp127g
825808270082811
T:
kumjacfp127g
884218851188609
T:
jacfp128bk
108937109105109249
T:
prjfp128bk
112034112144112307
T:
hecfp128bk
115438115528116998
T:
kumfp128g
116120116212116311
T:
hecfp128fkt
124313124382124495
T:
jacfp127i
134975135488135676
T:
curve25519
144096144499145734
T:
curve2251
165558165731165930
T:
prjfp127i
167295167468167641
T:
hecfp127i
173692174571175101
T:
gls1271
176808177054179175
T:
sclaus1024
178420178898179852
T:
surf127eps
251662251868252088
T:
hecfp128i
464799465143465601
T:
ed448goldilocks
515526517054518296
T:
surf2113
818504823921830759
T:
hector
825537825910826282
T:
ed521gs
894605895098907993
T:
nistp256
881142904084914262
T:
sclaus2048
104551210468231109534
T:
claus