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; Core 2 45nm (1067a); 2009 Intel Core 2 Duo E7600; 2 x 3060MHz; wolfdale, supercop-20240716

[Page version: 20240726 23:45:48]

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.


Implementation notes

Graphs: (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

Cycles to generate a key pair
25%50%75%system
672067956879picnicl1full
725972927396picnic3l1
966897409800picnicl3full
102511027410330picnic3l3
124771251412671picnicl5full
124871253312641picnic3l5
152701537915540
T:
picnic2l1fs
154341548315599picnicl1fs
156801574515836picnicl1ur
310283114831326
T:
picnic2l3fs
311983130331578picnicl3fs
312193134331717picnicl3ur
426344272643336
T:
picnic2l5fs
429974310643330picnicl5ur
434034369045060picnicl5fs
988569903699880ed25519
135673135743135830aimer128f
135392135886136661aimer128s
218749219313220189
T:
ecdonaldp256
264971265328266276
T:
donald512
281186282061282904
T:
ecdonaldp224
330665331876333162
T:
ed448goldilocks
333350333600333921aimer192f
359619359732359961aimer192s
419045419450419897T!!!dilithium2
554885556963559947
T:
pass769
680896682324684581
T:
pass863
742756743004747699
T:
donald1024
760706761381762526T!!!dilithium3
817668818565820505aimer256s
819041819364821343aimer256f
874726877332880964T!!!dilithium2aes
103141010339961038427
T:
edons128k08n72nu8l4mu3
117689911774791179520T!!!dilithium5
138713613899001391900
T:
mqdss48
140137114031811407662
T:
ecdonaldp521
145495514656941477386
T:
ecdonaldp160
799927?1499489?3571946?haetae2
158096815884691591787T!!!dilithium3aes
175275217605711776074
T:
ecdonaldp192
178638618050751821990
T:
donald2048
213468521421232161105
T:
ecdonaldk163
224703822592712270203
T:
ecdonaldb163
265267126579392664733T!!!dilithium5aes
284382528569772870016
T:
ecdonaldk233
294941229622532995257
T:
ecdonaldb233
2043165?3029648?5067412?haetae3
2349468?3084369?4573434?
T:
qtesla1
321924832214523222450
T:
mqdss64
325080232557013267206
T:
edons128ref
1527867?3586799?8711405?haetae5
571278857461745771963
T:
ecdonaldk283
3998478?5860164?7758841?
T:
qtesla3f
609879861599246258207
T:
ecdonaldb283
713535671613307178693
T:
ecdonaldp384
7033987?9302646?13765191?
T:
qtesla3s
8087216?9365585?11754359?
T:
qtesla1p
108435091084584210848655
T:
sphincsf128shake256simple
116563031165747311678298
T:
sphincsf128harakasimple
118544991193222312050593
T:
ecdonaldk409
123815981238271012384102
T:
sphincs256
130287111317647913313624
T:
ecdonaldb409
161070421610757916109098
T:
sphincsf192shake256simple
171316041713326017135528
T:
sphincsf192harakasimple
197622211983600419869985
T:
rainbowbinary256181212
207397812074257820785458
T:
sphincsf128shake256robust
216554972167150821694243
T:
sphincsf128harakarobust
218241392189033021978769
T:
rainbow1aclassic363232
228075892284932522872324
T:
rainbow1acompres363232
228611062288678122938338
T:
rainbow1acyclicc363232
237601652380768823850933
T:
luov4849242
253029202533346225379683
T:
ecdonaldk571
280482522809901428174098
T:
ecdonaldb571
304841383048516230486102
T:
sphincsf192shake256robust
314427513145448131482792
T:
sphincsf192harakarobust
322234213227742532342103
T:
luov863256
22938694?34307562?47402383?
T:
rwb0fuz1024
336808463651087940287997
T:
falcon512dyn
33355917?37064638?42976039?
T:
falcon512tree
28282847?37162520?47026589?
T:
ronald512
422100854221151542215766
T:
sphincsf256shake256simple
456924304573323845736934
T:
sphincsf256harakasimple
39948799?50715313?61514949?
T:
qtesla3p
49730751?71648569?107701428?
T:
ronald768
771023087716711477278674
T:
luov6468330
795590567961501179640584
T:
sphincsf256shake256robust
849196378504216485302286
T:
sphincsf256harakarobust
100147018101029757101100071
T:
rainbowbinary16242020
99941413105309017116545024
T:
falcon1024tree
108949095110977403122532965
T:
falcon1024dyn
59599982?117948352?176566383?
T:
ronald1024
121955402122112772122288173
T:
luov890351
133981109134417454134793146
T:
rainbow3cclassic683248
144733971145211636145498095
T:
rainbow3ccompres683248
145873825146102126146215397
T:
luov8086399
149176382152987402155896563
T:
rainbow3ccyclicc683248
184415725184491876184630580mqsignlr2567246
219480632219779268219973808
T:
luov8117404
240984192241410315241795894mqsignrr2567246
272705002272733945272764117
T:
redgemss128v2
315844930315881719315903094
T:
sflashv2
335811411335926048336614521
T:
bluegemss128v2
229550494?344940203?574337657?
T:
ronald1536
347258054347277381349629170
T:
sphincss128shake256simple
370122752370128907370263412
T:
sphincss128harakasimple
375483489375559408375753691
T:
gemss128v2
415279451416174973417229449
T:
rainbow5cclassic963664
446035835449211957460411840
T:
rainbow5ccompres963664
450145596451267769459377497
T:
rainbow5ccyclicc963664
515510782515578489517773106
T:
sphincss192shake256simple
545272582545705732545737924
T:
sphincss192harakasimple
663589890663609295663636853
T:
sphincss128shake256robust
675408931675439727675449475
T:
sphincss256shake256simple
679373492679837831680476904mqsignlr25611272
688839647688873949688913666
T:
sphincss128harakarobust
730279188730358777731554315
T:
sphincss256harakasimple
890976151893811409894731909mqsignrr25611272
975734230978687179989427347
T:
sphincss192shake256robust
447679212?1007277260?1599657813?
T:
ronald2048
101753615710175607611019877420
T:
sphincss192harakarobust
127304483012731041431273289408
T:
sphincss256shake256robust
128780052112981210431304205391
T:
redgemss128
136186244413636598131364894267
T:
sphincss256harakarobust
138724767413915465691392517243
T:
redgemss192v2
170343108717037769921704479764mqsignlr25614896
173214338017331894631738921067
T:
bluegemss192v2
179131899917913798071792151854
T:
rainbow1a
184546838818663436911886785110
T:
bluegemss128
219414890221951941322196102926mqsignrr25614896
258553751725943771232599276151
T:
gemss128
1552599515?2721863541?3886901692?
T:
ronald3072
442919406845463944324666592113
T:
redgemss256v2
452488261845470864674567536066
T:
gui184
520892437852472895465255736607
T:
redgemss192
528890906752910718755295520917
T:
bluegemss256v2
645790376564605393066468848464
T:
rainbow1c
5277655249?7230526898?11158843002?
T:
ronald4096
736769837773681934367372441619
T:
rainbow1b
749745081275071350617524349324
T:
bluegemss192
758708513278117847148029320782
T:
pqrsa15
143894418451451213041814531903557
T:
redgemss256
156860752001572282826415755061793
T:
rainbow3b
165317296531653618156116540547644
T:
rainbow4a
193532955781938918982919448524014
T:
bluegemss256
687221425656876268451869357643307
T:
rainbow3c
710090275237222307542372428064686
T:
rainbow6a
Cycles to sign 59 bytes
25%50%75%system
269702740328134
T:
rainbowbinary256181212
677146906774181
T:
rainbowbinary16242020
103837104153104475ed25519
164921165551193374
T:
rainbow1aclassic363232
176893178541183072
T:
rainbow1acyclicc363232
189973190338190816
T:
sflashv2
300338300817301427
T:
ecdonaldp256
342294343157344852
T:
ed448goldilocks
420020420788421717
T:
ecdonaldp224
476762482060486923
T:
donald512
783327786092790149
T:
rainbow1a
788767799949809118
T:
ronald512
813349815685817950
T:
rainbow3cclassic683248
830052832787842222
T:
rainbow3ccyclicc683248
957949962888967826
T:
donald1024
954955967150976629
T:
falcon512tree
116554711760261182787mqsignlr2567246
721417?1181746?2840078?
T:
qtesla1
640632?1272688?1901253?
T:
pass769
146393314773901486323
T:
ronald768
153675815409711553140
T:
ecdonaldp160
782703?1550664?1589879?
T:
pass863
164218616525021662210
T:
falcon512dyn
168182517013001714519
T:
rwb0fuz1024
178904618003101814656
T:
donald2048
184614018537321874314
T:
ecdonaldp192
192257919281001934465
T:
rainbow5cclassic963664
1133788?1948349?3134414?
T:
qtesla3f
194376219504411956135
T:
edons128k08n72nu8l4mu3
193880419592591967361
T:
rainbow5ccyclicc963664
196027719723011989598
T:
falcon1024tree
198601119965912018610
T:
ronald1024
200898320138592035731mqsignrr2567246
1101828?2019101?3051883?T!!!dilithium2
221301122211232230195
T:
ecdonaldk163
224325522496362255851
T:
ecdonaldp521
1310623?2259407?5999853?
T:
qtesla3s
229155522976882321229
T:
ecdonaldb163
1626316?2417685?3148640?T!!!dilithium2aes
248567224894362545980
T:
rainbow1c
252250825236192525836
T:
rainbow4a
1702322?2609099?4527190?T!!!dilithium3
295352529718112996011
T:
ecdonaldk233
1984996?3038219?4630718?
T:
qtesla1p
307746730861343095590
T:
ecdonaldb233
2508544?3094117?4269120?T!!!dilithium3aes
310702531086983110867
T:
rainbow1b
2448487?3145732?4191310?T!!!dilithium5
316003431623993171855mqsignlr25611272
339426334193433483292
T:
rainbow3b
342444534342753449502
T:
falcon1024dyn
447386946748014683872
T:
edons128ref
497150649771155002604mqsignrr25611272
2660806?5050232?11031875?haetae2
4023394?5441807?6407891?T!!!dilithium5aes
558672456128755745015
T:
rainbow6a
575901257777215799132
T:
ronald1536
589762959600486016112
T:
ecdonaldk283
629536362968176298957aimer128f
627633363051956330758
T:
ecdonaldb283
669442666987646702465mqsignlr25614896
747277474881217505464
T:
ecdonaldp384
4045101?7599713?12956019?haetae3
918901491917799278850
T:
rainbow3c
4986584?9347102?15984099?haetae5
954609695736649629086
T:
ronald2048
991602899262959935766mqsignrr25614896
110682971107171711080035
T:
luov863256
122539861228553512450268
T:
ecdonaldk409
133372861354404113670478
T:
ecdonaldb409
9257400?15092132?20058991?
T:
qtesla3p
150827131512833415148508
T:
rainbow1acompres363232
160907911610154716248974aimer192f
181651751817309918178690picnicl1full
220913112209803022103613picnicl1fs
261932142623703926287586
T:
ecdonaldk571
267217942678327126856501
T:
ronald3072
290568152935677229830258
T:
ecdonaldb571
300732093008014230112283picnicl1ur
342171823424319234545919aimer256f
347182123472910034750852picnicl3full
381199093816386638189407
T:
luov890351
498491074988229549965703aimer128s
521272965213257752141425
T:
mqdss48
529912735300348953030894picnicl3fs
543726605442172054435522picnicl5full
545105055456071354594722
T:
luov4849242
576848245780211757911453
T:
ronald4096
50011551?59480313?67236319?
T:
redgemss128
661852946619602666399479
T:
luov8117404
56400025?67430036?92104007?
T:
redgemss128v2
759784947599249976073614picnicl3ur
907119919074555590757230picnicl5fs
931496359318323393207328picnic3l1
946666839515635895716168
T:
rainbow3ccompres683248
122436993122501948122519375picnicl5ur
126032112126103111126690559aimer192s
105828187?126571941?151605331?
T:
redgemss192
158385659158518837159174912
T:
luov6468330
159952473159965530159993488
T:
mqdss64
138659825?170542368?221587295?
T:
redgemss256
163530877?200235601?224102537?
T:
redgemss192v2
213771096213843368213907578picnic3l3
231818811231950185232152881
T:
sphincs256
251514410251808706253238500
T:
rainbow5ccompres963664
262298695262513379265484962
T:
pqrsa15
262285571262790650264536667aimer256s
339237582339362704339622912picnic3l5
343827208344025937344316570
T:
sphincsf128shake256simple
312540708?368962371?481630846?
T:
redgemss256v2
376934496377865274378028473
T:
luov8086399
423598133423737287424005614
T:
picnic2l1fs
432894774433438794433811569
T:
sphincsf128harakasimple
439531820439765179439936465
T:
sphincsf192shake256simple
500770502501066584501240115
T:
sphincsf192harakasimple
625121199625578883625975154
T:
sphincsf128shake256robust
753033088753801042754509461
T:
sphincsf128harakarobust
814808489815265211815770461
T:
sphincsf192shake256robust
922021524922725903923725717
T:
sphincsf192harakarobust
965500316965659250965932687
T:
sphincsf256shake256simple
122869748112291105531230461281
T:
picnic2l3fs
124470937012454445131245814526
T:
sphincsf256harakasimple
176203845417626405521763774889
T:
sphincsf256shake256robust
1441015044?2212386276?4323188017?
T:
gui184
222480334422259356112227161923
T:
sphincsf256harakarobust
263666294526455508212646949252
T:
picnic2l5fs
2406824896?2893047044?3378794642?
T:
bluegemss128
2545612625?3036546482?3560618604?
T:
bluegemss128v2
519694866351970991175215914125
T:
sphincss128shake256simple
695392805669542194206954925870
T:
sphincss128harakasimple
6168851613?7399183273?8637206260?
T:
bluegemss192
805010492580508063958051269389
T:
sphincss256shake256simple
925402312192546019969255755413
T:
sphincss128shake256robust
7881701320?9451691717?11046954360?
T:
bluegemss256
7979110114?9577773311?12763948404?
T:
bluegemss192v2
109050813661090935461610969334231
T:
sphincss192shake256simple
110808883031109003946911099699267
T:
sphincss256harakasimple
118255697011182887793211838417216
T:
sphincss128harakarobust
145154776141451613818114516778010
T:
sphincss256shake256robust
155373697921555287711015555194808
T:
sphincss192harakasimple
13551377800?16254311407?18993713408?
T:
bluegemss256v2
189256701541897766471219183200828
T:
sphincss192shake256robust
16222672286?19467569766?22716240143?
T:
gemss128v2
195382391251956962161819616101796
T:
sphincss256harakarobust
14864607840?22187156310?25971183609?
T:
gemss128
279653807882797020804828005387423
T:
sphincss192harakarobust
Cycles to verify 59 bytes
25%50%75%system
119921219112428
T:
rwb0fuz1024
247682500925184
T:
rainbowbinary256181212
468414738448146
T:
ronald512
530315343053728
T:
ronald768
574715884059996
T:
rainbowbinary16242020
633756397164807
T:
ronald1024
723377399175762
T:
rainbow1aclassic363232
942029500595817
T:
ronald1536
133738135729136190
T:
falcon512tree
135556136288137203
T:
ronald2048
158278160266160842
T:
falcon512dyn
205384205486206069
T:
sflashv2
236471236749238034
T:
qtesla1
249947251058251905
T:
ronald3072
271619273550274421
T:
falcon1024tree
309715312343316855
T:
donald512
316859317195317819haetae2
365232367884369731ed25519
388461390467393945
T:
rainbow3cclassic683248
409997411204412334
T:
ronald4096
412364413855414681
T:
falcon1024dyn
419206433232446092
T:
gui184
447894457728467059
T:
gemss128v2
478678479081479947T!!!dilithium2
482949483739484463
T:
qtesla3f
491728502625515404
T:
bluegemss128v2
511561526824540748
T:
redgemss128v2
526050532110533996
T:
rainbow1a
556382556863557863
T:
qtesla3s
565353566137567177haetae3
702578703375706019
T:
ecdonaldp256
706234707720709105haetae5
709849712042714038
T:
edons128k08n72nu8l4mu3
766302767283770913
T:
ecdonaldp224
771538773401775526T!!!dilithium3
772481777335782099
T:
donald1024
831346833336836210
T:
pass769
863017865944868816T!!!dilithium2aes
100475710074301009815
T:
pass863
101026310156961023201
T:
rainbow5cclassic963664
112572711289731132316
T:
ed448goldilocks
119126611931891198505
T:
qtesla1p
126226012634231269813T!!!dilithium5
131571913460411382064
T:
redgemss192v2
135401113582661364527
T:
edons128ref
143467214359901438629
T:
rainbow1b
144398314557871468416
T:
ecdonaldp160
148537414895421493923T!!!dilithium3aes
151216215342301588020
T:
bluegemss192v2
169152617039641727386
T:
ecdonaldp192
187676018783801881167
T:
rainbow4a
207714220955532109117
T:
donald2048
210735521091672112147
T:
rainbow1c
259232926007592607416T!!!dilithium5aes
273653127403382742317
T:
rainbow3b
275536328189082925672
T:
redgemss256v2
276155728287062894509
T:
bluegemss256v2
292160129545472987488
T:
sphincs256
417585141803664185568
T:
ecdonaldp521
429207243105524321639
T:
ecdonaldk163
437658443774404386121mqsignrr2567246
444562244465384447596mqsignlr2567246
443626344575134484946
T:
ecdonaldb163
475456448356655024842
T:
rainbow6a
509807051003285102233mqsignrr25611272
516961651718355174287mqsignlr25611272
569996457136075722958
T:
qtesla3p
573302557517185805713
T:
ecdonaldk233
572397458009785912590
T:
sphincss128shake256simple
586386358701655911845aimer128f
593150359586885974486
T:
ecdonaldp384
596606759753965994933
T:
ecdonaldb233
717258273556247543856
T:
sphincss128harakasimple
770207777142767718454
T:
rainbow3c
818366482820308363843
T:
rainbow1acompres363232
819217483748949013577
T:
rainbow1acyclicc363232
851726786487658827402
T:
sphincss192shake256simple
933870093592789365769
T:
luov863256
941447994217529451903mqsignrr25614896
950904595417249650560mqsignlr25614896
106619601077221810824076
T:
sphincss192harakasimple
108818471103005711182100
T:
sphincss256shake256simple
111972781140924411694636
T:
sphincss128shake256robust
115049581157280311640838
T:
ecdonaldk283
124288031253910412644934
T:
ecdonaldb283
129960611307599913080707picnicl1full
134498961378249014073338
T:
sphincss128harakarobust
137633171405014614231511
T:
sphincsf128shake256simple
150405171512151615190138aimer192f
149998871519498415394036
T:
sphincss256harakasimple
164978831673438416990606
T:
sphincsf128harakasimple
166249591688087917204001
T:
sphincss192shake256robust
168525171691624216939641picnicl1fs
204520702085932521125836
T:
sphincss192harakarobust
211508762149024821838602
T:
sphincss256shake256robust
220676002227400722500159
T:
sphincsf192shake256simple
222923062251243522708276
T:
sphincsf256shake256simple
225041192262224522641050picnicl1ur
239894672410060824231446
T:
ecdonaldk409
251903082520504525220058picnicl3full
257582242600935626258150
T:
sphincsf192harakasimple
265560072669925726873945
T:
ecdonaldb409
270449902752764127895011
T:
sphincsf128shake256robust
278877802808463828301793
T:
sphincsf256harakasimple
281668612845198628727499
T:
sphincss256harakarobust
308804903138165332006752
T:
sphincsf128harakarobust
316863163183904932542448
T:
gemss128
320082873202124532081285aimer256f
299165293234102232683815
T:
bluegemss128
334765193351758333571174
T:
pqrsa15
340749753409962334125574
T:
luov890351
357479873576631635788697
T:
luov4849242
360585423618783337352728
T:
redgemss128
370171433761106738109012
T:
mqdss48
398603543991854739997285picnicl5full
414412004149747941560291picnicl3fs
432831634357040444073537
T:
sphincsf192shake256robust
434789514383915844221045
T:
sphincsf256shake256robust
495805644962087649670637aimer128s
500393475027158450705919
T:
rainbow3ccyclicc683248
500473655037834150694410
T:
rainbow3ccompres683248
502467635074002451087414
T:
sphincsf192harakarobust
516271215180823952009350
T:
ecdonaldk571
526255935298806753790197
T:
sphincsf256harakarobust
573641715758227058196519
T:
ecdonaldb571
580543315810019358131357picnicl3ur
581365185826391858488374
T:
luov8117404
725671767259584772723912picnicl5fs
790262727904430679112556picnic3l1
9384234993997055102244912
T:
bluegemss192
939456849402465394109556
T:
luov6468330
978088489784457098058903picnicl5ur
105755631106744580108907501
T:
redgemss192
113151329113646893114359612
T:
rainbow5ccyclicc963664
113302410114144976115126571
T:
rainbow5ccompres963664
116142574116892509118365398
T:
mqdss64
125243833125440333125504834aimer192s
177019592177093635177177892picnic3l3
174149089188058758188643121
T:
bluegemss256
193990024194283733194491455
T:
redgemss256
209632585209770328209888173
T:
picnic2l1fs
215151651215225561215447349
T:
luov8086399
259891352260184945260498120aimer256s
268414392268560644268713438picnic3l5
478233434478713992479693441
T:
picnic2l3fs
852948309855974194856501745
T:
picnic2l5fs