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; Silvermont (406c4); 2016 Intel Atom x5-Z8350; 4 x 1440MHz; cherry, 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
646906546666936
T:
jacfp127i
679667097478739
T:
kumjacfp127g
726267417176377
T:
hecfp127i
734437569680193
T:
prjfp127i
9724199899105554
T:
jacfp128bk
112724114804117175
T:
hecfp128fkt
113189114935122531
T:
hecfp128i
111891115885119790
T:
curve2251
114353116455120229
T:
hecfp128bk
118458123074130004
T:
prjfp128bk
140354142989145329
T:
gls254
186226188805190482
T:
gls1271
205793205972207210
T:
gls254prot
280553280649280919
T:
kumfp127g
287772287891288253
T:
k277taa
305984307271311105
T:
k298
422305422392422659
T:
k277mon
447460447559447711
T:
kumfp128g
448613448753448981
T:
curve25519
552423554147555342
T:
kummer
618956621660623465
T:
nistp256
765230766930771143
T:
ed448goldilocks
775452782604790392
T:
sclaus1024
113972811490521158785
T:
surf2113
366042436642333670268
T:
ed521gs
380089238276033852737
T:
sclaus2048
432392343275034331834
T:
nist521gs
465820846708584682649
T:
claus
Cycles to compute a shared secret
25%50%75%system
135022139976141170
T:
gls254
205346205510205732
T:
gls254prot
283424283488283592
T:
kumfp127g
286631286689286810
T:
kumjacfp127g
287586287682287868
T:
k277taa
305773307260308558
T:
k298
317503318007318875
T:
jacfp128bk
372996373777376027
T:
hecfp128bk
374389375920379180
T:
prjfp128bk
386147387790389535
T:
hecfp128fkt
422067422118422226
T:
k277mon
426523429950430305
T:
curve2251
435283436147436837
T:
gls1271
442481443533447058
T:
jacfp127i
448504448618448765
T:
curve25519
457835457915459763
T:
kumfp128g
524674526831530198
T:
prjfp127i
533717534843538302
T:
hecfp127i
552107553794554647
T:
kummer
791641795213796891
T:
sclaus1024
809222811172815782
T:
hecfp128i
112907511415681155000
T:
surf2113
208699320917482095883
T:
nistp256
264779126495682656595
T:
ed448goldilocks
365961236611063665228
T:
ed521gs
377261037864643853377
T:
sclaus2048
431691143231994326289
T:
nist521gs
465536646744974688304
T:
claus