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; Ivy Bridge+AES (306a9); 2012 Intel Core i5-3427U; 2 x 1800MHz; hunsnivy, supercop-20240808

[Page version: 20240828 00:45:27]

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

Cycles to generate a key pair
25%50%75%system
297453025330749
T:
jacfp127i
302433063431623
T:
kumjacfp127g
333093366734178
T:
prjfp127i
342303464935055
T:
hecfp127i
405394115241681
T:
jacfp128bk
488224930249730
T:
prjfp128bk
491944958449901
T:
hecfp128i
491434961150115
T:
hecfp128fkt
491374972750452
T:
hecfp128bk
588506074170593
T:
curve2251
740087516776808
T:
gls254
887028886789036
T:
kummer
964729742298568
T:
gls1271
106054106322106401
T:
gls254prot
116420116606116955
T:
kumfp127g
145401145910148356
T:
curve25519
164017164198164401
T:
kumfp128g
176472176612176961
T:
k277taa
181383182130183806
T:
k298
210043210604211490
T:
ed448goldilocks
257446257713258434
T:
k277mon
266261268554270821
T:
sclaus1024
307428308633309480
T:
nistp256
580501582942584719
T:
surf2113
109080110917701093263
T:
ed521gs
126111712632151265642
T:
nist521gs
137503313850791395239
T:
sclaus2048
159457615986081603575
T:
claus
Cycles to compute a shared secret
25%50%75%system
666176940970543
T:
gls254
885128859688805
T:
kummer
106210106255106351
T:
gls254prot
119253119554119811
T:
kumfp127g
124295124470124834
T:
jacfp128bk
126165126297126439
T:
kumjacfp127g
157011157320157580
T:
curve25519
157614157916158384
T:
prjfp128bk
163283163495163745
T:
hecfp128bk
167078167221167396
T:
hecfp128fkt
170639170877171177
T:
kumfp128g
176360176633176959
T:
k277taa
180679181107181664
T:
k298
190694191104192014
T:
jacfp127i
224529225166225432
T:
curve2251
234421236999243392
T:
gls1271
238550238882239180
T:
prjfp127i
244819245375246196
T:
hecfp127i
257259257604258106
T:
k277mon
270864271743274390
T:
sclaus1024
365459365997366868
T:
hecfp128i
577942579820582649
T:
surf2113
632505633104635213
T:
ed448goldilocks
780977782565784849
T:
nistp256
108279710925291095316
T:
ed521gs
125936812626501268184
T:
nist521gs
137282413849741390261
T:
sclaus2048
158760915987441603774
T:
claus