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; Gracemont (906a4-20); 2022 Intel Core i3-1215U, E cores; 4 x 1600MHz; alder2,1f626960,3300000, supercop-20250307

[Page version: 20250328 20:57:54]

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
268502745728354
T:
jacfp127i
276972846129648
T:
kumjacfp127g
296373026131111
T:
prjfp127i
308133144832597
T:
hecfp127i
344453459834953
T:
curve2251
368643699737150
T:
gls254
376413815538866
T:
jacfp128bk
380993815938229
T:
gls254prot
387053916240010
T:
ecfp256e
421154272243725
T:
ecfp256s
429774350144351
T:
prjfp128bk
433314413345100
T:
hecfp128fkt
437054426345115
T:
hecfp128bk
435144435145215
T:
hecfp128i
448144517345743
T:
ecfp256h
450604568246696
T:
ecfp256q
481584823148361
T:
k277taa
528705299853198
T:
k298
680116893269789
T:
gls1271
719157210872206
T:
k277mon
114245114499114684
T:
kumfp127g
117092117440117532
T:
kummer
149060149494149674
T:
kumfp128g
154845155063155426
T:
curve25519
198161199493200852
T:
ecfp256i
241935243852247466
T:
ed448goldilocks
245390245597246473
T:
nistp256
341754346044349343
T:
sclaus1024
133057113536551359208
T:
ed521gs
149890815028721508711
T:
nist521gs
199694820028972008742
T:
claus
226184322808662295975
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
362803634436408
T:
gls254
380563811238174
T:
gls254prot
481694819248260
T:
k277taa
526635276352875
T:
k298
718647201772112
T:
k277mon
115136115506115938
T:
jacfp128bk
116232116634117424
T:
kummer
117750117881118189
T:
kumfp127g
118945119272119674
T:
kumjacfp127g
137254137456137787
T:
curve2251
140500140970141180
T:
prjfp128bk
144938145284145585
T:
hecfp128bk
149616149873150216
T:
hecfp128fkt
156095157493157645
T:
kumfp128g
166695167055168154
T:
curve25519
168654170759179201
T:
gls1271
175492176023176567
T:
jacfp127i
184347184774185201
T:
ecfp256e
193143193567194292
T:
ecfp256i
195018195510196123
T:
ecfp256q
220051221052221907
T:
prjfp127i
223565224616225637
T:
hecfp127i
230934231243231781
T:
ecfp256h
259403260373261067
T:
ecfp256s
321490322278323510
T:
hecfp128i
348025355255359515
T:
sclaus1024
841680844895849449
T:
nistp256
853099855250862275
T:
ed448goldilocks
133375913502611364430
T:
ed521gs
150395815083721517816
T:
nist521gs
200150820069352010304
T:
claus
230368523244402333354
T:
sclaus2048