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

Cycles to generate a key pair
25%50%75%system
410441114148picnicl1full
432343344402picnic3l1
538254035468
T:
picnic2l1fs
576557755795picnicl3full
608260976118picnicl1ur
614861546192picnic3l3
612761626191picnicl1fs
765276707753picnicl5full
764876717813picnic3l5
829983448560
T:
picnic2l3fs
980398309872picnicl3ur
9859991810023picnicl3fs
113851148511669
T:
picnic2l5fs
127921288313056picnicl5ur
133081346613596picnicl5fs
228102290922965
T:
lattisigns512
451454526245393ed25519
451894529545401aimer128f
505375070450894T!!!dilithium2aes
580435835058903aimer128s
795997983480143dilithium3aes
814208158681766T!!!dilithium2
109614109722109856aimer192s
120386120731121103dilithium5aes
129388129548129880aimer192f
146718147096147637T!!!dilithium3
153346153632153958
T:
ed448goldilocks
185285187206189074nccsign1aes
218721219513220408
T:
pass769
223898224301224675T!!!dilithium5
240113242607244542nccsign1
241250242623244344nccsign3aes
243548244524246592
T:
pass863
243534245182256946
T:
hector
275320275422275833aimer256f
313154313732314102aimer256s
318795320939322777nccsign3
379017381153384597nccsign5aes
488990492182495987nccsign5
261487?597628?1067010?haetae2
707692708327710387
T:
sphincsf128harakasimple
820964822175823690
T:
sphincsf128harakarobust
823630825932828444
T:
mqdss48
512374?830985?1463836?haetae3
556322?865604?1182761?haetae5
878126890102896953
T:
donald2048
108683810880731092320
T:
sphincsf192harakasimple
123797612393641240266
T:
sphincsf192harakarobust
895354?1711592?2539783?
T:
qtesla1
191496819221911927335
T:
mqdss64
239454623969912465629
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
714484271557347175258
T:
mqsignlr2567246
732761573353157353305mqsignlr2567246
755164275534077559717
T:
luov863256pc
791928579220968017383
T:
sphincsf128shake256robust
100329941004617610067855mqsignrr2567246
102045291024580410281050
T:
rainbowbinary256181212
103330141035834010378971
T:
mqsignrr2567246
115888381158946511590499
T:
sphincsf192shake256robust
167832131680762116846266
T:
rainbow1aclassic363232
164042801748518919599045
T:
falcon512dyn
175588271756173417705760
T:
sphincsf256shake256simple
175492181756670117715441
T:
rainbow1acyclicc363232
171648031821821519952671
T:
falcon512tree
184801191853848918597634
T:
luov890351
189426811896082719012489
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
318092633186836632049329
T:
mqsignlr25611272
326108973268021432736546mqsignlr25611272
329763093299413633212790
T:
sphincss192harakasimple
401743504017860940312807
T:
sphincss192harakarobust
403007934041767240811063
T:
mqsignrr25611272
414807384159097941842977mqsignrr25611272
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
775462097773191978051664
T:
mqsignlr25614896
785548297890869779156528mqsignlr25614896
902169069023480890252984
T:
gemss128v2
927173269273415092839926
T:
bluegemss128v2
958110389584714195933171
T:
redgemss128v2
108149557108243601108346443
T:
rainbow3cclassic683248
109104795109176148109444414
T:
rainbow3ccyclicc683248
109557092109709175109815128
T:
rainbow3ccompres683248
109980954110548963111135420
T:
mqsignrr25614896
112978972113595787114321055mqsignrr25614896
132238513132345011132605561
T:
luov8086399
137575947137594076137851302
T:
sphincss128shake256simple
201633012201636829201640662
T:
sphincss192shake256simple
250463075250484252250490515
T:
sphincss128shake256robust
260266892260312467267525199
T:
sphincss256shake256simple
289783748289821578290496503
T:
gemss192
309256152309525451310329106
T:
redgemss192
311680424311816386315100154
T:
rainbow5cclassic963664
316624691316731248318213479
T:
bluegemss192
327634348328404099329854351
T:
rainbow5ccompres963664
342916693343043854343332540
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
475004764447781ed25519
843518555691144
T:
rainbow1aclassic363232
882389113792601
T:
rainbow1acyclicc363232
9478597036104033
T:
mqsignlr2567246
112781117604121780mqsignlr2567246
129605134124140770
T:
mqsignrr2567246
113904?141614?242791?T!!!dilithium2aes
154401158130164660mqsignrr2567246
160722160902161078
T:
ed448goldilocks
121561?180734?398495?
T:
lattisigns512
117377?198568?343492?T!!!dilithium2
113308?200718?358533?dilithium3aes
163329?231618?327117?dilithium5aes
230143?232915?466844?
T:
pass769
257154262766282575
T:
mqsignlr25611272
260998?272786?774875?
T:
pass863
264858273979284596
T:
hector
314580316164319966mqsignlr25611272
228971?326698?544685?T!!!dilithium3
327963?331241?489668?nccsign1aes
201880?342683?674755?
T:
qtesla1
358334361032364758
T:
luov863256pc
382703386144423613
T:
mqsignrr25611272
386972388807390728
T:
rainbow3cclassic683248
392319394699397898
T:
rainbow3ccyclicc683248
402575407694411837
T:
falcon512tree
333097?413298?525760?T!!!dilithium5
434270437394444154mqsignrr25611272
506605510386533354
T:
mqsignlr25614896
399731?548954?738671?nccsign1
258737?595668?956913?
T:
qtesla3f
606634608325610116mqsignlr25614896
423541?633083?802407?nccsign3aes
720455726485730020
T:
mqsignrr25614896
737322741666749203
T:
falcon512dyn
523455?770681?1121688?nccsign3
814865817795823697
T:
falcon1024tree
821567826016839813mqsignrr25614896
878406884029891698
T:
donald2048
898217900230902279
T:
rainbow5cclassic963664
664218?919849?996001?nccsign5aes
711974?1008069?1721773?
T:
qtesla1p
100898410121361016075
T:
rainbow5ccyclicc963664
104772310509281053118
T:
luov890351pc
558150?1079461?1624614?
T:
qtesla3s
808595?1194138?1820552?nccsign5
125992812625751264049aimer128f
668617?1466425?2840635?haetae2
149056914941191498298
T:
falcon1024dyn
157062915745191578945
T:
luov8117404pc
983489?1791510?2620919?haetae3
1049416?1909342?3179831?haetae5
326942332717853343508
T:
luov863256
331900233196113320725aimer192f
3104471?3946828?5392894?
T:
qtesla3p
416591041685724172680picnicl1full
3299399?4306824?4893928?
T:
redgemss128v2
3556405?4553162?5239679?
T:
redgemss128
468209646923294895326
T:
mqdss48
512014651247885127201picnicl1fs
636330663645936367083picnicl1ur
658421465916926594890aimer256f
811730881194568125770picnicl3full
893901089426648945931
T:
gravitysphincss
8042848?9503888?12049095?
T:
redgemss192v2
962244196268619838944aimer128s
107404931074225110747489
T:
luov890351
8509803?10839360?12921282?
T:
redgemss192
112330151125270911551049
T:
mqdss64
117583831177347511796108picnicl3fs
136376771364528413651815picnicl5full
150816801509419315108390picnicl3ur
152049221521198215239771
T:
rainbow1acompres363232
158526401586463116010463
T:
gravitysphincsm
13155028?16016782?20292529?
T:
redgemss256
177009291771220917724200picnic3l1
14991810?18349637?22684231?
T:
redgemss256v2
184198981842347718430913
T:
luov8117404
187517241876815918866646
T:
gravitysphincsl
202185792023845820282081picnicl5fs
245918362463854624645591aimer192s
248306452486543024900908picnicl5ur
250133492504550625094099
T:
sphincsf128harakasimple
301416513018447830278457
T:
sphincsf128harakarobust
314517063148189531752683
T:
sphincsf192harakasimple
374023673743392037451737
T:
sphincsf192harakarobust
377271493798069838022487picnic3l3
416420594176160042448297
T:
sphincs256
451253264514701645167981
T:
luov4849242
477122074781130047889670aimer256s
652907536544602965644684picnic3l5
709545617099063371180228
T:
sphincsf256harakasimple
862889078632676486364473
T:
sphincsf256harakarobust
918828889189414492370213
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
222464487222662243226557327
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
373833766038144
T:
lattisigns512
368143912041551
T:
rainbow1aclassic363232
606706086461014T!!!dilithium2aes
676506930471983
T:
gravitysphincss
782947996182226mqsignlr2567246
792178220886533
T:
mqsignlr2567246
811858257483256
T:
falcon512tree
810288316087835
T:
mqsignrr2567246
867058691987202dilithium3aes
858168818391083mqsignrr2567246
891468925689417T!!!dilithium2
962169655696943
T:
qtesla1
99552101287101939
T:
falcon512dyn
124517124984125549haetae2
128594128835129191dilithium5aes
135302137693142103
T:
luov863256pc
144794144966145263T!!!dilithium3
162926164011164965ed25519
163403165042166679
T:
falcon1024tree
181523183779185722
T:
rainbow3cclassic683248
184789185345186006haetae3
197145197718198269
T:
qtesla3f
199354200044200460
T:
qtesla3s
201429202868203432
T:
falcon1024dyn
221607222094222951haetae5
224114225381226897nccsign1aes
227339227611227759T!!!dilithium5
266292271800279248
T:
redgemss128
270142271919273484nccsign1
268747278997307292
T:
bluegemss128
284096286030287121nccsign3aes
282806286992290187
T:
gravitysphincsm
290079294400300331
T:
redgemss128v2
282624296515330250
T:
gemss128
294425298232350108
T:
mqsignrr25611272
295409298406304896mqsignrr25611272
296070298922300806mqsignlr25611272
301259303862306891
T:
pass769
335783337453339360
T:
pass863
334981339958343679
T:
mqsignlr25611272
352162353805356210nccsign3
370120372049374142
T:
luov890351pc
377535382424386352
T:
gravitysphincsl
392597404274451176
T:
gemss128v2
391508?406111?500990?
T:
bluegemss128v2
450871452249454933nccsign5aes
461242462212464354
T:
qtesla1p
458444462442465581
T:
rainbow5cclassic963664
484732493245502043
T:
sphincss128harakasimple
510989512982514687
T:
ed448goldilocks
530358532926536425
T:
luov8117404pc
541667543970547138nccsign5
573145581433586493
T:
mqsignrr25614896
579178583551591362mqsignrr25614896
578508591567607051mqsignlr25614896
583616591594667936
T:
mqsignlr25614896
610532628999655736
T:
bluegemss192
641050653584675533
T:
gemss192
655950662112683447
T:
redgemss192
654654672461683500
T:
sphincss128harakarobust
701578727750742888
T:
gemss192v2
732966754186789623
T:
redgemss192v2
739416756938781763
T:
bluegemss192v2
757988766958780918
T:
sphincss192harakasimple
102228510297711041276
T:
sphincss256harakasimple
103342910415601050893
T:
donald2048
107642610851591092607
T:
hector
111194811235221148923
T:
sphincss192harakarobust
110869611266821148322
T:
sphincsf128harakasimple
122970112300621230493aimer128f
126748512751131285170
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
340974534117693430059picnicl1full
377897438354943960297
T:
sphincss128shake256simple
423332142362694254607picnicl1fs
528727552925515318058picnicl1ur
548722456067525705427
T:
sphincss192shake256simple
646425964703916474978aimer256f
677035867751397318487picnicl3full
717999072581947349980
T:
sphincss256shake256simple
730650174805107689253
T:
sphincss128shake256robust
743592975288657646632
T:
mqdss64
904079291696799323263
T:
sphincsf128shake256simple
934156793446739364911
T:
luov890351
955799295807899751581aimer128s
993060099585679997542picnicl3fs
108390641102641411207057
T:
sphincss192shake256robust
114389641144824411465908picnicl5full
120982461210186812117061
T:
rainbow1acompres363232
121718501219755712582653
T:
rainbow1acyclicc363232
127855051279714512806898picnicl3ur
133021981343933613611261
T:
sphincsf192shake256simple
133950141355791413771071
T:
sphincsf256shake256simple
140149661402513814039810picnic3l1
139354501420714314434059
T:
sphincss256shake256robust
160163531602397316035096
T:
luov8117404
158754621615663116369779
T:
sphincsf128shake256robust
169187961693043316952936
T:
pqrsa15
172328091725132217271484picnicl5fs
211704822118945721533477picnicl5ur
244130332441839224424245aimer192s
281561882833860828576795
T:
sphincsf192shake256robust
284110772868407129024548
T:
sphincsf256shake256robust
301404463019382430218207picnic3l3
318778383190957331930157
T:
luov4849242
474298244746195647503284aimer256s
480012204819660948282273picnic3l5
690591776911854269173749
T:
picnic2l1fs
735675477359322473822711
T:
rainbow3ccyclicc683248
739941067405482974516401
T:
rainbow3ccompres683248
803895208047789480595975
T:
luov6468330
152748888152867635153240337
T:
picnic2l3fs
164437733164498844164545666
T:
rainbow5ccyclicc963664
166009154166057644166286990
T:
rainbow5ccompres963664
174552236174791876174934621
T:
luov8086399
268839984269087393269153708
T:
picnic2l5fs