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-20241022

[Page version: 20241107 11:35:00]

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
659866376786picnic3l1
670767336780picnicl1full
945494729584picnic3l3
951095539619picnicl3full
124741250712617picnic3l5
125201256612694picnicl5full
132551330213432
T:
picnic2l1fs
141941433714454picnicl1ur
143241436314512picnicl1fs
253522542425504
T:
picnic2l3fs
264762656526902picnicl3ur
261372668726809picnicl3fs
309763110331210
T:
lattisigns512
329223362233897
T:
picnic2l5fs
344363461635586picnicl5fs
344313507835643picnicl5ur
698467038871205ed25519
122830123683125056aimer128s
124220124496125667aimer128f
215351215715216359
T:
ed448goldilocks
297245297546298207aimer192f
296377301806311386
T:
hector
308468308664309052aimer192s
369120369369370000T!!!dilithium2
374768377614380040nccsign1
434213435156437604
T:
pass769
497223500055502748nccsign3
547127548869551791
T:
pass863
601262606136614546nccsign1aes
682118683145684804T!!!dilithium3
715138715901717193aimer256f
721262721975723345aimer256s
763704766962769697nccsign5
787735794398801988nccsign3aes
825375827978830109T!!!dilithium2aes
878050878709880751
T:
sphincsf128harakasimple
101100010117121025982
T:
sphincsf128harakarobust
104517510458441046715T!!!dilithium5
113715711394481140281
T:
mqdss48
120680812117481218831nccsign5aes
125085612604481264082
T:
sphincsf192harakasimple
135545013773051397685
T:
donald2048
675704?1445769?3179957?haetae2
151273115142521515200
T:
sphincsf192harakarobust
150931315147331519730T!!!dilithium3aes
1145122?2098635?4019257?haetae3
1761339?2339625?3429891?
T:
qtesla1
1141362?2373754?4032798?haetae5
252791825340042538884T!!!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
124713921247417312484148
T:
sphincs256
138563181389742213928652
T:
rainbowbinary256181212
141807631418449514190434
T:
sphincsf192shake256simple
181390681814107918147663
T:
sphincsf128shake256robust
224910102249826722504471
T:
rainbow1aclassic363232
229406122297755723052323
T:
luov4849242
233820722338833923494738
T:
rainbow1acompres363232
235941632365052623674707
T:
rainbow1acyclicc363232
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
138625153138921294140726747
T:
rainbow3cclassic683248
140023948140091434140206553
T:
rainbow3ccompres683248
142578824143803272160982616
T:
rainbow3ccyclicc683248
145750722145894492146136519
T:
luov8086399
155974010156259845156338216mqsignlr2567246
201805447201839620201908240mqsignrr2567246
216553439216864822217257410
T:
luov8117404
309174774309222708309397337
T:
sphincss128shake256simple
390084858390809094391024094
T:
rainbow5cclassic963664
405284015405858994421152041
T:
rainbow5ccyclicc963664
405957937407719389422022012
T:
rainbow5ccompres963664
452340809452612090452624599
T:
sphincss192shake256simple
453547286454189268454701310
T:
redgemss192v2
499683112499798840499965654
T:
redgemss192
534427811534646272535136471
T:
bluegemss192v2
536859870537196083537671968
T:
bluegemss192
542496190542620263543062208
T:
gemss192v2
561404225561830581563487488
T:
gemss192
584457938585188696585217668
T:
sphincss128shake256robust
586331275586445465587035520mqsignlr25611272
594655242594731496596567278
T:
sphincss256shake256simple
770335559770558906771694283mqsignrr25611272
858482917858501031858597235
T:
sphincss192shake256robust
108437727010852220141102986256
T:
redgemss256v2
113551367611355926591136424152
T:
sphincss256shake256robust
144707247214472447341447513409mqsignlr25614896
145338294314550731241459061552
T:
redgemss256
156344191815643515051566954115
T:
gemss256v2
156312264915647095591565598154
T:
bluegemss256v2
156916803715707733621572238099
T:
bluegemss256
157983969015896034311650074496
T:
gravitysphincss
162129867916261172041627002891
T:
gemss256
187168770718723518471873740179mqsignrr25614896
545394046956004673705767282692
T:
pqrsa15
252661907552529257578425294859448
T:
gravitysphincsl
504712284455054565333850579226082
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
219292209422561
T:
rainbowbinary256181212
779607823678800ed25519
149758150785151613
T:
rainbow1aclassic363232
154687156073158376
T:
rainbow1acyclicc363232
225513225852226175
T:
ed448goldilocks
320841323679335253
T:
hector
252663?425620?810866?
T:
lattisigns512
546525549785554656
T:
rainbow3ccyclicc683248
551010553980556105
T:
rainbow3cclassic683248
325074?637502?1059364?
T:
qtesla1
786646797040805913
T:
falcon512tree
859188?863067?1319029?nccsign1
672228?915784?1554720?
T:
qtesla3f
941887944822948191mqsignlr2567246
522119?1039309?1552525?
T:
pass769
125468212613881265218
T:
rainbow5cclassic963664
126025112691771276135
T:
falcon512dyn
126850412722241277310
T:
rainbow5ccyclicc963664
947413?1275071?2071041?T!!!dilithium2
664607?1343147?1997120?
T:
pass863
135379313686421383769
T:
donald2048
1073718?1527180?2101705?nccsign3
1131651?1576326?2087529?nccsign1aes
157049415817721593995
T:
falcon1024tree
164857916514791654568mqsignrr2567246
1256451?1878339?3019976?
T:
qtesla1p
1461501?1914524?2948009?T!!!dilithium2aes
897612?2066978?3948170?
T:
qtesla3s
1476158?2160592?2734147?nccsign3aes
1495581?2315865?4304186?T!!!dilithium3
251430625165032518695mqsignlr25611272
1775617?2530273?3286804?nccsign5
255094825667622582595
T:
falcon1024dyn
2133565?2779993?3974796?T!!!dilithium5
2309579?2964887?4838746?T!!!dilithium3aes
2323274?3218094?4494994?nccsign5aes
3734679?3870419?5286360?T!!!dilithium5aes
405700740606214067737mqsignrr25611272
525565552625845269267mqsignlr25614896
2137170?5571613?9011522?haetae3
2500088?5898906?9316397?haetae2
595999759642545967097aimer128f
4738599?6882349?13231638?haetae5
5198733?6926886?10862803?
T:
qtesla3p
729877173073737356962picnicl1full
797531379797637994857mqsignrr25614896
7852711?9264379?11561410?
T:
redgemss128v2
934393993473879352058
T:
luov863256
8545698?10485559?12599089?
T:
redgemss128
105992471060374610611051picnicl1fs
128863581290007713062565picnicl1ur
132107931322660413243491
T:
gravitysphincss
142530931426745814362993picnicl3full
152253041523469915236964aimer192f
188818031899315119029386
T:
rainbow1acompres363232
234005912343475323449025picnicl5full
234622822347879123505231
T:
gravitysphincsm
260420492606195726074896picnicl3fs
22876431?26753936?31756537?
T:
redgemss192v2
279847252800916828033378
T:
gravitysphincsl
283420072835057428354255
T:
mqdss48
297120162974101729752807aimer256f
309754843115782431188484
T:
sphincsf128harakasimple
319821843199945232012920picnicl3ur
327941483281458632829920
T:
luov890351
336119773366026033728120picnic3l1
30035358?36021994?42719813?
T:
redgemss192
365029543657546336749342
T:
sphincsf192harakasimple
374186993748905337667927
T:
sphincsf128harakarobust
445467834456313844628433picnicl5fs
461244434616901746189054
T:
sphincsf192harakarobust
38964226?46848393?61137139?
T:
redgemss256v2
468882674693144846986206aimer128s
491588304931988949343037
T:
luov4849242
532213095324402653274835picnicl5ur
540019225405778954069128
T:
luov8117404
47048969?55642153?73168192?
T:
redgemss256
709169267096313371003473picnic3l3
820287838204494482106458
T:
mqdss64
839454008401556084054794
T:
sphincsf256harakasimple
104938865105625627105981794
T:
sphincsf256harakarobust
114969894115117017115317398
T:
rainbow3ccompres683248
118838218118898355118941930aimer192s
119796621119960458120239696picnic3l5
153820246153884136154261811
T:
luov6468330
179082891179163037179223103
T:
pqrsa15
227043146227401814227527384aimer256s
232672313232748355233277401
T:
sphincs256
285314130286850870302376559
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
461764674147204
T:
rainbow1aclassic363232
481294850948865
T:
lattisigns512
114863116366117030
T:
falcon512tree
117376119740122232
T:
gravitysphincss
137931138836140403
T:
falcon512dyn
138610138915139756
T:
qtesla1
226138228171230102ed25519
236718238039238793
T:
falcon1024tree
245740248400249704
T:
rainbow3cclassic683248
259878267716281150
T:
bluegemss128
274354274915275314haetae2
270017275833283042
T:
gemss128
279070281145282365
T:
falcon1024dyn
270652282521292679
T:
redgemss128
281421286132291176
T:
redgemss128v2
292928293852295302
T:
qtesla3s
300489301226302867
T:
qtesla3f
298832305293309871
T:
gemss128v2
305516313220318640
T:
bluegemss128v2
411699412039412394T!!!dilithium2
481381481912482528haetae3
497300506539515829
T:
gravitysphincsm
540238542769545569nccsign1
599669600799607220haetae5
605406622944634435
T:
redgemss192v2
617414631242647393
T:
sphincss128harakasimple
638762642352646321
T:
rainbow5cclassic963664
643060659116678178
T:
bluegemss192
651906662222675220
T:
gemss192
663601664914668589
T:
pass769
672214672528672834T!!!dilithium3
669557677576688933
T:
redgemss192
679782688321696579
T:
gravitysphincsl
686705688766691356nccsign3
689957712317728334
T:
bluegemss192v2
722732727087729981
T:
ed448goldilocks
733611735706739186
T:
qtesla1p
721921737877750788
T:
gemss192v2
737294740006747047nccsign1aes
796166799230801559T!!!dilithium2aes
821749823620829295
T:
pass863
936237961083978114
T:
sphincss128harakarobust
948135962864973960
T:
sphincss192harakasimple
962350966004969068nccsign3aes
110711911080011108623T!!!dilithium5
110815611107911113203nccsign5
127424212833881292183
T:
hector
126461512848781307352
T:
sphincss256harakasimple
133814813552801366710
T:
redgemss256v2
139404413994941404102T!!!dilithium3aes
136770914008211428072
T:
gemss256
138414014194821439704
T:
gemss256v2
140565614256251459298
T:
redgemss256
140244114564721484624
T:
bluegemss256
146944114893501508829
T:
bluegemss256v2
147333914952001513529
T:
sphincsf128harakasimple
150209515077691514715nccsign5aes
150118715231531539842
T:
sphincss192harakarobust
158670715992821608583
T:
donald2048
168538716872401690511mqsignlr2567246
168651316901811692841mqsignrr2567246
194520719637811982154
T:
sphincss256harakarobust
213901721655682203169
T:
sphincsf128harakarobust
231937023368342353663
T:
sphincsf192harakasimple
231925123458422399102
T:
sphincsf256harakasimple
245520124615042467081T!!!dilithium5aes
293096729648353002448
T:
sphincs256
351752235270523537443
T:
qtesla3p
353883535668203618169
T:
sphincsf256harakarobust
370897437322823780052
T:
sphincsf192harakarobust
427216842787074281774mqsignlr25611272
429240242965194301081mqsignrr25611272
514773052232855304242
T:
sphincss128shake256simple
556879855788085595241aimer128f
586720558796245901440picnicl1full
739157975183987675486
T:
sphincss192shake256simple
761668176191547623806
T:
luov863256
778788777976297805416mqsignrr25614896
780302278101967813594mqsignlr25614896
912284691575769316415picnicl1fs
957649097398039976831
T:
sphincss256shake256simple
97956551010518910234295
T:
sphincss128shake256robust
111817091119249811230515picnicl1ur
116928311170418111721432picnicl3full
121522791230727812565975
T:
sphincsf128shake256simple
141998751421200414217637aimer192f
143587521460643114853234
T:
sphincss192shake256robust
148640321490622614916823
T:
rainbow1acompres363232
149523471497110714981918
T:
rainbow1acyclicc363232
190635221931058819567956
T:
sphincss256shake256robust
194192521945107519471629picnicl5full
194465061958995719814413
T:
sphincsf192shake256simple
199763512012132820333255
T:
sphincsf256shake256simple
199031372016107120322340
T:
mqdss48
228398182285756122890124picnicl3fs
236976082407106924381452
T:
sphincsf128shake256robust
242235662424282924268548
T:
pqrsa15
270600982707386727093355
T:
luov890351
275435032761244927715696picnic3l1
277182772773362927759096picnicl3ur
277563722779298827800293aimer256f
337426543379271633865421
T:
luov4849242
382542663850161938943142
T:
sphincsf192shake256robust
382006593874872339247328
T:
sphincsf256shake256robust
394203423943660540272567picnicl5fs
444998184452406244647258
T:
luov8117404
463949194641061946431646aimer128s
476476754770404247747227picnicl5ur
571944625729579157495211picnic3l3
595916806015771360777850
T:
mqdss64
907366289075895190809430
T:
rainbow3ccompres683248
916893029211236992187816
T:
luov6468330
920637839218652292491678picnic3l5
9022570792429415109373928
T:
rainbow3ccyclicc683248
117856915118097533118351177aimer192s
128788167128938103129138202
T:
picnic2l1fs
165498605165995848167931335
T:
luov8086399
203884371204677007220896368
T:
rainbow5ccompres963664
204350593205440176220959146
T:
rainbow5ccyclicc963664
225292286225457805226025441aimer256s
292570269292819809292948592
T:
picnic2l3fs
522928265523559383527764182
T:
picnic2l5fs