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; Core 2 65nm (6fb); 2007 Intel Core 2 Duo T7300; 2 x 2000MHz; trident, supercop-20260627

[Page version: 20260902 11:28:34]

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 (or StQ1 starting with supercop-20260214), the median of many speed measurements (or StQ2 starting with supercop-20260214), the third quartile of many speed measurements (or StQ3 starting with supercop-20260214), and the name of the primitive. Measurements with large interquartile range (or stabilized interquartile range) 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: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
422854285243554
T:
jacfp127i
440764462045298
T:
kumjacfp127g
502875102452387
T:
hecfp127i
500485104852297
T:
prjfp127i
701497029270449curve25519
754687591576614
T:
jacfp128bk
785067940680420
T:
ecfp256e
812918211483362
T:
ecfp256h
842538518486341
T:
ecfp256s
884808927290364
T:
prjfp128bk
887778949790840
T:
hecfp128i
893108982590564
T:
hecfp128bk
892379000091317
T:
hecfp128fkt
904399152493029
T:
ecfp256q
125394127178128788
T:
gls1271
132556132988134410
T:
curve2251
138998139295139469nistp256
180658180783181211
T:
kumfp127g
316370316568316957
T:
kumfp128g
321126323525325166
T:
sclaus1024
331412333802337521
T:
ed448goldilocks
377247379330381766
T:
ecfp256i
389474395973409895
T:
hector
415124416812418759
T:
kummer
414725417376420636
T:
surf127eps
757756761120765092
T:
surf2113
164738616563411662510
T:
sclaus2048
170139617029861705190
T:
ed521gs
196106619632281965367
T:
nist521gs
213667121403792266103
T:
claus
Cycles to compute a shared secret
25%50%75%system
183205183313183461
T:
kumfp127g
187552187678187803
T:
kumjacfp127g
242371242639243167
T:
jacfp128bk
262598262689262870curve25519
292817292988293388
T:
jacfp127i
301820302031302482
T:
prjfp128bk
311294311583312392
T:
hecfp128fkt
307709312517321387
T:
gls1271
316871317146317801
T:
hecfp128bk
326817327015327335
T:
kumfp128g
352733353007353209
T:
ecfp256e
365667365818366234
T:
ecfp256q
368616368798369556
T:
ecfp256i
380422381063382010
T:
prjfp127i
392550392686393164
T:
hecfp127i
411328414557417633
T:
surf127eps
415177416580418181
T:
kummer
426679427648428763
T:
sclaus1024
437577437805438291
T:
ecfp256h
454220454444455587
T:
ecfp256s
528562528661529086nistp256
553129554963556884
T:
curve2251
693571694161694956
T:
hecfp128i
753030758384762072
T:
surf2113
103185710341221035651
T:
ed448goldilocks
125669412763621295056
T:
hector
169358516948141696974
T:
ed521gs
195928419629581964843
T:
nist521gs
214626621769972180360
T:
sclaus2048
254218925531412719423
T:
claus