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; Haswell+AES (306c3); 2013 Intel Core i7-4765T; 4 x 2000MHz; prodesk, supercop-20240909

[Page version: 20240920 17:02:19]

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
288002943231472
T:
jacfp127i
317763237232856
T:
kumjacfp127g
321963294435580
T:
prjfp127i
340003532036888
T:
hecfp127i
384523921240748
T:
jacfp128bk
422644318046300
T:
curve2251
452804588446432
T:
gls254
462124675647276
T:
hecfp128fkt
460204697647924
T:
prjfp128bk
464244716849556
T:
hecfp128i
489244903649104
T:
gls254prot
486884986451136
T:
hecfp128bk
625326265262896
T:
k277taa
669966706467736
T:
kummer
702367033270624
T:
k298
893369022491836
T:
gls1271
951289516495192
T:
k277mon
110980111132111548
T:
kumfp127g
144376144416144476
T:
curve25519
157152157432157628
T:
kumfp128g
174612174976176260
T:
ed448goldilocks
216944218744220752
T:
sclaus1024
289036289132289352
T:
nistp256
541632544392556176
T:
surf2113
102411210245281025232
T:
ed521gs
111099611185121126584
T:
sclaus2048
119708811980961199356
T:
nist521gs
153662815383921545324
T:
claus
Cycles to compute a shared secret
25%50%75%system
406844178842080
T:
gls254
488444888448940
T:
gls254prot
624446252862812
T:
k277taa
668686695667668
T:
kummer
698406989669972
T:
k298
949929503295072
T:
k277mon
112380112600112756
T:
kumfp127g
113288113412116736
T:
jacfp128bk
120400120508120648
T:
kumjacfp127g
145912146076146280
T:
hecfp128bk
141600147104147348
T:
prjfp128bk
151188151340151528
T:
hecfp128fkt
155920155992156052
T:
curve25519
157304158720159476
T:
curve2251
162548162632163172
T:
kumfp128g
184680184828185032
T:
jacfp127i
214432216120218292
T:
gls1271
221532224712225000
T:
sclaus1024
224984225292225672
T:
prjfp127i
229416229624229876
T:
hecfp127i
325600325896326220
T:
hecfp128i
540160540288540500
T:
ed448goldilocks
534856540452559992
T:
surf2113
745528746600747952
T:
nistp256
960060960804961816
T:
claus
102377610240481024556
T:
ed521gs
110632811149441134160
T:
sclaus2048
119667211976441198828
T:
nist521gs