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; Broadwell+AES (406f1); 2016 Intel Xeon E5-2609 v4; 8 x 1700MHz; bolero, supercop-20240909

[Page version: 20241006 02:11:55]

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
443644684584picnicl1full
446044764496picnic3l1
478448204852
T:
picnic2l1fs
591259325984picnicl3full
594460206076picnic3l3
614461646216picnicl1ur
6156?6196?8687?picnicl1fs
771277527800picnic3l5
773677727808picnicl5full
885290569976
T:
picnic2l3fs
104321047610516picnicl3fs
104681051610556picnicl3ur
119441218413388
T:
picnic2l5fs
137441380013932picnicl5fs
138321388414068picnicl5ur
450844520045472ed25519
488284903655688aimer128f
48932?57072?69229?aimer128s
61928?62748?90933?T!!!dilithium2aes
913729154491936T!!!dilithium2
9827698820101460dilithium3aes
117896118096125660aimer192f
132492132668133196aimer192s
152644153044153420dilithium5aes
157424158072158880
T:
ed448goldilocks
164952165368172772T!!!dilithium3
193108196432212968nccsign1aes
238464244940249092
T:
pass769
244308247300264484nccsign1
253364255980272336nccsign3aes
257048263284268964T!!!dilithium5
286692289768299400
T:
pass863
295168295424296396aimer256f
318712320860322932nccsign3
336236?336884?476894?aimer256s
396140400540419924nccsign5aes
495844498764501788nccsign5
372772?720112?1138692?haetae2
824280825932828532
T:
mqdss48
428676?867432?1314956?haetae3
908568911960912944
T:
sphincsf128harakasimple
906144914704935416
T:
donald2048
110027611012401108892
T:
sphincsf128harakarobust
123293612381241244540
T:
sphincsf192harakasimple
714936?1280264?1959740?haetae5
161112816135481619640
T:
sphincsf192harakarobust
1234312?1628332?2398884?
T:
qtesla1
189911219017961915088
T:
mqdss64
277403227823802799932
T:
sphincs256
351237635207563530304
T:
sphincsf256harakasimple
2874860?4177968?5570212?
T:
qtesla3f
430696443193044336332
T:
sphincsf256harakarobust
449548045060844625136
T:
sphincsf128shake256simple
602004061620366759696
T:
luov863256
657665265851846616488
T:
sphincsf192shake256simple
5240732?6613088?7661688?
T:
qtesla1p
825830882671568406080
T:
sphincsf128shake256robust
5577296?8304912?12359072?
T:
qtesla3s
949662896138849866628mqsignlr2567246
928962896298089684428
T:
mqsignlr2567246
113874321141140411457568
T:
luov863256pc
116970601176109211853540
T:
rainbowbinary256181212
117420001201348012188860mqsignrr2567246
120485241214469212295488
T:
mqsignrr2567246
121396121215094412160316
T:
sphincsf192shake256robust
173698841737806417402464
T:
sphincsf256shake256simple
172511161806640820637056
T:
falcon512tree
173816641898289620986084
T:
falcon512dyn
189662201899239219114760
T:
rainbow1acyclicc363232
191405961919904419647796
T:
luov4849242
201695642019846820219860
T:
rainbow1aclassic363232
203450162036863220398196
T:
rainbow1acompres363232
217389722176997622458428
T:
luov890351
284415482850039228621816
T:
sphincss128harakasimple
322645483230337632548944
T:
sphincsf256shake256robust
348353083484679234884724
T:
sphincss128harakarobust
29880308?34970600?40356924?
T:
qtesla3p
361135523619563640226432
T:
luov8117404
388317163995311642900548mqsignlr25611272
392098684188772447520616
T:
mqsignlr25611272
419033124207598442195272
T:
luov890351pc
423032004244396842493144
T:
sphincss192harakasimple
487081124874194048758980
T:
sphincss192harakarobust
498293285005125250360092
T:
mqsignrr25611272
498555005007323250629792mqsignrr25611272
520698285209697652124188
T:
sphincss256harakasimple
523772845493461657525580
T:
falcon1024dyn
533229085562570064333504
T:
falcon1024tree
567030925724612857761536
T:
rainbowbinary16242020
636711966367814063737948
T:
gemss128
642944446439148864446424
T:
sphincss256harakarobust
651533726520912465269964
T:
bluegemss128
655266926566898468134228
T:
luov6468330
656903206571334465740740
T:
redgemss128
702863567074119271001540
T:
luov8117404pc
709711887103777271153404
T:
redgemss128v2
897323968975637689807648
T:
gemss128v2
924300089245770492545196
T:
bluegemss128v2
920915889400353295088720mqsignlr25614896
922152809757642899654644
T:
mqsignlr25614896
117332256117557952117814156
T:
rainbow3cclassic683248
118992760119190840120591008
T:
rainbow3ccyclicc683248
120232084120388380120631628
T:
luov8086399
128463892130266364132814872
T:
rainbow3ccompres683248
128717848131910764134375464mqsignrr25614896
130407268132755856136760033
T:
mqsignrr25614896
143584876143629092143757680
T:
sphincss128shake256simple
210283248210310028210341424
T:
sphincss192shake256simple
254108956254283552254555516
T:
redgemss192
261767820261970172262261004
T:
sphincss128shake256robust
277838640277932104278316456
T:
sphincss256shake256simple
296732300296943612311971072
T:
gemss192
298457916298554888298691372
T:
bluegemss192
344244224346944712358108888
T:
rainbow5cclassic963664
365256940369588644383810720
T:
rainbow5ccompres963664
372668048373128552376248060
T:
rainbow5ccyclicc963664
387870868395965432396495076
T:
sphincss192shake256robust
423816008423862488424006656
T:
gemss192v2
428878500428988752438269984
T:
bluegemss192v2
431495800431694348431814204
T:
redgemss192v2
515746592517962700518608308
T:
sphincss256shake256robust
726673272727147648727867392
T:
bluegemss256
762575584763015464763289920
T:
redgemss256
772298280772671012773165456
T:
redgemss256v2
873154964873445336884270596
T:
gemss256
115773616011580111401175190488
T:
gemss256v2
116928924011696428441183103792
T:
bluegemss256v2
179688717218003985481804784820
T:
gravitysphincss
403062608041495772164247431456
T:
pqrsa15
287346442042874046429628782072628
T:
gravitysphincsl
574923528965754605528457563428660
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
187281896819500
T:
rainbowbinary256181212
376523818844140
T:
rainbowbinary16242020
477324784447948ed25519
889608911689612
T:
rainbow1aclassic363232
936009558097912
T:
rainbow1acyclicc363232
961329790099560
T:
mqsignlr2567246
107972108868109516mqsignlr2567246
138332141436145876
T:
mqsignrr2567246
160152162600166256mqsignrr2567246
164688164880165168
T:
ed448goldilocks
132412?197468?314700?T!!!dilithium2aes
169472?211856?300776?T!!!dilithium2
180192?234060?335812?dilithium3aes
267024271172276584
T:
mqsignlr25611272
279184?307456?630144?
T:
pass769
256256?320228?454540?dilithium5aes
321024?324168?427392?mqsignlr25611272
343796?348168?626800?nccsign1aes
360440361884364344
T:
luov863256pc
377976382468388548
T:
falcon512tree
385108389500399856
T:
rainbow3cclassic683248
382348391220404648
T:
mqsignrr25611272
400016402576409540
T:
rainbow3ccyclicc683248
447148451496454208mqsignrr25611272
331500?458424?634740?T!!!dilithium3
387480?477884?662120?T!!!dilithium5
524324535160551648
T:
mqsignlr25614896
424364?574696?785608?nccsign1
286348?598628?812212?
T:
qtesla1
621508637384649044mqsignlr25614896
443584?650524?1081004?
T:
qtesla3f
339528?671004?997976?
T:
pass863
464656?675468?1027496?nccsign3aes
525664?734464?1015572?nccsign3
733764738296742160
T:
falcon512dyn
721000739496765768
T:
mqsignrr25614896
775032785276799532
T:
falcon1024tree
822228829896837632mqsignrr25614896
769928?863700?1505356?nccsign5aes
909140911824917128
T:
rainbow5cclassic963664
908644920452932168
T:
donald2048
102558010375921061608
T:
rainbow5ccyclicc963664
567576?1084204?1675960?
T:
qtesla1p
109934411096761126884
T:
luov890351pc
931496?1276704?1870208?nccsign5
142109614275561451712aimer128f
149214815020361508164
T:
falcon1024dyn
162854016377881668532
T:
luov8117404pc
921072?1718716?2288796?
T:
qtesla3s
1055496?1766584?3080624?haetae2
1090708?2003152?3466716?haetae3
1229760?2145496?4578412?haetae5
2501656?3306964?5442492?
T:
qtesla3p
341225634220523433900aimer192f
375172037649363890460
T:
luov863256
3578124?4046136?4761124?
T:
redgemss128v2
428941242962084382396picnicl1full
3712792?4514928?5472012?
T:
redgemss128
519529252218525266840
T:
mqdss48
525959652663005271440picnicl1fs
657000865732926577084picnicl1ur
670744067388726760280aimer256f
842135284248568429764picnicl3full
8620652?9934404?12418948?
T:
redgemss192v2
8609312?10426516?13324848?
T:
redgemss192
108065281088524010927448aimer128s
123091881234439612715636
T:
mqdss64
123521321235745212362624
T:
luov890351
123424641236147212369696picnicl3fs
140378201404555614082460picnicl5full
146607321467086814685196
T:
gravitysphincss
12786280?15069704?19054448?
T:
redgemss256
158463201633182816479748picnicl3ur
163255761635966416456268
T:
rainbow1acompres363232
183234521834653218370008picnic3l1
17252720?18739292?22451548?
T:
redgemss256v2
208648322088526420894432
T:
luov8117404
210381842105770822220212picnicl5fs
254534282546202825497124aimer192s
259758642598508425991344
T:
gravitysphincsm
270023762712679227595892picnicl5ur
311180803113037231199688
T:
gravitysphincsl
320566523211654432154184
T:
sphincsf128harakasimple
362573563630081636329600
T:
sphincsf192harakasimple
394077763941663239431464picnic3l3
402243404025594040309344
T:
sphincsf128harakarobust
421622244218212042210936
T:
luov4849242
490724284911660049227692
T:
sphincsf192harakarobust
493229924986180851147484aimer256s
504060965105388451352704
T:
sphincs256
669160646703400468957576picnic3l5
897910328991377289968572
T:
sphincsf256harakasimple
99897580100262768100377176
T:
rainbow3ccompres683248
115103240115174368115278580
T:
sphincsf256harakarobust
127207480127291092127380276
T:
pqrsa15
134210136134246372134318656
T:
luov6468330
114528164?135068180?160118500?
T:
bluegemss128v2
147899056148093032149501324
T:
sphincsf128shake256simple
134183548?160801848?238832840?
T:
bluegemss128
165303704165468048165539724
T:
picnic2l1fs
187831232188172336190788280
T:
sphincsf192shake256simple
244546368248841824249875375
T:
rainbow5ccompres963664
259466328259713872259939200
T:
sphincsf128shake256robust
266004392267586256273400696
T:
luov8086399
280061132?335005892?412034056?
T:
bluegemss192v2
339981188340467080340768548
T:
sphincsf192shake256robust
321892568?386198196?450570372?
T:
bluegemss192
407776496407884268408260136
T:
sphincsf256shake256simple
489950560490076860490222164
T:
picnic2l3fs
376445412?531539448?620031292?
T:
bluegemss256v2
536203312536464232537734744
T:
sphincss128harakasimple
479332552?575381924?673015148?
T:
bluegemss256
676624228676803856677681492
T:
sphincss128harakarobust
735460492735934068736360060
T:
sphincsf256shake256robust
738036036738364488741439812
T:
sphincss256harakasimple
725796356?858634692?1123735356?
T:
gemss128v2
963583040963872380964834424
T:
sphincss256harakarobust
700706276?1005094228?1190012152?
T:
gemss128
103310579210381670361049487340
T:
picnic2l5fs
117722472411786867481188416216
T:
sphincss192harakasimple
154958350815510565561556109588
T:
sphincss192harakarobust
1811788286?2253433328?3111853156?
T:
gemss192
231136646423157996652326062311
T:
sphincss128shake256simple
1954672904?2376258016?3125215804?
T:
gemss192v2
338841315633891511403417502412
T:
sphincss256shake256simple
3238919164?3886537900?4550784640?
T:
gemss256v2
392871312039315801163937190756
T:
sphincss128shake256robust
3684841956?4449410296?5929748536?
T:
gemss256
478100692847818380604800803524
T:
sphincss192shake256simple
602378578860259937886043350472
T:
sphincss256shake256robust
809688338081509400568215386900
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
163041634816448
T:
rainbowbinary256181212
290002942429752
T:
rainbowbinary16242020
320083260433664
T:
rainbow1aclassic363232
652326592067784mqsignlr2567246
743207470474916T!!!dilithium2aes
747567627278268
T:
mqsignlr2567246
787728066483216mqsignrr2567246
786128078882856
T:
mqsignrr2567246
825968401284924
T:
falcon512tree
9835299448100424
T:
falcon512dyn
101596101760101976T!!!dilithium2
102408102824103840
T:
qtesla1
106976109604112416
T:
gravitysphincss
109984110488112064dilithium3aes
115888116628118532
T:
luov863256pc
127316128256129684haetae2
164884165660168700dilithium5aes
165680166740169164ed25519
166908167240174308T!!!dilithium3
167444168936169508
T:
falcon1024tree
189060191448194500
T:
rainbow3cclassic683248
199940200312201060
T:
falcon1024dyn
201716202384203168haetae3
207732208408209208
T:
qtesla3f
210808211524212240
T:
qtesla3s
214308225304234100
T:
redgemss128v2
235048235776237604haetae5
239128240872242256nccsign1aes
245352254172261580
T:
redgemss128
246752255316263064
T:
bluegemss128
251484257240263656
T:
gemss128
263988264540265200T!!!dilithium5
276124284924294648
T:
bluegemss128v2
280412?285556?352471?mqsignlr25611272
282024285648291800mqsignrr25611272
285628289560306516
T:
mqsignlr25611272
285980290168304868nccsign1
286360291056303444
T:
mqsignrr25611272
284748293632300360
T:
gemss128v2
305196307336313316nccsign3aes
332560336624346344
T:
luov890351pc
363336365196367256nccsign3
352796369880382896
T:
pass769
412968419464439028
T:
pass863
439296445920457628
T:
rainbow5cclassic963664
457228?465844?593934?
T:
luov8117404pc
463756471224479988
T:
gravitysphincsm
507608509692511260
T:
qtesla1p
509204516548536356nccsign5aes
515148517520519096
T:
ed448goldilocks
548108553088564168mqsignrr25614896
547956559460574204
T:
redgemss192
539552561828605272mqsignlr25614896
564404580788598328
T:
bluegemss192
571336581656601960
T:
gemss192
551140582116608344
T:
mqsignrr25614896
558876592604613660
T:
mqsignlr25614896
598292609024634472nccsign5
615880627848636884
T:
gravitysphincsl
613432628680639812
T:
gemss192v2
619532635048657900
T:
bluegemss192v2
626492640388652136
T:
redgemss192v2
628540648560755522
T:
sphincss128harakasimple
908448921272941268
T:
sphincss128harakarobust
931000939624949232
T:
sphincss192harakasimple
106384010764401084412
T:
donald2048
112067211425121167944
T:
bluegemss256
112456411562041180128
T:
redgemss256
118435612067041222264
T:
redgemss256v2
119654812181361250460
T:
gemss256
122078812492641275756
T:
bluegemss256v2
123406812576081281960
T:
gemss256v2
130573613273521348368
T:
sphincss256harakasimple
1384536?1393668?2005529?aimer128f
146330414896321521380
T:
sphincsf128harakasimple
147250414924961510016
T:
sphincss192harakarobust
164025216613561676552
T:
sphincs256
197675220059482035764
T:
sphincss256harakarobust
212960021536362180164
T:
sphincsf128harakarobust
232321623392602360152
T:
sphincsf192harakasimple
240640024149802426068
T:
qtesla3p
249043225246962541888
T:
sphincsf256harakasimple
297360429791842989340
T:
luov863256
335776433736203396844
T:
mqdss48
340902034225603445468aimer192f
354987235575123593000picnicl1full
364266036705043719084
T:
sphincsf192harakarobust
373762037834443824304
T:
sphincsf256harakarobust
396676840610204160840
T:
sphincss128shake256simple
428686842960204311532picnicl1fs
540707654137965430348picnicl1ur
594175260133446089916
T:
sphincss192shake256simple
655122065632486576044aimer256f
701157270232767035124picnicl3full
764968877236887894260
T:
sphincss256shake256simple
763806477599887890064
T:
sphincss128shake256robust
836920084634168851608
T:
mqdss64
974368098327169983860
T:
sphincsf128shake256simple
104532241046808010489944picnicl3fs
105630241056893610586124
T:
luov890351
107822441079402810819252aimer128s
115729201175766411862444
T:
sphincss192shake256robust
117671041178810011804796picnicl5full
130744041309693613310864
T:
rainbow1acompres363232
133122641339191613955904picnicl3ur
132545441375661214107468
T:
rainbow1acyclicc363232
149822921526664815574556
T:
sphincss256shake256robust
153336761564954815847748
T:
sphincsf256shake256simple
154531961566004415825836
T:
sphincsf192shake256simple
163672441688073617075216picnic3l1
179168641792606417944120picnicl5fs
181071241811949618131912
T:
luov8117404
188200201906207619275788
T:
sphincsf128shake256robust
196062481985636819913136
T:
pqrsa15
224631202312764424176204picnicl5ur
255904122576447226335704aimer192s
289531002897251229336112
T:
luov4849242
300610163035130030654128
T:
sphincsf192shake256robust
305109243075934431122520
T:
sphincsf256shake256robust
308450883087313630891868picnic3l3
473186284895864049575668aimer256s
496031684974509651206280picnic3l5
690732286924821269364696
T:
picnic2l1fs
787068887873328478868468
T:
luov6468330
797589607999700480190128
T:
rainbow3ccompres683248
815589928184914884258100
T:
rainbow3ccyclicc683248
147324252147443324149566804
T:
luov8086399
157367816157583692157985508
T:
picnic2l3fs
179718432181016992193044816
T:
rainbow5ccompres963664
187262524189729020190187732
T:
rainbow5ccyclicc963664
277902996278134668281964520
T:
picnic2l5fs