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; Bulldozer (600f20); 2012 AMD FX-8350; 4 x 4000MHz; saber214, 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
466744741548418
T:
jacfp127i
482974907749777
T:
kumjacfp127g
537135465055612
T:
prjfp127i
538725474055826
T:
hecfp127i
677476847271784
T:
curve2251
692887011771172
T:
jacfp128bk
804038156082605
T:
prjfp128bk
812048214083065
T:
hecfp128i
811588214582925
T:
hecfp128fkt
810448216483072
T:
hecfp128bk
886158963190891
T:
gls254
103930104011104072
T:
gls254prot
114022115383116358
T:
gls1271
139821139845139892
T:
k277taa
157398157447157521
T:
k298
157701157875157936
T:
kumfp127g
174671174688174718
T:
curve25519
203058203059203064
T:
k277mon
204646204699205077
T:
kummer
257116257326257368
T:
kumfp128g
357713358287358979
T:
ed448goldilocks
425750430602442374
T:
sclaus1024
525770526201527986
T:
nistp256
664260667107667927
T:
surf2113
174405417442221745689
T:
ed521gs
210951921238502136611
T:
sclaus2048
254106725487302557608
T:
claus
Cycles to compute a shared secret
25%50%75%system
826828501385134
T:
gls254
103873103927104042
T:
gls254prot
139804139836139905
T:
k277taa
157254157274157298
T:
k298
160177160261160262
T:
kumfp127g
160940161079161180
T:
kumjacfp127g
186659186673186700
T:
curve25519
196980197185197482
T:
jacfp128bk
197240197280197452
T:
kummer
203010203010203010
T:
k277mon
241979242911244060
T:
curve2251
247302247390247564
T:
prjfp128bk
252523252585252747
T:
hecfp128bk
262225262300262402
T:
hecfp128fkt
263826264014264254
T:
jacfp127i
267873267874267928
T:
kumfp128g
282567283120290978
T:
gls1271
355131355275355386
T:
prjfp127i
358108358455359659
T:
hecfp127i
428534437123444446
T:
sclaus1024
562616562746562782
T:
hecfp128i
662211664249664732
T:
surf2113
114194611423501144162
T:
ed448goldilocks
174363417437511743862
T:
ed521gs
185879918727081896293
T:
nistp256
213291721518762156732
T:
sclaus2048
254496025515562557230
T:
claus