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; Airmont (406c3); 2015 Intel Pentium N3700; 4 x 1600MHz; nucnuc, supercop-20240425

[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
110571108511138picnicl1full
115501395314007picnic3l1
155331558215644picnic3l3
160091606416086picnicl3full
203972048120563picnic3l5
213872142221509picnicl5full
222002223922296picnicl1fs
222982233522393picnicl1ur
267092700029045
T:
picnic2l1fs
414724153041614picnicl3fs
417014173841903picnicl3ur
438554396544048
T:
picnic2l3fs
537005375754880
T:
picnic2l5fs
545165457054643picnicl5fs
547455479254861picnicl5ur
148112148163148449ed25519
320003320989323099
T:
ecdonaldp256
427097427507429898
T:
donald512
547168548855552718
T:
ecdonaldp224
670468671436674572dilithium2
700474701823704446
T:
pass769
763894764515768775
T:
ed448goldilocks
828085830751833572
T:
pass863
120620112080411211157dilithium3
127099912757651281649
T:
donald1024
132720113331361337976
T:
edons128k08n72nu8l4mu3
140831114186331433582dilithium2aes
190881619109761919328dilithium5
203350020427752059038
T:
ecdonaldp160
206108120692682080273
T:
ecdonaldk163
214542521536762161102
T:
ecdonaldb163
236594923682042372534
T:
mqdss48
245654024642592478395
T:
ecdonaldp192
254018125502962583226dilithium3aes
268433326851182688519
T:
sphincsf128harakasimple
274888927565162769696
T:
ecdonaldk233
275401827605702769573
T:
ecdonaldp521
290154029110832925120
T:
ecdonaldb233
335993233621973364447
T:
sphincsf128harakarobust
338800334154623449913
T:
donald2048
391985239221993927087
T:
sphincsf192harakasimple
401963040240774032307
T:
edons128ref
3091260?4068653?5981509?
T:
qtesla1
431294143971454404997dilithium5aes
470003747062254712899
T:
ecdonaldk283
498370049883704999245
T:
ecdonaldb283
507028450721475078510
T:
sphincsf192harakarobust
548511454880335492539
T:
mqdss64
807372780984678166790
T:
ecdonaldk409
871028587747838813068
T:
ecdonaldb409
6727662?9853071?13074405?
T:
qtesla3f
100419641005632810076967
T:
ecdonaldp384
6888680?13168217?19513369?
T:
qtesla3s
13099846?17058363?17249738?
T:
qtesla1p
171726391718301617205253
T:
ecdonaldk571
181068271811409818121275
T:
3icp
184864331849765918507541
T:
ecdonaldb571
185573441856627418573434
T:
sphincsf128shake256simple
235594342356251223569607
T:
sphincs256
272886752729167627294700
T:
sphincsf192shake256simple
323005493232892132400957
T:
rainbow1aclassic363232
352550993525608335257339
T:
sphincsf128shake256robust
370977293711239337139652
T:
rainbow1acompres363232
371434733716698937228675
T:
rainbow1acyclicc363232
372981053730995637331311
T:
rainbowbinary256181212
409144984095799741009827
T:
luov4849242
469611805149402556334145
T:
falcon512tree
45223426?51890042?57723271?
T:
falcon512dyn
519686895197043051974523
T:
sphincsf192shake256robust
39295968?52518790?73868254?
T:
rwb0fuz1024
544863975453394354560211
T:
luov863256
34730901?57428053?88584171?
T:
ronald512
632325006340212063449762
T:
tts6440
715653777156789371754673
T:
sphincsf256shake256simple
745002977520588475216610
T:
sphincsf256harakasimple
854845268548738385493803
T:
sphincss128harakasimple
73146590?85599984?110614094?
T:
qtesla3p
107125545107129981107133825
T:
sphincss128harakarobust
83514086?107171353?171370689?
T:
ronald768
125960001125964212125971141
T:
sphincss192harakasimple
129737042129893063130219558
T:
luov6468330
131059372131377776131423894
T:
sphincsf256harakarobust
133639897133643057133645922
T:
sphincsf256shake256robust
134917686?144648996?176200658?
T:
falcon1024dyn
150286361151022390157414567
T:
rainbow5640
150269481151338632152088822
T:
redgemss128
153080956153137306153229730
T:
redgemss128v2
140511520?155226980?202429531?
T:
falcon1024tree
155473333155875842156674304
T:
bluegemss128v2
157199438157510458158121408
T:
gemss128v2
157673889158702818161066296
T:
bluegemss128
159021602160290782161515801
T:
gemss128
161340218161467114163200172
T:
rainbowbinary16242020
161827962161841663162132304
T:
sphincss192harakarobust
128279147?196006363?342324244?
T:
ronald1024
200680115200845539201015629
T:
luov890351
206046783206178086206413461
T:
rainbow3cclassic683248
234069851234282740234764656
T:
rainbow3ccompres683248
237452820237692385237835384
T:
luov8086399
237817385237959639238189962
T:
rainbow3ccyclicc683248
321900568323166133323534911
T:
rainbow6440
356017156356151736356384821
T:
luov8117404
592221228592258995593708417
T:
sphincss128shake256simple
753502070753695339754027408
T:
rainbow5cclassic963664
445252685?778927625?1014860427?
T:
ronald1536
792008066792374053792988102
T:
redgemss192v2
820075036820262056820811464
T:
rainbow5ccompres963664
824413185824485686824577675
T:
sflashv2
827996694831477247832950955
T:
bluegemss192v2
848917684849164304849690267
T:
rainbow5ccyclicc963664
849219982849623340849950718
T:
gemss192v2
851742292852401876854005313
T:
redgemss192
878295709878328179879035768
T:
sphincss192shake256simple
907486084911388738915686306
T:
bluegemss192
946664433949262168949605221
T:
gemss192
112712299911271502141129156259
T:
sphincss128shake256robust
114462884911446511181144697644
T:
sphincss256shake256simple
118957246511896057181189661134
T:
sphincss256harakasimple
874172463?1303505220?1782835092?
T:
ronald2048
166523373816654246391665659812
T:
sphincss192shake256robust
209958555620998993922100145656
T:
sphincss256harakarobust
213696087321374857662142679317
T:
sphincss256shake256robust
229844183022988363892299909488
T:
redgemss256
236498200723657076602371926480
T:
bluegemss256v2
241270074824418312512458565001
T:
gui184
252955914425298425572530161622
T:
rainbow1a
259351539625945236842608728046
T:
bluegemss256
268380900726861174112690676707
T:
gemss256
319398942331948818493195998930
T:
redgemss256v2
327729847932916028303298257087
T:
gemss256v2
1894733046?4293292615?7361868881?
T:
ronald3072
891825798489183993178918568656
T:
gravitysphincss
909976640591004637169100696391
T:
rainbow1c
933300022893343073869336823006
T:
rainbow1b
135515979841379141331614083018498
T:
pqrsa15
8490679056?14877598388?20756614342?
T:
ronald4096
178734010571792947642618119385770
T:
gui312
225875409922262240688922636160520
T:
rainbow4a
290218576232960084148630357450151
T:
rainbow3b
Cycles to sign 59 bytes
25%50%75%system
522675310955262
T:
rainbowbinary256181212
707727136873642
T:
tts6440
113643116160125003
T:
rainbowbinary16242020
154036154171154892ed25519
164490166799174025
T:
rainbow5640
258675261256283467
T:
rainbow6440
264862265735268650
T:
sflashv2
409149413993441164
T:
rainbow1aclassic363232
436790438645440506
T:
ecdonaldp256
440680445125469951
T:
rainbow1acyclicc363232
723892728837736941
T:
donald512
756366757612759703
T:
ecdonaldp224
784085786268788073
T:
ed448goldilocks
866932?939631?1791137?
T:
pass769
439937?1096665?1945490?
T:
3icp
111121411182131128894
T:
ronald512
133695413422251348998
T:
rainbow1a
139422714083401418782
T:
falcon512tree
157399215786561587430
T:
donald1024
923039?1922050?3744495?
T:
qtesla1
1019915?2022228?2109817?
T:
pass863
209942221217172138765
T:
ronald768
214740921569412165571
T:
ecdonaldp160
218280221859832192548
T:
ecdonaldk163
226125422715162280611
T:
rainbow3cclassic683248
227310722785142286993
T:
ecdonaldb163
232183523316222339633
T:
rainbow3ccyclicc683248
249645825108612517202
T:
falcon512dyn
1649772?2551599?4563837?
T:
qtesla3f
259597425993722608276
T:
ecdonaldp192
1803844?2634397?4063222?dilithium2
282953928483942867141
T:
falcon1024tree
294072129451312949601
T:
ecdonaldk233
296357429891233004964
T:
ronald1024
303387430396893045778
T:
edons128k08n72nu8l4mu3
303186830514433075071
T:
rwb0fuz1024
308361530977563107457
T:
ecdonaldb233
336368433980803428134
T:
donald2048
359798336033893610567
T:
rainbow1c
2821142?3845146?6472071?
T:
qtesla1p
2643069?3927027?5615654?dilithium2aes
2539762?3928540?4994148?dilithium3
407550040862084096298
T:
rainbow4a
410349341066474109751
T:
ecdonaldp521
1666946?4542060?6307368?
T:
qtesla3s
491708949218274935943
T:
rainbow1b
501944650238465028979
T:
ecdonaldk283
516671951793295194219
T:
falcon1024dyn
530302053103375329623
T:
ecdonaldb283
546590054731795479060
T:
rainbow5cclassic963664
558960555976745606940
T:
rainbow5ccyclicc963664
4017637?5733417?9315532?dilithium3aes
3850079?5876081?8507642?dilithium5
694627769540036973316
T:
edons128ref
6433220?8045657?10466778?dilithium5aes
855864886215238690225
T:
rainbow3b
879199688663918910217
T:
ecdonaldk409
902380790512849076477
T:
ronald1536
933813194101839422740
T:
ecdonaldb409
105614561057552110588468
T:
ecdonaldp384
8689249?13084370?22527551?
T:
qtesla3p
11963788?14190043?17054030?
T:
redgemss128
155363221557519015616740
T:
ronald2048
13579382?16195670?18892613?
T:
redgemss128v2
185313131854217318548524
T:
ecdonaldk571
199581901997128619988374
T:
ecdonaldb571
206190242064344020664613
T:
rainbow1acompres363232
259428082596390425991170picnicl1full
305373683055821730569134picnicl1fs
336564463369591133744912
T:
luov863256
427939844281908242847752picnicl1ur
445929824469060244765161
T:
ronald3072
39859768?47267514?54799464?
T:
redgemss192v2
496950904972296449747450picnicl3full
48574244?56852841?65382907?
T:
redgemss192
683046146832174368348549
T:
gravitysphincss
716492617172701871817628picnicl3fs
68019565?79240653?92596994?
T:
redgemss256v2
798882877994826679978573picnicl5full
814766358176191182029096
T:
luov4849242
45096436?90203147?225042736?
T:
gui184
958286899586989995913225
T:
sphincsf128harakasimple
970571739710037497198278
T:
ronald4096
105299119105387054105452918picnicl3ur
86463373?107361494?126181801?
T:
redgemss256
113696538113770465113858615
T:
sphincsf192harakasimple
117953349118034462118123035
T:
luov890351
119935227119967438120025215picnicl5fs
124863938124921974125043118
T:
sphincsf128harakarobust
126817832128063117128091845
T:
mqdss48
136286601136408363136727041
T:
rainbow3ccompres683248
139515029139688076139926307picnic3l1
153303481153363911153514050
T:
sphincsf192harakarobust
169820480169887153169998490picnicl5ur
208054457208154123208223171
T:
luov8117404
301353666301829276302357578picnic3l3
313395091314621750315401475
T:
luov6468330
391526711391793913392254647
T:
rainbow5ccompres963664
402819954407917349408657829
T:
mqdss64
446471625446898750448926339
T:
sphincs256
464824020465888098467120180
T:
pqrsa15
483873796484174080484485466picnic3l5
446888319?536352208?625579314?
T:
bluegemss128v2
457453912?549465332?641037777?
T:
bluegemss128
575640829577400174578444461
T:
luov8086399
585721280586397383586660232
T:
sphincsf128shake256simple
744170944744638536745012753
T:
sphincsf192shake256simple
899674727899959830900423480
T:
picnic2l1fs
105863063210595005391060328926
T:
sphincsf128shake256robust
138716724713882255471388701891
T:
sphincsf192shake256robust
163203713816321311411632207668
T:
sphincss128harakasimple
163306089216334439521634025036
T:
sphincsf256shake256simple
1452165058?1741137306?2288622194?
T:
bluegemss192v2
203908375320503295032050859124
T:
sphincsf256harakasimple
214935605521494943982149621315
T:
sphincss128harakarobust
1964710829?2367629088?3131622457?
T:
bluegemss192
245512997324563178692460451343
T:
picnic2l3fs
1902736568?2839799839?3322843506?
T:
bluegemss256v2
1609778484?2848078461?6107022560?
T:
gui312
296551775529663955882967103959
T:
sphincsf256shake256robust
2799588755?3359384037?3920226646?
T:
gemss128v2
2874595132?3449192468?4024911172?
T:
gemss128
356451176735664933443568957499
T:
sphincsf256harakarobust
361725644736176009113617805258
T:
sphincss192harakasimple
3618239741?4346825468?5070865777?
T:
bluegemss256
477694641647813768804791095223
T:
picnic2l5fs
527760650452778161835278306639
T:
sphincss192harakarobust
882183475688275597848828199790
T:
sphincss128shake256simple
9539535562?11447672390?15260132774?
T:
gemss192v2
136396977021364619873213650360250
T:
sphincss256shake256simple
156527225231565313122215654331730
T:
sphincss128shake256robust
13168181855?15799938022?18433083267?
T:
gemss192
181505609751815081003018151731247
T:
sphincss256harakasimple
185100401401851074699618511840739
T:
sphincss192shake256simple
16072099599?19286738363?25706729367?
T:
gemss256v2
243225945992432393530124324817708
T:
sphincss256shake256robust
25163640732?30195528180?35229482075?
T:
gemss256
317933117243179732952131801453100
T:
sphincss256harakarobust
321273158593212850783432130530916
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
228602326924741
T:
rwb0fuz1024
592616074162473
T:
3icp
599306154963484
T:
rainbowbinary256181212
711077170173098
T:
ronald512
739767539276990
T:
rainbow5640
745937566677425
T:
ronald768
919859267893853
T:
ronald1024
948689532896348
T:
rainbow1aclassic363232
100998101434103253
T:
tts6440
100622102960104017
T:
rainbowbinary16242020
104674106733107614
T:
rainbow6440
129978130754133044
T:
ronald1536
182314183796186956
T:
ronald2048
225770228008229826
T:
falcon512tree
268142271353276782
T:
gravitysphincss
286548288637290899
T:
sflashv2
289801292019294022
T:
falcon512dyn
308139310886317045
T:
qtesla1
326881329152330747
T:
ronald3072
462660463873467661
T:
falcon1024tree
469295473342478338
T:
donald512
498536505649510715
T:
rainbow3cclassic683248
513678523337538105
T:
gemss128v2
518477527158542097
T:
bluegemss128v2
530077533046537438
T:
ronald4096
537066541355545712ed25519
540724556684568881
T:
redgemss128v2
612359615542617581
T:
falcon1024dyn
646504663210683273
T:
gemss128
650713675271699750
T:
bluegemss128
683374699811720431
T:
redgemss128
710962713537717239
T:
qtesla3s
714056715738719937
T:
qtesla3f
750034751489755268
T:
rainbow1a
754446756837759749dilithium2
838680857620888698
T:
gui184
104159810470991054986
T:
ecdonaldp256
112191411258471129317
T:
pass769
120675912174011268040
T:
rainbow5cclassic963664
122782212313321235574
T:
edons128k08n72nu8l4mu3
123208812346591238528dilithium3
123771512693451303511
T:
gemss192v2
124934012729091308790
T:
bluegemss192v2
128183312893771296634
T:
donald1024
130900813120471314907
T:
pass863
129347213205021344385
T:
redgemss192v2
137954813951961405940dilithium2aes
143694314527871486384
T:
sphincss128harakasimple
155137815549301558748
T:
ecdonaldp224
150998515684401595087
T:
bluegemss192
155650515843911628143
T:
gemss192
158192016328751657287
T:
redgemss192
173530217399981745190
T:
qtesla1p
197318619879772000597
T:
ecdonaldp160
203760220408202043632dilithium5
211708721681892196613
T:
sphincss128harakarobust
221004222152952218535
T:
edons128ref
221381822459132275778
T:
sphincss192harakasimple
233762923457582360016
T:
ecdonaldp192
241201224476092457313dilithium3aes
280468228149152822810
T:
ed448goldilocks
293893429444402952330
T:
rainbow1b
294910129561842960984
T:
rainbow1c
302626130721013116320
T:
gemss256
302394030813853137841
T:
redgemss256
301844631009983182821
T:
gui312
304209531027343149781
T:
bluegemss256
307210631303403182445
T:
bluegemss256v2
311184431481403207740
T:
gemss256v2
321335332170333222907
T:
rainbow4a
323044132923863347275
T:
redgemss256v2
332721133684123402637
T:
sphincsf128harakasimple
341722034633753493869
T:
sphincss192harakarobust
392473339578383981839
T:
donald2048
415175941592104166378
T:
ecdonaldk163
419211342039924284934dilithium5aes
432778743327494342524
T:
ecdonaldb163
490139949884635086913
T:
sphincsf128harakarobust
527966653257195372130
T:
sphincsf192harakasimple
557031956030125615061
T:
ecdonaldk233
557603256069995671807
T:
sphincs256
580581258762585908462
T:
ecdonaldb233
782995478379637852649
T:
rainbow3b
806168480649468070711
T:
ecdonaldp521
807950380974638127803
T:
qtesla3p
826320882766938300403
T:
rainbow1acompres363232
826796482800428308264
T:
rainbow1acyclicc363232
829693283474868429716
T:
sphincsf192harakarobust
836396883800318407096
T:
ecdonaldp384
965756596629939677227
T:
ecdonaldk283
9604999984970410156907
T:
sphincss128shake256simple
100985031021804410234205
T:
ecdonaldb283
144178831466795714852363
T:
sphincss192shake256simple
169247041701520917089468
T:
ecdonaldk409
181105291817183218216990
T:
ecdonaldb409
185826301884726319258753
T:
sphincss256shake256simple
192369711928084819410294picnicl1full
189222471940226019892501
T:
sphincss128shake256robust
236905452371311923850760picnicl1fs
235327162411907124458704
T:
sphincsf128shake256simple
245104312476409525069353
T:
sphincss256harakasimple
281033562846648328808505
T:
sphincss192shake256robust
312105353125204431302241
T:
luov863256
334413173357655733711531picnicl1ur
357233673574305235758843
T:
ecdonaldk571
356350403612160937032613
T:
sphincss256shake256robust
376349433767481337739808picnicl3full
376321303799856738557450
T:
sphincsf192shake256simple
378177683813655238446812
T:
sphincsf256shake256simple
384545413847207638495395
T:
ecdonaldb571
453501154581773046091470
T:
sphincsf256harakasimple
461732624680192647459552
T:
sphincss256harakarobust
462648714687394947721002
T:
sphincsf128shake256robust
503560135051683650793404
T:
rainbow3ccompres683248
505387735079653350945643
T:
rainbow3ccyclicc683248
569453595704070657145524picnicl3fs
572021745724073957285643
T:
luov4849242
578830425794425658029066
T:
pqrsa15
608201996090786661082760picnicl5full
737132297409275375193389
T:
sphincsf192shake256robust
735930197429704175254857
T:
sphincsf256shake256robust
846749848489503284973586picnicl3ur
852882688599017786410185
T:
sphincsf256harakarobust
920072799316560094605679
T:
mqdss48
965089739670371696782269picnicl5fs
109714590109804918109891916
T:
luov890351
113965707114181932114430161
T:
rainbow5ccompres963664
113994547114306933114774019
T:
rainbow5ccyclicc963664
119915502120041253120125743picnic3l1
142936856143137649143324437picnicl5ur
171077955171686403172439711
T:
luov6468330
194765298194919125195040822
T:
luov8117404
254340991254554982254779835picnic3l3
298922198301775729303839894
T:
mqdss64
306274674306424739306595612
T:
luov8086399
389341583389501962389781872picnic3l5
542715976542882135543105293
T:
picnic2l1fs
123796319312391073571239968285
T:
picnic2l3fs
215499246821568039432167683715
T:
picnic2l5fs