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; Skylake (506e3); 2015 Intel Xeon E3-1220 v5; 4 x 3000MHz; samba, supercop-20240909

[Page version: 20240912 11:46:05]

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

Cycles to generate a key pair
25%50%75%system
412541394186picnicl1full
429943124365picnic3l1
538254035468
T:
picnic2l1fs
573757495777picnicl3full
606760786120picnicl1ur
610061086128picnicl1fs
616161716212picnic3l3
765276667764picnicl5full
771277437841picnic3l5
829983448560
T:
picnic2l3fs
980698539915picnicl3fs
9806999510075picnicl3ur
113851148511669
T:
picnic2l5fs
128891295613184picnicl5ur
130251306913370picnicl5fs
449724512645190ed25519
451894529545401aimer128f
504685062550805T!!!dilithium2aes
580435835058903aimer128s
793557962380051dilithium3aes
822198239982743T!!!dilithium2
109614109722109856aimer192s
120476120841121271dilithium5aes
129388129548129880aimer192f
146058146373146858T!!!dilithium3
153346153632153958
T:
ed448goldilocks
189444191041192904nccsign1aes
219159220071221768
T:
pass769
224886225318225844T!!!dilithium5
239869242219243690nccsign3aes
241792242595243492
T:
pass863
244330246296247901nccsign1
275320275422275833aimer256f
313154313732314102aimer256s
317521319913321927nccsign3
380414381585383927nccsign5aes
491020492444496360nccsign5
190657?577706?1032294?haetae2
707692708327710387
T:
sphincsf128harakasimple
467540?794770?1127295?haetae5
820964822175823690
T:
sphincsf128harakarobust
823630825932828444
T:
mqdss48
878126890102896953
T:
donald2048
512703?935814?1884598?haetae3
108683810880731092320
T:
sphincsf192harakasimple
123797612393641240266
T:
sphincsf192harakarobust
895354?1711592?2539783?
T:
qtesla1
191496819221911927335
T:
mqdss64
239425323954312397457
T:
sphincs256
2610848?2640561?3853693?
T:
qtesla3f
280451628057642807663
T:
sphincsf256harakasimple
329564532984773301836
T:
sphincsf256harakarobust
425194742527964253552
T:
sphincsf128shake256simple
494940949588445017312
T:
luov863256
3917237?5194158?7682979?
T:
qtesla3s
4943025?5712405?7238429?
T:
qtesla1p
648723764915816497439
T:
sphincsf192shake256simple
716562272071087238617
T:
mqsignlr2567246
734393973642297402112mqsignlr2567246
755164275534077559717
T:
luov863256pc
791928579220968017383
T:
sphincsf128shake256robust
100155441004082810067218mqsignrr2567246
102045291024580410281050
T:
rainbowbinary256181212
103366211035337010383908
T:
mqsignrr2567246
115888381158946511590499
T:
sphincsf192shake256robust
167374951674527916752356
T:
rainbow1aclassic363232
164042801748518919599045
T:
falcon512dyn
175588271756173417705760
T:
sphincsf256shake256simple
175586581758550117608791
T:
rainbow1acyclicc363232
171648031821821519952671
T:
falcon512tree
184801191853848918597634
T:
luov890351
187036571871314018755241
T:
rainbow1acompres363232
207204772079156120859361
T:
luov4849242
244771052449546024510286
T:
sphincss128harakasimple
264633602647046926538283
T:
sphincss128harakarobust
25669019?28238062?35359434?
T:
qtesla3p
306607613066406030668383
T:
sphincsf256shake256robust
308920123090597630941289
T:
luov890351pc
315707173181051631944647
T:
luov8117404
322895823244007532634422
T:
mqsignlr25611272
329763093299413633212790
T:
sphincss192harakasimple
328672903299453133104823mqsignlr25611272
401743504017860940312807
T:
sphincss192harakarobust
408514234096926741092055
T:
mqsignrr25611272
417673294192880942131187mqsignrr25611272
456194314626663146890326
T:
rainbowbinary16242020
468891134690616646919688
T:
sphincss256harakasimple
51175081?52774750?65541246?
T:
falcon1024tree
518946005380227156321188
T:
falcon1024dyn
539126895397329554180434
T:
luov8117404pc
543114245438148654385883
T:
sphincss256harakarobust
582398105829786758314628
T:
bluegemss128
594682945959259959608827
T:
gemss128
620405636207237562224286
T:
redgemss128
673350446747766567555024
T:
luov6468330
781568837848951478791588
T:
mqsignlr25614896
795656987985453380505511mqsignlr25614896
902169069023480890252984
T:
gemss128v2
927173269273415092839926
T:
bluegemss128v2
958110389584714195933171
T:
redgemss128v2
108052410108199206108329607
T:
rainbow3cclassic683248
109081348109106306109137714
T:
rainbow3ccyclicc683248
108937727109138090110798036
T:
rainbow3ccompres683248
110007524110576982111187185
T:
mqsignrr25614896
114290630114706891115591701mqsignrr25614896
132238513132345011132605561
T:
luov8086399
137575947137594076137851302
T:
sphincss128shake256simple
201633012201636829201640662
T:
sphincss192shake256simple
250463075250484252250490515
T:
sphincss128shake256robust
260266892260312467267525199
T:
sphincss256shake256simple
289783748289821578290496503
T:
gemss192
309256152309525451310329106
T:
redgemss192
311525196311593184311738304
T:
rainbow5cclassic963664
316624691316731248318213479
T:
bluegemss192
341425718341574547342668128
T:
rainbow5ccompres963664
343233405343313454343567570
T:
rainbow5ccyclicc963664
370598370370774411372948900
T:
sphincss192shake256robust
395339508395382050395434672
T:
gemss192v2
398653662398708401399522266
T:
bluegemss192v2
405298706405717807406260565
T:
redgemss192v2
490255091490297494496814413
T:
sphincss256shake256robust
793239763799124333805763185
T:
redgemss256
807340258812040383816625456
T:
redgemss256v2
909921734911454575914093629
T:
gemss256
933323806933664874942646354
T:
bluegemss256
107996686010800476321082056827
T:
gravitysphincss
113307029711334599911135061155
T:
gemss256v2
115548336111562330301160449951
T:
bluegemss256v2
372990264238638732193938827146
T:
pqrsa15
170958370631718875504317202886472
T:
gravitysphincsl
342941279193429810763534361204347
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
168311708817546
T:
rainbowbinary256181212
332423381634527
T:
rainbowbinary16242020
476634778347885ed25519
839648487486668
T:
rainbow1aclassic363232
912219212094037
T:
rainbow1acyclicc363232
103313107424117000
T:
mqsignlr2567246
118967124404131977mqsignlr2567246
135110140369144124
T:
mqsignrr2567246
109359?144435?233928?T!!!dilithium2aes
157593160048161666mqsignrr2567246
160722160902161078
T:
ed448goldilocks
111571?187840?294653?dilithium3aes
117354?202590?326029?T!!!dilithium2
227080?237491?460638?
T:
pass769
265509290065299685
T:
mqsignlr25611272
214609?315882?374668?dilithium5aes
201880?342683?674755?
T:
qtesla1
342182352865366722mqsignlr25611272
358334361032364758
T:
luov863256pc
280728?381018?523747?T!!!dilithium3
385636387403389702
T:
rainbow3cclassic683248
391028393086396598
T:
rainbow3ccyclicc683248
331785?397957?522577?T!!!dilithium5
402575407694411837
T:
falcon512tree
405373?411815?591754?nccsign1
399953433843450736
T:
mqsignrr25611272
341500?472358?512246?nccsign1aes
468512481639505592mqsignrr25611272
258574?506651?526157?
T:
pass863
539586577518587518
T:
mqsignlr25614896
258737?595668?956913?
T:
qtesla3f
618492621571631652mqsignlr25614896
427707?637710?847703?nccsign3aes
526122?726823?978249?nccsign3
728288734546741718
T:
mqsignrr25614896
737322741666749203
T:
falcon512dyn
814865817795823697
T:
falcon1024tree
830354836985841452mqsignrr25614896
878406884029891698
T:
donald2048
890470893012896471
T:
rainbow5cclassic963664
664294?918704?1248770?nccsign5aes
711974?1008069?1721773?
T:
qtesla1p
100662410101481014799
T:
rainbow5ccyclicc963664
104772310509281053118
T:
luov890351pc
558150?1079461?1624614?
T:
qtesla3s
808450?1186160?1507394?nccsign5
660256?1219549?2052690?haetae2
125992812625751264049aimer128f
149056914941191498298
T:
falcon1024dyn
157062915745191578945
T:
luov8117404pc
986472?2215655?3046635?haetae3
1034537?2298963?3970807?haetae5
326942332717853343508
T:
luov863256
331900233196113320725aimer192f
3104471?3946828?5392894?
T:
qtesla3p
417075441734554175661picnicl1full
3299399?4306824?4893928?
T:
redgemss128v2
3556405?4553162?5239679?
T:
redgemss128
468209646923294895326
T:
mqdss48
512546451267615129124picnicl1fs
636588163691686377844picnicl1ur
658421465916926594890aimer256f
829395582960218298832picnicl3full
893901089426648945931
T:
gravitysphincss
8042848?9503888?12049095?
T:
redgemss192v2
962244196268619838944aimer128s
107404931074225110747489
T:
luov890351
8509803?10839360?12921282?
T:
redgemss192
112330151125270911551049
T:
mqdss64
117226891174151411754044picnicl3fs
136417181364911013652719picnicl5full
150649761508264715110111picnicl3ur
153029291533265015352322
T:
rainbow1acompres363232
158526401586463116010463
T:
gravitysphincsm
13155028?16016782?20292529?
T:
redgemss256
176935001772698817819496picnic3l1
14991810?18349637?22684231?
T:
redgemss256v2
184198981842347718430913
T:
luov8117404
187517241876815918866646
T:
gravitysphincsl
199737322000121420017403picnicl5fs
245918362463854624645591aimer192s
248387532484899124923136picnicl5ur
250133492504550625094099
T:
sphincsf128harakasimple
301416513018447830278457
T:
sphincsf128harakarobust
314517063148189531752683
T:
sphincsf192harakasimple
374023673743392037451737
T:
sphincsf192harakarobust
379527323800883138070715picnic3l3
417592514181511142309429
T:
sphincs256
451253264514701645167981
T:
luov4849242
477122074781130047889670aimer256s
654096426556952165686210picnic3l5
709545617099063371180228
T:
sphincsf256harakasimple
862889078632676486364473
T:
sphincsf256harakarobust
922263449233237795747439
T:
rainbow3ccompres683248
119379386119454231119504687
T:
pqrsa15
119442743?119873261?168213591?
T:
bluegemss128
119323099?139217630?159072129?
T:
bluegemss128v2
139698311139842691142287066
T:
sphincsf128shake256simple
142088200142288221142876774
T:
luov6468330
156996616157055680157129946
T:
picnic2l1fs
183674973184797981185081965
T:
sphincsf192shake256simple
223767835225636513225976531
T:
rainbow5ccompres963664
246967465247220920247401313
T:
sphincsf128shake256robust
288767804289475064289705873
T:
luov8086399
253357995?304320868?353756149?
T:
bluegemss192v2
245551886?305477531?427708886?
T:
bluegemss192
323913978324153184324454222
T:
sphincsf192shake256robust
411239399411408463411730900
T:
sphincsf256shake256simple
449761068450615167451801543
T:
sphincss128harakasimple
473565986473678958473848645
T:
picnic2l3fs
507951086508590015510001840
T:
sphincss128harakarobust
472480207?568271423?662190364?
T:
bluegemss256
437110869?608076637?780159369?
T:
bluegemss256v2
640626408642478160642572759
T:
sphincss256harakasimple
699296035699735872700252701
T:
sphincsf256shake256robust
620103603?744031247?868129359?
T:
gemss128v2
777515752777744936778483422
T:
sphincss256harakarobust
744776655?893510379?1042621271?
T:
gemss128
9336842449351747701003218299
T:
sphincss192harakasimple
100368797510039563791004071155
T:
picnic2l5fs
122126945812214650741225106705
T:
sphincss192harakarobust
1725004800?2064994872?2414432017?
T:
gemss192v2
221884379622245424392225177903
T:
sphincss128shake256simple
1691720317?2524224794?3363877443?
T:
gemss192
318524154931853551233186600045
T:
sphincss256shake256simple
374997912137503755213817638625
T:
sphincss128shake256robust
3220405050?3863681856?4508498156?
T:
gemss256v2
3503815408?4204878181?4906583842?
T:
gemss256
458686346745876572824716222127
T:
sphincss192shake256simple
573221120557330699995792505143
T:
sphincss256shake256robust
773190644179051144527932544486
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
139751406014194
T:
rainbowbinary256181212
241712470125254
T:
rainbowbinary16242020
374463847740060
T:
rainbow1aclassic363232
607206088861007T!!!dilithium2aes
676506930471983
T:
gravitysphincss
811858257483256
T:
falcon512tree
845178622487687mqsignrr2567246
867718686487015dilithium3aes
830768815099648
T:
mqsignrr2567246
8520589107102930mqsignlr2567246
894188953889688T!!!dilithium2
8748893449107548
T:
mqsignlr2567246
962169655696943
T:
qtesla1
99552101287101939
T:
falcon512dyn
124113124636125061haetae2
128669128877129170dilithium5aes
135302137693142103
T:
luov863256pc
144784144991145204T!!!dilithium3
163725164543165203ed25519
163403165042166679
T:
falcon1024tree
181375183591185422
T:
rainbow3cclassic683248
184533185112185971haetae3
197145197718198269
T:
qtesla3f
199354200044200460
T:
qtesla3s
201429202868203432
T:
falcon1024dyn
220596221010221617haetae5
226569226904227346T!!!dilithium5
230308231666232735nccsign1aes
266292271800279248
T:
redgemss128
270385271880274409nccsign1
268747278997307292
T:
bluegemss128
285029286355287925nccsign3aes
282806286992290187
T:
gravitysphincsm
290079294400300331
T:
redgemss128v2
282624296515330250
T:
gemss128
298722299870301669
T:
pass769
322928335096361778mqsignrr25611272
335748337087339217
T:
pass863
316299347093385454mqsignlr25611272
325936348861353690
T:
mqsignlr25611272
351593353215356335nccsign3
323932356728398133
T:
mqsignrr25611272
370120372049374142
T:
luov890351pc
377535382424386352
T:
gravitysphincsl
392597404274451176
T:
gemss128v2
391508?406111?500990?
T:
bluegemss128v2
449779451357454200nccsign5aes
461242462212464354
T:
qtesla1p
463632468613472701
T:
rainbow5cclassic963664
484732493245502043
T:
sphincss128harakasimple
510989512982514687
T:
ed448goldilocks
530358532926536425
T:
luov8117404pc
541588545136548049nccsign5
580914585548595929mqsignrr25614896
590030592716598119
T:
mqsignrr25614896
600950611172650231mqsignlr25614896
610532628999655736
T:
bluegemss192
641050653584675533
T:
gemss192
655950662112683447
T:
redgemss192
654654672461683500
T:
sphincss128harakarobust
701578727750742888
T:
gemss192v2
732966754186789623
T:
redgemss192v2
739416756938781763
T:
bluegemss192v2
682794757670775767
T:
mqsignlr25614896
757988766958780918
T:
sphincss192harakasimple
102228510297711041276
T:
sphincss256harakasimple
103342910415601050893
T:
donald2048
111194811235221148923
T:
sphincss192harakarobust
110869611266821148322
T:
sphincsf128harakasimple
122970112300621230493aimer128f
126704712759751281304
T:
sphincs256
127095312968861318796
T:
redgemss256
129209313132721338446
T:
gemss256
129170613248151346552
T:
bluegemss256
134504813752491394104
T:
redgemss256v2
137724414052821433745
T:
gemss256v2
140256814390701474716
T:
bluegemss256v2
146146414814751500642
T:
sphincss256harakarobust
154649215779961600122
T:
sphincsf128harakarobust
180587118224671842476
T:
sphincsf192harakasimple
197163919894662004444
T:
sphincsf256harakasimple
221056822269962238105
T:
qtesla3p
265905626601312716754
T:
luov863256
271360127484322768556
T:
sphincsf192harakarobust
284000328693142891169
T:
sphincsf256harakarobust
296459730018293088338
T:
mqdss48
326293832635143268236aimer192f
341491034197603436015picnicl1full
377897438354943960297
T:
sphincss128shake256simple
423485442420324254894picnicl1fs
528983552941815318299picnicl1ur
548722456067525705427
T:
sphincss192shake256simple
646425964703916474978aimer256f
687615368793746884806picnicl3full
717999072581947349980
T:
sphincss256shake256simple
730650174805107689253
T:
sphincss128shake256robust
743592975288657646632
T:
mqdss64
904079291696799323263
T:
sphincsf128shake256simple
934156793446739364911
T:
luov890351
955799295807899751581aimer128s
992492799314169946730picnicl3fs
108390641102641411207057
T:
sphincss192shake256robust
114139101143705211442788picnicl5full
121515651216215712473150
T:
rainbow1acompres363232
121809911218569112213408
T:
rainbow1acyclicc363232
127783001278753312796420picnicl3ur
133021981343933613611261
T:
sphincsf192shake256simple
133950141355791413771071
T:
sphincsf256shake256simple
140498581406580714091984picnic3l1
139354501420714314434059
T:
sphincss256shake256robust
160163531602397316035096
T:
luov8117404
158754621615663116369779
T:
sphincsf128shake256robust
169187961693043316952936
T:
pqrsa15
169835601699864917025533picnicl5fs
211790602119723121228008picnicl5ur
244130332441839224424245aimer192s
281561882833860828576795
T:
sphincsf192shake256robust
284110772868407129024548
T:
sphincsf256shake256robust
301828833026001130331311picnic3l3
318778383190957331930157
T:
luov4849242
474298244746195647503284aimer256s
480357454811698648221610picnic3l5
690591776911854269173749
T:
picnic2l1fs
735848437377926076593378
T:
rainbow3ccyclicc683248
739862577420963877215553
T:
rainbow3ccompres683248
803895208047789480595975
T:
luov6468330
152748888152867635153240337
T:
picnic2l3fs
164407488164678771165018336
T:
rainbow5ccyclicc963664
166444239166525801167006120
T:
rainbow5ccompres963664
174552236174791876174934621
T:
luov8086399
268839984269087393269153708
T:
picnic2l5fs