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; Comet Lake (806ec); 2019 Intel Core i3-10110U; 2 x 2100MHz; comet, 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: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
227672352824567
T:
jacfp127i
239462459825375
T:
kumjacfp127g
274052814328904
T:
hecfp127i
270002836929594
T:
prjfp127i
320073312134386
T:
jacfp128bk
357773649638274
T:
hecfp128bk
365983678537122
T:
gls254
371413824239302
T:
prjfp128bk
383523856639446
T:
curve2251
386493868238710
T:
gls254prot
393614034441476
T:
hecfp128i
397864077242107
T:
hecfp128fkt
457374579446270
T:
k277taa
499995011950924
T:
k298
525715272954508
T:
kummer
709127103471819
T:
k277mon
717967264573297
T:
gls1271
801988029880385
T:
kumfp127g
111055111122113287
T:
kumfp128g
125193125362125625
T:
curve25519
153226153454153762
T:
ed448goldilocks
176744178528180265
T:
sclaus1024
239068239456239818
T:
nistp256
513989516693518196
T:
surf2113
808759808992809451
T:
ed521gs
884831891310898453
T:
sclaus2048
943611944191944612
T:
nist521gs
981482982697984500
T:
claus
Cycles to compute a shared secret
25%50%75%system
357993583435864
T:
gls254
385313856538603
T:
gls254prot
455194557346092
T:
k277taa
497674987550565
T:
k298
527025431854435
T:
kummer
708927096971747
T:
k277mon
806898150981640
T:
kumfp127g
825658265482735
T:
kumjacfp127g
880228814689047
T:
jacfp128bk
107316107420107552
T:
prjfp128bk
112244112380112570
T:
hecfp128bk
115332115406117614
T:
kumfp128g
116015116124116220
T:
hecfp128fkt
124163124280124367
T:
jacfp127i
135267135466135594
T:
curve25519
144345144987145857
T:
curve2251
165209165377165516
T:
prjfp127i
167323167445167627
T:
hecfp127i
180102180642182578
T:
gls1271
177832182292183458
T:
sclaus1024
247154247324247539
T:
hecfp128i
466322466661467030
T:
ed448goldilocks
513821515131516366
T:
surf2113
613894614258614580
T:
nistp256
808755808935809136
T:
ed521gs
874143903110906190
T:
sclaus2048
943459943816944251
T:
nist521gs
977019977501978050
T:
claus