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-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: 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
294829562979picnicl1full
342334353484picnic3l1
417241824219picnicl3full
462646344661picnicl1ur
463546514716picnicl1fs
486248704882picnic3l3
533853665436picnic3l5
538254035468
T:
picnic2l1fs
541854385603picnicl5full
829983448560
T:
picnic2l3fs
846384888558picnicl3ur
853886068716picnicl3fs
112331128711546picnicl5fs
112291128811511picnicl5ur
113851148511669
T:
picnic2l5fs
451684521645332aimer128f
452694532445433ed25519
505135065650978T!!!dilithium2aes
580365815858340aimer128s
798718012180422dilithium3aes
822028237982907T!!!dilithium2
109513109716109921aimer192f
109665109766109969aimer192s
120522120914121529dilithium5aes
147715147908148380T!!!dilithium3
153346153632153958
T:
ed448goldilocks
219140219916221351
T:
pass769
226518226971227616T!!!dilithium5
243492244169245318
T:
pass863
275390275629275836aimer256f
275365275742276758aimer256s
707692708327710387
T:
sphincsf128harakasimple
820964822175823690
T:
sphincsf128harakarobust
823630825932828444
T:
mqdss48
878126890102896953
T:
donald2048
108683810880731092320
T:
sphincsf192harakasimple
590519?1119934?1828642?haetae2
123797612393641240266
T:
sphincsf192harakarobust
895354?1711592?2539783?
T:
qtesla1
191496819221911927335
T:
mqdss64
1468466?2017411?3115851?haetae3
1092548?2022950?3908270?haetae5
239360023947562396333
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
736769873800757395105
T:
mqsignlr2567246
755164275534077559717
T:
luov863256pc
791928579220968017383
T:
sphincsf128shake256robust
102045291024580410281050
T:
rainbowbinary256181212
115888381158946511590499
T:
sphincsf192shake256robust
123230641233805712353187
T:
mqsignrr2567246
168675611691110317174865
T:
rainbow1aclassic363232
164042801748518919599045
T:
falcon512dyn
175588271756173417705760
T:
sphincsf256shake256simple
175631101758847117608869
T:
rainbow1acyclicc363232
171648031821821519952671
T:
falcon512tree
184801191853848918597634
T:
luov890351
188833391889218718944926
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
322468333227026732302087
T:
mqsignlr25611272
329763093299413633212790
T:
sphincss192harakasimple
401743504017860940312807
T:
sphincss192harakarobust
456194314626663146890326
T:
rainbowbinary16242020
468891134690616646919688
T:
sphincss256harakasimple
524792405251092952613637
T:
mqsignrr25611272
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
790868447923600479334889
T:
mqsignlr25614896
902169069023480890252984
T:
gemss128v2
927173269273415092839926
T:
bluegemss128v2
958110389584714195933171
T:
redgemss128v2
108246704108280098108358767
T:
rainbow3cclassic683248
108359634108492646109439432mqsignlr2567246
109122014109136323109165981
T:
rainbow3ccyclicc683248
109507051109537396110524092
T:
rainbow3ccompres683248
122114634122210661122360429
T:
mqsignrr25614896
132238513132345011132605561
T:
luov8086399
137575947137594076137851302
T:
sphincss128shake256simple
147959275148101286148198505mqsignrr2567246
201633012201636829201640662
T:
sphincss192shake256simple
250463075250484252250490515
T:
sphincss128shake256robust
260266892260312467267525199
T:
sphincss256shake256simple
289783748289821578290496503
T:
gemss192
309256152309525451310329106
T:
redgemss192
313140220313404607313969582
T:
rainbow5cclassic963664
316624691316731248318213479
T:
bluegemss192
340961320341457780341979992
T:
rainbow5ccompres963664
345361596347773923348685403
T:
rainbow5ccyclicc963664
368770622369550515369600787mqsignlr25611272
370598370370774411372948900
T:
sphincss192shake256robust
395339508395382050395434672
T:
gemss192v2
398653662398708401399522266
T:
bluegemss192v2
405298706405717807406260565
T:
redgemss192v2
490255091490297494496814413
T:
sphincss256shake256robust
514600460515315758515545682mqsignrr25611272
793239763799124333805763185
T:
redgemss256
807340258812040383816625456
T:
redgemss256v2
844145758844278057855193653mqsignlr25614896
909921734911454575914093629
T:
gemss256
933323806933664874942646354
T:
bluegemss256
107996686010800476321082056827
T:
gravitysphincss
113307029711334599911135061155
T:
gemss256v2
115548336111562330301160449951
T:
bluegemss256v2
118187393711839476111187196863mqsignrr25614896
372990264238638732193938827146
T:
pqrsa15
170958370631718875504317202886472
T:
gravitysphincsl
342941279193429810763534361204347
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
168311708817546
T:
rainbowbinary256181212
332423381634527
T:
rainbowbinary16242020
481004818148353ed25519
843798633889792
T:
rainbow1aclassic363232
892618994191516
T:
mqsignlr2567246
874559072193776
T:
rainbow1acyclicc363232
126548128567145161
T:
mqsignrr2567246
84816?137775?175667?T!!!dilithium2aes
160722160902161078
T:
ed448goldilocks
145905?193802?323053?dilithium3aes
153947?196080?274867?T!!!dilithium2
211537?253931?329700?dilithium5aes
253791257508260326
T:
mqsignlr25611272
258550?270523?521243?
T:
pass863
228126?285278?384833?T!!!dilithium3
201880?342683?674755?
T:
qtesla1
358334361032364758
T:
luov863256pc
374657380126384683
T:
mqsignrr25611272
387166389529391680
T:
rainbow3cclassic683248
402575407694411837
T:
falcon512tree
334898?419202?618858?T!!!dilithium5
415908420404438102
T:
rainbow3ccyclicc683248
237747?449999?674367?
T:
pass769
493405497065500015
T:
mqsignlr25614896
258737?595668?956913?
T:
qtesla3f
682074682985683890mqsignlr2567246
710040713740725059
T:
mqsignrr25614896
737322741666749203
T:
falcon512dyn
814865817795823697
T:
falcon1024tree
878406884029891698
T:
donald2048
890559893266895744
T:
rainbow5cclassic963664
711974?1008069?1721773?
T:
qtesla1p
100591510094771015739
T:
rainbow5ccyclicc963664
104772310509281053118
T:
luov890351pc
558150?1079461?1624614?
T:
qtesla3s
123732512405581242477mqsignrr2567246
891069?1253867?1655451?haetae3
125867412617771262523aimer128f
142252214298811434257mqsignlr25611272
925956?1466895?2824985?haetae2
149056914941191498298
T:
falcon1024dyn
157062915745191578945
T:
luov8117404pc
1042013?1884659?3620523?haetae5
239241523964712405289mqsignrr25611272
326817232707753288351mqsignlr25614896
326942332717853343508
T:
luov863256
327786332792013280962aimer192f
363628436385633640540picnicl1full
3104471?3946828?5392894?
T:
qtesla3p
3299399?4306824?4893928?
T:
redgemss128v2
450288745041054506533picnicl1fs
3556405?4553162?5239679?
T:
redgemss128
460166146259984660898mqsignrr25614896
468209646923294895326
T:
mqdss48
574770957490185750467picnicl1ur
658872965934856879479aimer256f
702400670282437032374picnicl3full
893901089426648945931
T:
gravitysphincss
8042848?9503888?12049095?
T:
redgemss192v2
961195898152509823220aimer128s
107404931074225110747489
T:
luov890351
8509803?10839360?12921282?
T:
redgemss192
109164991098992110995673picnicl3fs
112330151125270911551049
T:
mqdss64
116283711163091411635756picnicl5full
142379871424983314284979picnicl3ur
155792621560131216254674
T:
rainbow1acompres363232
158526401586463116010463
T:
gravitysphincsm
13155028?16016782?20292529?
T:
redgemss256
172715741728428517310918picnic3l1
14991810?18349637?22684231?
T:
redgemss256v2
184198981842347718430913
T:
luov8117404
184234181844920118521116picnicl5fs
187517241876815918866646
T:
gravitysphincsl
234681752348580023542764picnicl5ur
245659792457100624575030aimer192s
250133492504550625094099
T:
sphincsf128harakasimple
301416513018447830278457
T:
sphincsf128harakarobust
314517063148189531752683
T:
sphincsf192harakasimple
365987083661549536626679picnic3l3
374023673743392037451737
T:
sphincsf192harakarobust
418411304187855741919759
T:
sphincs256
451253264514701645167981
T:
luov4849242
477319334774786047868168aimer256s
623414666236998962417277picnic3l5
709545617099063371180228
T:
sphincsf256harakasimple
862889078632676486364473
T:
sphincsf256harakarobust
917417869182292591997441
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
225086948225435839226534909
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
370473816639692
T:
rainbow1aclassic363232
607266086061029T!!!dilithium2aes
676506930471983
T:
gravitysphincss
707097226373782
T:
mqsignlr2567246
781207970681690
T:
mqsignrr2567246
811858257483256
T:
falcon512tree
868028696087205dilithium3aes
893308947089635T!!!dilithium2
962169655696943
T:
qtesla1
99552101287101939
T:
falcon512dyn
124297124620125040haetae2
128585128766129090dilithium5aes
135302137693142103
T:
luov863256pc
145292145496145686T!!!dilithium3
163107163703164582ed25519
163403165042166679
T:
falcon1024tree
181881184732186916
T:
rainbow3cclassic683248
192533193212193949haetae3
197145197718198269
T:
qtesla3f
199354200044200460
T:
qtesla3s
201429202868203432
T:
falcon1024dyn
227523227951228872T!!!dilithium5
229281229751230175haetae5
266292271800279248
T:
redgemss128
268747278997307292
T:
bluegemss128
282806286992290187
T:
gravitysphincsm
290079294400300331
T:
redgemss128v2
282624296515330250
T:
gemss128
295256296849299095
T:
mqsignrr25611272
297039298430300011
T:
mqsignlr25611272
299166300426302095
T:
pass769
333913340947343775
T:
pass863
370120372049374142
T:
luov890351pc
377535382424386352
T:
gravitysphincsl
392597404274451176
T:
gemss128v2
391508?406111?500990?
T:
bluegemss128v2
461242462212464354
T:
qtesla1p
458622462738467153
T:
rainbow5cclassic963664
484732493245502043
T:
sphincss128harakasimple
510989512982514687
T:
ed448goldilocks
530358532926536425
T:
luov8117404pc
565346575584582666
T:
mqsignlr25614896
582614585704588126
T:
mqsignrr25614896
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
111194811235221148923
T:
sphincss192harakarobust
110869611266821148322
T:
sphincsf128harakasimple
122781412281731231619aimer128f
126465512706941279894
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
225205622550302258940mqsignlr25611272
230046223041602306294mqsignrr25611272
230240623054242309992mqsignrr2567246
233290923345742336548mqsignlr2567246
265905626601312716754
T:
luov863256
271360127484322768556
T:
sphincsf192harakarobust
284000328693142891169
T:
sphincsf256harakarobust
289369528969332911954picnicl1full
296459730018293088338
T:
mqdss48
321779032217243229788mqsignrr25614896
322908532302663234618aimer192f
323546832387923241383mqsignlr25614896
362299436379083644206picnicl1fs
377897438354943960297
T:
sphincss128shake256simple
467426646819354705157picnicl1ur
548722456067525705427
T:
sphincss192shake256simple
565867356787085682072picnicl3full
646788064694936773286aimer256f
717999072581947349980
T:
sphincss256shake256simple
730650174805107689253
T:
sphincss128shake256robust
743592975288657646632
T:
mqdss64
912680891645519388397picnicl3fs
904079291696799323263
T:
sphincsf128shake256simple
934156793446739364911
T:
luov890351
939192094061149414989picnicl5full
955723297532689756893aimer128s
108390641102641411207057
T:
sphincss192shake256robust
119105241192081411936647picnicl3ur
122592961226354812298813
T:
rainbow1acyclicc363232
123083091233526612666139
T:
rainbow1acompres363232
133021981343933613611261
T:
sphincsf192shake256simple
133950141355791413771071
T:
sphincsf256shake256simple
138573871386793713882106picnic3l1
139354501420714314434059
T:
sphincss256shake256robust
153465621538674215414721picnicl5fs
160163531602397316035096
T:
luov8117404
158754621615663116369779
T:
sphincsf128shake256robust
169187961693043316952936
T:
pqrsa15
196536161971212919814248picnicl5ur
244084082441316424438059aimer192s
281561882833860828576795
T:
sphincsf192shake256robust
284110772868407129024548
T:
sphincsf256shake256robust
295906402960463429625068picnic3l3
318778383190957331930157
T:
luov4849242
467634164679311446826829picnic3l5
474301014746293847515443aimer256s
690591776911854269173749
T:
picnic2l1fs
741623987435362674671621
T:
rainbow3ccompres683248
741268847441427274762216
T:
rainbow3ccyclicc683248
803895208047789480595975
T:
luov6468330
152748888152867635153240337
T:
picnic2l3fs
166585571166903021169830791
T:
rainbow5ccyclicc963664
168089046168342521168687740
T:
rainbow5ccompres963664
174552236174791876174934621
T:
luov8086399
268839984269087393269153708
T:
picnic2l5fs