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; Zen 3 (a50f00); 2021 AMD Ryzen 5 PRO 5650G; 6 x 3900MHz; cezanne, 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
248082647828392
T:
jacfp127i
252892679928784
T:
kumjacfp127g
285463024032472
T:
hecfp127i
293133111733127
T:
prjfp127i
317373350636793
T:
ecfp256e
340933541140420
T:
curve2251
335973608041266
T:
ecfp256h
382723829638371
T:
gls254prot
367993865441176
T:
hecfp128i
386223898539540
T:
gls254
384354122947208
T:
ecfp256q
472494731947514
T:
kummer
479774802948119
T:
k277taa
531565372454394
T:
gls1271
541355425754971
T:
k298
755987566075733
T:
k277mon
813138146181549
T:
kumfp127g
102496102572102664
T:
curve25519
105059105216105496
T:
kumfp128g
146195147224148135
T:
ecfp256i
158144158471158880
T:
ed448goldilocks
198905200796202646
T:
sclaus1024
219676220130220219
T:
nistp256
356805358349359096
T:
surf2113
754819757965758607
T:
ed521gs
902908905422906941
T:
nist521gs
100771410151521022367
T:
sclaus2048
102284510236951035543
T:
claus
Cycles to compute a shared secret
25%50%75%system
356973573035774
T:
gls254
382603826638324
T:
gls254prot
472854748547643
T:
kummer
479544800948012
T:
k277taa
539565401654084
T:
k298
755357559075664
T:
k277mon
839318400584079
T:
kumfp127g
858278589485979
T:
kumjacfp127g
109736109780110239
T:
kumfp128g
110818110890110979
T:
curve25519
128965129759134200
T:
gls1271
131001131203131532
T:
curve2251
131634131802131915
T:
jacfp127i
132704133242133487
T:
ecfp256e
141589141710142088
T:
ecfp256i
142324142498142555
T:
ecfp256q
158395159313159837
T:
ecfp256h
175187175244175430
T:
prjfp127i
177940178073178266
T:
hecfp127i
201610203417208559
T:
sclaus1024
237888239152239179
T:
hecfp128i
352087352506352850
T:
surf2113
524903527311528762
T:
ed448goldilocks
580485581091582516
T:
nistp256
754202755507756944
T:
ed521gs
902529905585907864
T:
nist521gs
101469110166441017737
T:
sclaus2048
101980810257181026982
T:
claus