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; Coffee Lake (906ea); 2018 Intel Xeon E-2124; 4 x 3300MHz; r24000, supercop-20241011

[Page version: 20241017 10:58:46]

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: (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
404440644085picnicl1full
433943434425picnic3l1
526952975339
T:
picnic2l1fs
572557315759picnicl3full
601560356094picnicl1ur
605360846128picnicl1fs
616761766225picnic3l3
744074567637picnic3l5
747074937576picnicl5full
784978948201
T:
picnic2l3fs
965796689704picnicl3ur
968096959769picnicl3fs
107181077711017
T:
picnic2l5fs
127751281613077picnicl5fs
129751306113305picnicl5ur
457194581045950ed25519
458064588246110aimer128s
459984608646220aimer128f
505245078551057T!!!dilithium2aes
796768002180270dilithium3aes
814438171782250T!!!dilithium2
108454108733109766aimer192s
109064109541109845aimer192f
119159119431119699dilithium5aes
147386147762148170T!!!dilithium3
152870153153153632
T:
ed448goldilocks
183086184633185949nccsign1aes
208417209206210457
T:
pass769
224490224940225243T!!!dilithium5
232828234334236156nccsign1
246007248568250608nccsign3aes
255873256793257934
T:
pass863
273694274074274704aimer256f
274909275344276022aimer256s
311581313741315386nccsign3
386377389222391241nccsign5aes
467809470028473671nccsign5
318391?582234?1110510?haetae2
776759778771780203
T:
sphincsf128harakasimple
456723?780662?1206692?haetae5
830576832632833411
T:
mqdss48
515587?836192?1260873?haetae3
880543895078901984
T:
donald2048
941799943212945259
T:
sphincsf128harakarobust
977950982710983299
T:
sphincsf192harakasimple
139562814021861407228
T:
sphincsf192harakarobust
848051?1587235?2281581?
T:
qtesla1
193749919396901942589
T:
mqdss64
231227923151862398757
T:
sphincs256
298197529836532985832
T:
sphincsf256harakasimple
311277031141723116201
T:
sphincsf128shake256simple
387136838731503883530
T:
sphincsf256harakarobust
462426246307654669153
T:
luov863256
466445846658484682212
T:
sphincsf192shake256simple
3368725?4958314?8148377?
T:
qtesla3f
554875455498785596664
T:
sphincsf128shake256robust
5456572?6184377?6923162?
T:
qtesla1p
717716971906937213033mqsignlr2567246
736845473796657402799
T:
mqsignlr2567246
761949676395557651562
T:
luov863256pc
4921505?8050472?12785100?
T:
qtesla3s
831132683135648316584
T:
sphincsf192shake256robust
952708995328049555893
T:
mqsignrr2567246
982615498640469872574mqsignrr2567246
107227691074677410802588
T:
rainbowbinary256181212
124667171247190712479025
T:
sphincsf256shake256simple
169645781735672519137815
T:
falcon512dyn
167322861743020119132049
T:
falcon512tree
181290781815609618188755
T:
rainbow1aclassic363232
182581501833558118359367
T:
luov890351
184777481848699518494394
T:
rainbow1acyclicc363232
186607681870617818746995
T:
rainbow1acompres363232
218458502185137221905858
T:
sphincsf256shake256robust
220057742207251522168342
T:
luov4849242
261273662615393426194122
T:
sphincss128harakasimple
300385443006377830087824
T:
sphincss128harakarobust
300351733015908030239220
T:
sphincss192harakasimple
307678633078621030808283
T:
luov890351pc
329510803296789532986530
T:
luov8117404
335232623359868433678693
T:
mqsignlr25611272
335188663362972033777011mqsignlr25611272
411569774147838541650906mqsignrr25611272
32650660?41731334?48119403?
T:
qtesla3p
416867524176398941918668
T:
mqsignrr25611272
438925454397464044217915
T:
sphincss192harakarobust
470285194762722948037569
T:
rainbowbinary16242020
512840985326846056729735
T:
falcon1024dyn
538201815385414753901044
T:
luov8117404pc
540513415417700054272840
T:
sphincss256harakarobust
521742945434076157021919
T:
falcon1024tree
548408685486549454889608
T:
sphincss256harakasimple
658025316596390466081676
T:
luov6468330
666600686668555866720406
T:
gemss128v2
686720116869435768721335
T:
bluegemss128v2
689944316903592969056428
T:
gemss128
730364127308241273130994
T:
redgemss128v2
742777737429234374320681
T:
bluegemss128
753445067536002075397052
T:
redgemss128
842262058446551784823356mqsignlr25614896
841853008449378084822355
T:
mqsignlr25614896
104321229104430149105073188
T:
rainbow3cclassic683248
105071096105095339105112573
T:
sphincss128shake256simple
107684755107746019107786438
T:
rainbow3ccompres683248
123770373123793567123823707
T:
rainbow3ccyclicc683248
126791716127857229128453963mqsignrr25614896
129581019129855026130003870
T:
luov8086399
148371197148383096148410587
T:
sphincss192shake256simple
180829907180838563180851392
T:
sphincss128shake256robust
204558138204569926204585739
T:
sphincss256shake256simple
247839873248080834248293986
T:
redgemss192
266278271268411886268593449
T:
sphincss192shake256robust
303510201303959563304387853
T:
rainbow5cclassic963664
304148946304440111304801854
T:
bluegemss192
329127344329173150329244991
T:
gemss192
334752992335085819335765121
T:
rainbow5ccompres963664
335989942336436395337955391
T:
rainbow5ccyclicc963664
345208901345304155345599857
T:
gemss192v2
348324575348842347349029928
T:
redgemss192v2
349964338350291370350822004
T:
bluegemss192v2
353723907353752119353783625
T:
sphincss256shake256robust
703308471710501611710737180
T:
gemss256
728042361728758662729990189
T:
bluegemss256
729832144730914360732290813
T:
redgemss256
102104671810219072761023537726
T:
gemss256v2
102318967810366178861038492944
T:
redgemss256v2
103690190810393686621043830879
T:
bluegemss256v2
106830385710702978551070957006
T:
gravitysphincss
373821524738398644583987196581
T:
pqrsa15
170954031501709622190117099897792
T:
gravitysphincsl
343963586453439818636434413576549
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
173161754818236
T:
rainbowbinary256181212
331853345834729
T:
rainbowbinary16242020
485924866948788ed25519
862178667788432
T:
rainbow1aclassic363232
904669170193306
T:
rainbow1acyclicc363232
910889450897071
T:
mqsignlr2567246
114444118804121001mqsignlr2567246
135963139575141934
T:
mqsignrr2567246
83055?140047?193637?T!!!dilithium2aes
160617160798160975
T:
ed448goldilocks
160463164512166733mqsignrr2567246
153717?225082?317805?T!!!dilithium2
218236?228532?445851?
T:
pass769
165683?251154?469347?dilithium5aes
252667264202276021
T:
mqsignlr25611272
147195?264855?342125?dilithium3aes
179840?276522?444376?T!!!dilithium3
308062310540313881mqsignlr25611272
328869?331061?491257?nccsign1aes
209381?333993?776309?
T:
qtesla1
353380356625360711
T:
luov863256pc
382156384558387537
T:
mqsignrr25611272
387214390790393849
T:
falcon512tree
390935393214395997
T:
rainbow3cclassic683248
400691?403167?735715?nccsign1
433747437882442758mqsignrr25611272
329356?448736?598172?T!!!dilithium5
472571473483475523
T:
rainbow3ccyclicc683248
494058496706505709
T:
mqsignlr25614896
276034?546851?821878?
T:
pass863
265916?573779?923731?
T:
qtesla3f
587924591943597936mqsignlr25614896
452700?687568?910081?nccsign3aes
705084708683714344
T:
falcon512dyn
490829?760304?1418610?
T:
qtesla1p
778507782586792051
T:
falcon1024tree
531389?782758?1296795?nccsign3
398133?840904?1610708?
T:
qtesla3s
878034880915883646
T:
rainbow5cclassic963664
881427888697894619
T:
donald2048
906896913955922298mqsignrr25614896
664851?915129?1230263?nccsign5aes
782161?1087241?1381399?nccsign5
118596211891991194377
T:
luov890351pc
124186412424491243002aimer128f
128392212873061290395
T:
rainbow5ccyclicc963664
899550?1434142?2229452?haetae2
142980414405481515669
T:
falcon1024dyn
169746017012961704476
T:
luov8117404pc
956338?1759710?2953729?haetae3
1016246?1842590?3076376?haetae5
328694232883943294518
T:
luov863256
329302032938223294713aimer192f
3204637?3621884?4728147?
T:
redgemss128v2
2867579?3694086?5251415?
T:
qtesla3p
3309654?3898297?4650644?
T:
redgemss128
410219441034904115056picnicl1full
506414050658275067158picnicl1fs
479664551200175129124
T:
mqdss48
631984363248296327425picnicl1ur
654905465623066563761aimer256f
802224980248618033642picnicl3full
887886688842808887912
T:
gravitysphincss
7820972?9315509?11355478?
T:
redgemss192
952520295277979545253aimer128s
9150237?10407833?12584927?
T:
redgemss192v2
105576441057755010583966
T:
luov890351
113022151131811912342122
T:
mqdss64
118563951185997011880449picnicl3fs
135120121351849613550530picnicl5full
11927494?14588989?17311170?
T:
redgemss256
13436394?15044796?18321123?
T:
redgemss256v2
151169461514192115337466
T:
rainbow1acompres363232
152092521522061515226386picnicl3ur
158894201590397415911203
T:
gravitysphincsm
177196631772691117736550picnic3l1
184042261841251318431172
T:
luov8117404
187889051884422418887448
T:
gravitysphincsl
200622292007951320087987picnicl5fs
245536872455659424558955aimer192s
252648092531169125430105picnicl5ur
272035002722157427239075
T:
sphincsf128harakasimple
286650542868329428700189
T:
sphincsf192harakasimple
343166353438073334471264
T:
sphincsf128harakarobust
378331143793447938054258picnic3l3
409465484109301741192256
T:
sphincs256
421469334222050042329668
T:
sphincsf192harakarobust
437245064374934743788725
T:
luov4849242
476360094769251547730868aimer256s
648372366497074265124321picnic3l5
746047287467612674941289
T:
sphincsf256harakasimple
899830949006001290181335
T:
rainbow3ccompres683248
99772867100148179100245132
T:
sphincsf256harakarobust
103654836103806999103935402
T:
sphincsf128shake256simple
119766567119844654119903776
T:
pqrsa15
98791947?121373252?155734616?
T:
bluegemss128v2
134531351134671336134785125
T:
sphincsf192shake256simple
114506262?138947590?183208667?
T:
bluegemss128
141769282142039506142332506
T:
luov6468330
155026740155104138155345934
T:
picnic2l1fs
176865350177130014177383763
T:
sphincsf128shake256robust
217139971218384484221431580
T:
rainbow5ccompres963664
235624471235855568236124304
T:
sphincsf192shake256robust
255269151?256345077?356255303?
T:
bluegemss192v2
282221890282768951283192216
T:
luov8086399
295428794295647488295923138
T:
sphincsf256shake256simple
294752938?353449983?412376157?
T:
bluegemss192
454990432455093651455248579
T:
picnic2l3fs
477811741479024870479231593
T:
sphincss128harakasimple
503657598504841412505164207
T:
sphincsf256shake256robust
434115860?520467584?607506393?
T:
bluegemss256v2
362745951?541806871?722124175?
T:
bluegemss256
577886467578073706578970221
T:
sphincss128harakarobust
604340529?725026178?846413714?
T:
gemss128v2
741460360741573182742541752
T:
sphincss256harakasimple
770222596770391127772976148
T:
sphincss256harakarobust
712508723?855061155?1003094625?
T:
gemss128
863955662866402076867110862
T:
sphincss192harakasimple
955732682955926479956308182
T:
picnic2l5fs
133247616913357566481335995903
T:
sphincss192harakarobust
168922620616893988241689711553
T:
sphincss128shake256simple
1404376549?2084156203?2455176617?
T:
gemss192v2
2025290786?2430179926?2835019021?
T:
gemss192
250229379525024902492504989695
T:
sphincss256shake256simple
272506800027252746682725599651
T:
sphincss128shake256robust
264794845031770671133206561496
T:
gemss256v2
3397147345?3405764212?4755616693?
T:
gemss256
340131680134066124923407986583
T:
sphincss192shake256simple
414101691841414598744174499899
T:
sphincss256shake256robust
555839580155632148995564200767
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
144251449414619
T:
rainbowbinary256181212
240292432424847
T:
rainbowbinary16242020
312523194932745
T:
rainbow1aclassic363232
611046132661497T!!!dilithium2aes
672006871771102
T:
gravitysphincss
751257626277059
T:
falcon512tree
751647842880918
T:
mqsignlr2567246
755088067384107mqsignlr2567246
835738502587406mqsignrr2567246
827138584889548
T:
mqsignrr2567246
877538787688234dilithium3aes
893418953089993T!!!dilithium2
892139026991516
T:
falcon512dyn
990049934399963
T:
qtesla1
121466121781122254haetae2
128751129098129371dilithium5aes
131668134952137322
T:
luov863256pc
146577146782147018T!!!dilithium3
150062151191151958
T:
falcon1024tree
166526167101168172ed25519
178986180368182706
T:
rainbow3cclassic683248
180562181515183118
T:
falcon1024dyn
190016193673198929haetae3
199632200075200906
T:
qtesla3f
202664203226204042
T:
qtesla3s
224219224631226434haetae5
223715225146225831nccsign1aes
228322228552228792T!!!dilithium5
262590268606274531
T:
redgemss128
267293269296270816nccsign1
286641287592289879
T:
pass769
283003288888293956
T:
gravitysphincsm
285524293210300414
T:
bluegemss128
284897293549303914
T:
redgemss128v2
298150299256300884nccsign3aes
301313303394311767mqsignrr25611272
300598303501306246mqsignlr25611272
301849304825310378
T:
mqsignrr25611272
301019312751315669
T:
gemss128
312656330787335644
T:
mqsignlr25611272
349771352388356699
T:
pass863
353286355444357595nccsign3
361487369751380154
T:
bluegemss128v2
368039370767372383
T:
rainbow5cclassic963664
367794371176373711
T:
luov890351pc
375130381926389999
T:
gravitysphincsl
405974416617428323
T:
gemss128v2
456373457951459861nccsign5aes
465909467945469630
T:
qtesla1p
487119495841505130
T:
sphincss128harakasimple
505486507442509653
T:
ed448goldilocks
517587520802522927nccsign5
523326531579536675
T:
luov8117404pc
565507568008572545mqsignlr25614896
563933568441579880mqsignrr25614896
568047579581593033
T:
mqsignlr25614896
599336615651631612
T:
redgemss192
651308661035674550
T:
gemss192
651057662987673158
T:
bluegemss192
701543712396725071
T:
sphincss192harakasimple
741027752215771423
T:
sphincss128harakarobust
744331761652774079
T:
bluegemss192v2
741778762178776832
T:
redgemss192v2
807264816048837339
T:
gemss192v2
104900610558321063081
T:
donald2048
103593010573881076595
T:
sphincss256harakasimple
116317911790021195779
T:
sphincsf128harakasimple
117588211832091200750
T:
sphincss192harakarobust
118379211886061199530
T:
sphincs256
121300412133431214231aimer128f
120155812224221253132
T:
bluegemss256v2
120081412230861250545
T:
gemss256v2
125004912668421289756
T:
redgemss256v2
125822012842691308907
T:
gemss256
127185012959741323091
T:
bluegemss256
135504213886371401077
T:
redgemss256
146657114957491526041
T:
sphincss256harakarobust
174629317586581776900
T:
sphincsf192harakasimple
174283617734451833813
T:
sphincsf128harakarobust
197314019956752020433
T:
sphincsf256harakasimple
215411721616132169325
T:
qtesla3p
265066326553432657018
T:
luov863256
283360528733282903259
T:
sphincsf192harakarobust
284946328805532922749
T:
sphincsf256harakarobust
305522632282193266191
T:
mqdss48
324861832492653249930aimer192f
323648633251113406359
T:
sphincss128shake256simple
336011833655363375425picnicl1full
418850942062254218536picnicl1fs
467094547137984770208
T:
sphincss192shake256simple
523336952401295265222picnicl1ur
615417862157126393615
T:
sphincss256shake256simple
616908562848766403988
T:
sphincss128shake256robust
646104564625756469204aimer256f
669967367027676707703picnicl3full
762536276698938347907
T:
mqdss64
767354877808017946905
T:
sphincsf128shake256simple
893377190898169285471
T:
sphincss192shake256robust
932611793474569398461
T:
luov890351
947879994952839513829aimer128s
9978615999107010006906picnicl3fs
112370221125714711265800picnicl5full
118817631188913911928555
T:
rainbow1acompres363232
118699021190201511980047
T:
rainbow1acyclicc363232
117478551191635812140953
T:
sphincss256shake256robust
122021141233298912448387
T:
sphincsf192shake256simple
127329661274164612756672picnicl3ur
134486231366284313851763
T:
sphincsf256shake256simple
140156721402445214039871picnic3l1
147094821494575715213294
T:
sphincsf128shake256robust
160332001603797716167499
T:
luov8117404
169244621696343617034227picnicl5fs
170764151709752417122007
T:
pqrsa15
213418562136418121394866picnicl5ur
233580242357918823907647
T:
sphincsf192shake256robust
243758212437880724381406aimer192s
259082862607810526414822
T:
sphincsf256shake256robust
301629753018671430212714picnic3l3
318662843187829131889000
T:
luov4849242
472197614722663447248761aimer256s
476749624775512647837993picnic3l5
684175926847227868536581
T:
picnic2l1fs
718101447182574471894263
T:
rainbow3ccyclicc683248
717334097204140172363808
T:
rainbow3ccompres683248
862210148624234786301164
T:
luov6468330
150630682150701504150768859
T:
picnic2l3fs
159874184159909362160128581
T:
rainbow5ccyclicc963664
159558578160581093161050915
T:
rainbow5ccompres963664
166581756166647251166974599
T:
luov8086399
263121495263254587263547492
T:
picnic2l5fs