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-4770; 4 x 3400MHz; speed2supercop, supercop-20241011

[Page version: 20241021 10:27:55]

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
265403133232664
T:
jacfp127i
277043219233868
T:
kumjacfp127g
301323494036276
T:
prjfp127i
310443560037096
T:
hecfp127i
412324140442984
T:
curve2251
444324494045488
T:
gls254
453164578847004
T:
ecfp256e
491964925249328
T:
gls254prot
462445128852400
T:
hecfp128i
529485395657808
T:
ecfp256q
624086249662576
T:
kummer
634446358463688
T:
k277taa
715287163271856
T:
k298
890849030491152
T:
gls1271
968089685296920
T:
k277mon
110872111080111556
T:
kumfp127g
144364144408144460
T:
curve25519
157376157548157836
T:
kumfp128g
175192175400175596
T:
ed448goldilocks
210232211072212380
T:
ecfp256i
212556213228213912
T:
surf127eps
218596221728236636
T:
sclaus1024
240592241844243072
T:
ecfp256h
280820280972281260
T:
nistp256
530548532956534164
T:
surf2113
99962410003721001176
T:
ed521gs
110080411101161116604
T:
sclaus2048
115731611577001158368
T:
nist521gs
152915615327361551576
T:
claus
Cycles to compute a shared secret
25%50%75%system
403924149241936
T:
gls254
490724912449176
T:
gls254prot
623686244862664
T:
kummer
633806346063568
T:
k277taa
713287141671644
T:
k298
966169666096716
T:
k277mon
112408112512112668
T:
kumfp127g
120368120524121288
T:
kumjacfp127g
155928156032157172
T:
curve25519
158252159400159604
T:
curve2251
162736162944164892
T:
kumfp128g
185676185856186056
T:
jacfp127i
193544193640193748
T:
ecfp256e
201576201720201916
T:
ecfp256q
204912205088205264
T:
ecfp256i
209524210112210624
T:
surf127eps
212532214180223236
T:
gls1271
222680224540239764
T:
sclaus1024
226872227336229780
T:
prjfp127i
230288230540230812
T:
hecfp127i
234852235124235516
T:
ecfp256h
326004326296326620
T:
hecfp128i
531576531828532064
T:
surf2113
538304538600548396
T:
ed448goldilocks
732052732392733072
T:
nistp256
963432964168965360
T:
claus
100124410014481001776
T:
ed521gs
110875611132521124828
T:
sclaus2048
115706411574161157844
T:
nist521gs