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 signature systems on one machine: amd64; Sandy Bridge+AES (206a7); 2011 Intel Xeon E3-1225; 4 x 3100MHz; hydra7, supercop-20240909

[Page version: 20241006 02:11: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 signature systems:

For signature systems that support "message recovery", the space for a signature on a long message is shorter than the space for a signature on a short message.

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 signature system and each implementation. Designers and implementors interested in submitting new signature systems and new implementations of existing signature systems should read the call for submissions.


Test results

Graphs: old (pkcycles,pkbytes) (smcycles,sbytes) (mcycles,pkbytes) (mcycles,sbytes) (pkbytes,sbytes)

NISTPQC graphs: (pkcycles,pkbytes) (smcycles,sbytes) (mcycles,pkbytes) (mcycles,sbytes) (pkbytes,sbytes)

Measurement failures: ntrumls401x, ntrumls439x, ntrumls593x, ntrumls743x, qtesla128, qtesla192, qtesla256, rainbowbinary16242020

Cycles to generate a key pair
25%50%75%system
664666796756picnicl1full
659866806775picnic3l1
949795169636picnic3l3
947595379632picnicl3full
124251244612609picnicl5full
124261247212644picnic3l5
132551330213432
T:
picnic2l1fs
143801442514539picnicl1ur
143781443214497picnicl1fs
253522542425504
T:
picnic2l3fs
259392648426655picnicl3ur
261692664326745picnicl3fs
329223362233897
T:
picnic2l5fs
343933448135517picnicl5fs
343453451334783picnicl5ur
699307005470702ed25519
122684122824123077aimer128f
122751122918123238aimer128s
215351215715216359
T:
ed448goldilocks
297304297634298047aimer192f
308392308587309365aimer192s
369162369526370127T!!!dilithium2
374212377115379159nccsign1
434213435156437604
T:
pass769
497815500657503473nccsign3
547127548869551791
T:
pass863
601452606626616390nccsign1aes
682118683642684984T!!!dilithium3
714376714960716175aimer256f
720803722954733445aimer256s
764317768166772535nccsign5
794913801554805907nccsign3aes
826360831406833772T!!!dilithium2aes
878050878709880751
T:
sphincsf128harakasimple
101100010117121025982
T:
sphincsf128harakarobust
104498910456371046727T!!!dilithium5
113715711394481140281
T:
mqdss48
120660612132821219419nccsign5aes
125085612604481264082
T:
sphincsf192harakasimple
135545013773051397685
T:
donald2048
671620?1442132?2038424?haetae2
150902915138751519361T!!!dilithium3aes
151273115142521515200
T:
sphincsf192harakarobust
1144459?2097798?3688436?haetae3
1761339?2339625?3429891?
T:
qtesla1
1158598?2373680?3851242?haetae5
252885525335872538277T!!!dilithium5aes
263396926376722639542
T:
mqdss64
327636832795053288297
T:
sphincsf256harakasimple
401056940180754092722
T:
sphincsf256harakarobust
3902579?5732125?7587093?
T:
qtesla3f
5787836?7637396?13212637?
T:
qtesla3s
7965752?9077511?10108631?
T:
qtesla1p
959895496003059601942
T:
sphincsf128shake256simple
124742561248804812528812
T:
sphincs256
138563181389742213928652
T:
rainbowbinary256181212
141807631418449514190434
T:
sphincsf192shake256simple
181390681814107918147663
T:
sphincsf128shake256robust
229406122297755723052323
T:
luov4849242
230790642309777923121876
T:
rainbow1aclassic363232
236819872369716123931903
T:
rainbow1acyclicc363232
238417402387929424081228
T:
rainbow1acompres363232
269810242698671926994385
T:
sphincsf192shake256robust
269743802704813127092999
T:
sphincss128harakasimple
25442986?27463919?32913058?
T:
falcon512dyn
250127742746560530571162
T:
falcon512tree
318276933190240131987292
T:
luov863256
334225373348943533494814
T:
sphincss128harakarobust
376301843765552938696699
T:
sphincsf256shake256simple
405666034067510140798249
T:
sphincss192harakasimple
41564683?45194704?55682985?
T:
qtesla3p
496160964962591949673449
T:
sphincss192harakarobust
533595905355527253684858
T:
sphincss256harakasimple
642200366444332964457234
T:
sphincss256harakarobust
701736747019408570235835
T:
sphincsf256shake256robust
725767977275636472898067
T:
luov6468330
742255718064014389993875
T:
falcon1024tree
806614528070803880751067
T:
redgemss128
784172958393850492318628
T:
falcon1024dyn
842658958430713984347440
T:
bluegemss128
859786898606823186132214
T:
gemss128
917961449182947091864165
T:
redgemss128v2
956605709579202395871140
T:
bluegemss128v2
965648989662465696700215
T:
gemss128v2
121782126122014859122219718
T:
luov890351
139013734139250380139463166
T:
rainbow3cclassic683248
140088971140188354140473009
T:
rainbow3ccyclicc683248
141438269141890402142654305
T:
rainbow3ccompres683248
145750722145894492146136519
T:
luov8086399
156091452156368676156548510mqsignlr2567246
202125496202360309202429685mqsignrr2567246
216553439216864822217257410
T:
luov8117404
309174774309222708309397337
T:
sphincss128shake256simple
391812598392103800394116122
T:
rainbow5cclassic963664
406498149407263404427847533
T:
rainbow5ccompres963664
424660364424895521425058525
T:
rainbow5ccyclicc963664
452340809452612090452624599
T:
sphincss192shake256simple
453547286454189268454701310
T:
redgemss192v2
499683112499798840499965654
T:
redgemss192
534427811534646272535136471
T:
bluegemss192v2
536859870537196083537671968
T:
bluegemss192
542496190542620263543062208
T:
gemss192v2
561404225561830581563487488
T:
gemss192
584457938585188696585217668
T:
sphincss128shake256robust
586233408586587228586791881mqsignlr25611272
594655242594731496596567278
T:
sphincss256shake256simple
771110822771520840772180555mqsignrr25611272
858482917858501031858597235
T:
sphincss192shake256robust
108437727010852220141102986256
T:
redgemss256v2
113551367611355926591136424152
T:
sphincss256shake256robust
144725826814478631891448299818mqsignlr25614896
145338294314550731241459061552
T:
redgemss256
156344191815643515051566954115
T:
gemss256v2
156312264915647095591565598154
T:
bluegemss256v2
156916803715707733621572238099
T:
bluegemss256
157983969015896034311650074496
T:
gravitysphincss
162129867916261172041627002891
T:
gemss256
187417711918758483231877084641mqsignrr25614896
545394046956004673705767282692
T:
pqrsa15
252661907552529257578425294859448
T:
gravitysphincsl
504712284455054565333850579226082
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
219292209422561
T:
rainbowbinary256181212
777167815778473ed25519
150195151180153705
T:
rainbow1aclassic363232
156073157337159089
T:
rainbow1acyclicc363232
225513225852226175
T:
ed448goldilocks
546424549900553190
T:
rainbow3cclassic683248
619422621596624240
T:
rainbow3ccyclicc683248
325074?637502?1059364?
T:
qtesla1
786646797040805913
T:
falcon512tree
858964?867257?1316873?nccsign1
672228?915784?1554720?
T:
qtesla3f
941337943104946361mqsignlr2567246
522119?1039309?1552525?
T:
pass769
125934812625241267204
T:
rainbow5cclassic963664
126025112691771276135
T:
falcon512dyn
686678?1271113?1595830?T!!!dilithium2
664607?1343147?1997120?
T:
pass863
135379313686421383769
T:
donald2048
150746215113541517297
T:
rainbow5ccyclicc963664
1136329?1523161?2567579?T!!!dilithium2aes
1128183?1553343?2091940?nccsign1aes
157049415817721593995
T:
falcon1024tree
1089412?1642204?2212358?nccsign3
164919316502841652142mqsignrr2567246
1403695?1859341?3668257?T!!!dilithium3
1256451?1878339?3019976?
T:
qtesla1p
897612?2066978?3948170?
T:
qtesla3s
250951025123632514716mqsignlr25611272
255094825667622582595
T:
falcon1024dyn
1479444?2597075?3309960?nccsign3aes
1772541?2710186?4225957?nccsign5
1609247?2910150?4376356?T!!!dilithium5
2312948?3204161?4307457?nccsign5aes
2758085?3760723?6029697?T!!!dilithium3aes
3099658?3869737?5411730?T!!!dilithium5aes
405874740611244071963mqsignrr25611272
525919252630435269023mqsignlr25614896
2497329?5896920?10420316?haetae2
594403959623835996411aimer128f
5198733?6926886?10862803?
T:
qtesla3p
730194173076767310016picnicl1full
800479880065858014406mqsignrr25614896
3851179?8993718?14199922?haetae3
7852711?9264379?11561410?
T:
redgemss128v2
934393993473879352058
T:
luov863256
8545698?10485559?12599089?
T:
redgemss128
106015621062359510779703picnicl1fs
129156751307491813081019picnicl1ur
6855695?13211454?19619667?haetae5
132107931322660413243491
T:
gravitysphincss
142453781426234014295845picnicl3full
152199121523068015233571aimer192f
190926411913632319219148
T:
rainbow1acompres363232
234357342344185923451426picnicl5full
234622822347879123505231
T:
gravitysphincsm
259456822599496826048477picnicl3fs
22876431?26753936?31756537?
T:
redgemss192v2
279847252800916828033378
T:
gravitysphincsl
283420072835057428354255
T:
mqdss48
296729052974028329756747aimer256f
309754843115782431188484
T:
sphincsf128harakasimple
319189053194427432007530picnicl3ur
327941483281458632829920
T:
luov890351
337123503374681133792685picnic3l1
30035358?36021994?42719813?
T:
redgemss192
365029543657546336749342
T:
sphincsf192harakasimple
374186993748905337667927
T:
sphincsf128harakarobust
444701684448708744541930picnicl5fs
461244434616901746189054
T:
sphincsf192harakarobust
38964226?46848393?61137139?
T:
redgemss256v2
469188324693372947090202aimer128s
491588304931988949343037
T:
luov4849242
531489015316158253235835picnicl5ur
540019225405778954069128
T:
luov8117404
47048969?55642153?73168192?
T:
redgemss256
709083007100012771113649picnic3l3
820287838204494482106458
T:
mqdss64
839454008401556084054794
T:
sphincsf256harakasimple
104938865105625627105981794
T:
sphincsf256harakarobust
115961779116046584117537764
T:
rainbow3ccompres683248
118996984119059946119438610aimer192s
120020553120081637120149347picnic3l5
153820246153884136154261811
T:
luov6468330
179082891179163037179223103
T:
pqrsa15
227115599227448744227701475aimer256s
232834089233383106233577922
T:
sphincs256
286661977286784243309068394
T:
rainbow5ccompres963664
302371357302548601302720861
T:
picnic2l1fs
303294366303533259303703200
T:
sphincsf128shake256simple
315192339315539711315965134
T:
luov8086399
279717657?335080573?391068609?
T:
bluegemss128v2
310270135?372077329?434437773?
T:
bluegemss128
387463385387667140387899615
T:
sphincsf192shake256simple
505736398506922894511611928
T:
sphincss128harakasimple
546108200546404900546845656
T:
sphincsf128shake256robust
640021258640347224643217640
T:
sphincss128harakarobust
719635179719818898720199862
T:
sphincsf192shake256robust
748975098749759120750239801
T:
sphincss256harakasimple
856402886?859010483?1198504388?
T:
bluegemss192v2
862194255862543226863766146
T:
sphincsf256shake256simple
911681163911972436912225713
T:
picnic2l3fs
941164645942686961946000211
T:
sphincss256harakarobust
113989100011403182901141199543
T:
sphincss192harakasimple
1219191961?1460678996?1704698492?
T:
bluegemss192
151503847015169196161517948326
T:
sphincss192harakarobust
155402569015545735201555215510
T:
sphincsf256shake256robust
1365955314?1636426088?1910370367?
T:
bluegemss256v2
192239446319242177421926044908
T:
picnic2l5fs
1937340412?2325245902?3102619730?
T:
gemss128
1800487913?2515777069?2871796072?
T:
gemss128v2
2163998380?2593211111?3030050833?
T:
bluegemss256
461023313446106810954611188998
T:
sphincss128shake256simple
5781603989?6940720669?9246735112?
T:
gemss192v2
711020870171107190217124331601
T:
sphincss256shake256simple
814543061281464359148165935471
T:
sphincss128shake256robust
962456295296249270179627001725
T:
sphincss192shake256simple
8285754538?9950555296?11608916752?
T:
gemss192
9638414506?11566626452?15415253576?
T:
gemss256v2
129439570021294446312912948748931
T:
sphincss256shake256robust
166247369081662797651716633736187
T:
sphincss192shake256robust
15438882367?18523689363?21627104323?
T:
gemss256
Cycles to verify 59 bytes
25%50%75%system
194251950619741
T:
rainbowbinary256181212
498195043151212
T:
rainbow1aclassic363232
114863116366117030
T:
falcon512tree
117376119740122232
T:
gravitysphincss
137931138836140403
T:
falcon512dyn
138610138915139756
T:
qtesla1
225196226476227644ed25519
236718238039238793
T:
falcon1024tree
245657248415251654
T:
rainbow3cclassic683248
259878267716281150
T:
bluegemss128
274444274857275580haetae2
270017275833283042
T:
gemss128
279070281145282365
T:
falcon1024dyn
270652282521292679
T:
redgemss128
281421286132291176
T:
redgemss128v2
292928293852295302
T:
qtesla3s
300489301226302867
T:
qtesla3f
298832305293309871
T:
gemss128v2
305516313220318640
T:
bluegemss128v2
411567411819412315T!!!dilithium2
481773482317483234haetae3
497300506539515829
T:
gravitysphincsm
540826542584544951nccsign1
598975599492600129haetae5
605406622944634435
T:
redgemss192v2
617414631242647393
T:
sphincss128harakasimple
643602647243651092
T:
rainbow5cclassic963664
643060659116678178
T:
bluegemss192
651906662222675220
T:
gemss192
663601664914668589
T:
pass769
672382672620673310T!!!dilithium3
669557677576688933
T:
redgemss192
679782688321696579
T:
gravitysphincsl
685802688911690735nccsign3
689957712317728334
T:
bluegemss192v2
722732727087729981
T:
ed448goldilocks
733611735706739186
T:
qtesla1p
721921737877750788
T:
gemss192v2
738327743853750668nccsign1aes
797082799842801884T!!!dilithium2aes
821749823620829295
T:
pass863
936237961083978114
T:
sphincss128harakarobust
948135962864973960
T:
sphincss192harakasimple
960044965965970946nccsign3aes
110677211075371108343T!!!dilithium5
110703811094871111358nccsign5
126461512848781307352
T:
sphincss256harakasimple
133814813552801366710
T:
redgemss256v2
139390113983241403155T!!!dilithium3aes
136770914008211428072
T:
gemss256
138414014194821439704
T:
gemss256v2
140565614256251459298
T:
redgemss256
140244114564721484624
T:
bluegemss256
146944114893501508829
T:
bluegemss256v2
147333914952001513529
T:
sphincsf128harakasimple
150264315065151513287nccsign5aes
150118715231531539842
T:
sphincss192harakarobust
158670715992821608583
T:
donald2048
168139316841661686546mqsignlr2567246
169243416942781697284mqsignrr2567246
194520719637811982154
T:
sphincss256harakarobust
213901721655682203169
T:
sphincsf128harakarobust
231937023368342353663
T:
sphincsf192harakasimple
231925123458422399102
T:
sphincsf256harakasimple
245406124598062464121T!!!dilithium5aes
293536629550242988835
T:
sphincs256
351752235270523537443
T:
qtesla3p
353883535668203618169
T:
sphincsf256harakarobust
370897437322823780052
T:
sphincsf192harakarobust
427508542819124287516mqsignlr25611272
429140842961954299916mqsignrr25611272
514773052232855304242
T:
sphincss128shake256simple
553464555371375542592aimer128f
586442858775865898084picnicl1full
739157975183987675486
T:
sphincss192shake256simple
761668176191547623806
T:
luov863256
780331278093227922338mqsignlr25614896
780438878111277914475mqsignrr25614896
913038791372959162401picnicl1fs
957649097398039976831
T:
sphincss256shake256simple
97956551010518910234295
T:
sphincss128shake256robust
110341871118047611235977picnicl1ur
117029681171045711741072picnicl3full
121522791230727812565975
T:
sphincsf128shake256simple
142104471421270014233575aimer192f
143587521460643114853234
T:
sphincss192shake256robust
150219061502647515063656
T:
rainbow1acompres363232
150326231503764015096516
T:
rainbow1acyclicc363232
190635221931058819567956
T:
sphincss256shake256robust
194434571948023119497945picnicl5full
194465061958995719814413
T:
sphincsf192shake256simple
199763512012132820333255
T:
sphincsf256shake256simple
199031372016107120322340
T:
mqdss48
227938982280927922836877picnicl3fs
236976082407106924381452
T:
sphincsf128shake256robust
242235662424282924268548
T:
pqrsa15
270600982707386727093355
T:
luov890351
276505952767364027725813picnic3l1
277175902772845927744619picnicl3ur
278026492780696227811448aimer256f
337426543379271633865421
T:
luov4849242
382542663850161938943142
T:
sphincsf192shake256robust
382006593874872339247328
T:
sphincsf256shake256robust
393452983936734539389088picnicl5fs
444998184452406244647258
T:
luov8117404
464262924643477246481679aimer128s
476418554771130147880070picnicl5ur
571820525720842857310553picnic3l3
595916806015771360777850
T:
mqdss64
909420079111357591446181
T:
rainbow3ccyclicc683248
916256869164670693191909
T:
rainbow3ccompres683248
916893029211236992187816
T:
luov6468330
922370879234170192439281picnic3l5
117883038117959871118140132aimer192s
128788167128938103129138202
T:
picnic2l1fs
165498605165995848167931335
T:
luov8086399
205299111205329420227150341
T:
rainbow5ccompres963664
205977778206030344206379383
T:
rainbow5ccyclicc963664
225188488225487735225518804aimer256s
292570269292819809292948592
T:
picnic2l3fs
522928265523559383527764182
T:
picnic2l5fs