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-20240716

[Page version: 20240726 23:45:37]

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.


Implementation notes

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
212392210223383
T:
jacfp127i
223402311224667
T:
kumjacfp127g
251762657827674
T:
hecfp127i
257862670527929
T:
prjfp127i
310933211933326
T:
jacfp128bk
356993617237452
T:
hecfp128i
367243694937361
T:
gls254
366663757339202
T:
hecfp128fkt
376313851139181
T:
hecfp128bk
386653870638749
T:
gls254prot
374563884440478
T:
prjfp128bk
393893949139829
T:
curve2251
457244575445795
T:
k277taa
503815045650572
T:
k298
527435403654151
T:
kummer
694017028671222
T:
gls1271
709017098771051
T:
k277mon
791837926079341
T:
kumfp127g
111122111174111227
T:
kumfp128g
125241125449125740
T:
curve25519
153220153440153734
T:
ed448goldilocks
175787177522179063
T:
sclaus1024
260888260999261116
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
525255261753974
T:
kummer
707727089570959
T:
k277mon
806458073880846
T:
kumfp127g
826218269182781
T:
kumjacfp127g
880568814188221
T:
jacfp128bk
108935109049109176
T:
prjfp128bk
112043112138112254
T:
hecfp128bk
115407115456115515
T:
kumfp128g
116077116177116305
T:
hecfp128fkt
124292124406124501
T:
jacfp127i
134940135324135571
T:
curve25519
143867145208145531
T:
curve2251
165261165426165569
T:
prjfp127i
167181167323167488
T:
hecfp127i
173692174571175101
T:
gls1271
176808177054179175
T:
sclaus1024
248894249039249293
T:
hecfp128i
464799465143465601
T:
ed448goldilocks
515526517054518296
T:
surf2113
825537825910826282
T:
ed521gs
894309894664894895
T:
nistp256
881142904084914262
T:
sclaus2048
104551210468231109534
T:
claus