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-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
317231883232picnicl1full
349235123536picnic3l1
437643964440picnic3l3
438444044456picnicl3full
478448204852
T:
picnic2l1fs
487249004940picnicl1ur
487249084968picnicl1fs
568857165796picnic3l5
570457245792picnicl5full
903290529096picnicl3ur
885290569976
T:
picnic2l3fs
907691009160picnicl3fs
120681211212336picnicl5fs
119441218413388
T:
picnic2l5fs
120681219613208picnicl5ur
454924566846492ed25519
488404890848972aimer128s
489524965650092aimer128f
615886204464084T!!!dilithium2aes
913009173692376T!!!dilithium2
974569773698092dilithium3aes
117940?118552?167336?aimer192f
132548132660132772aimer192s
152760153288156556dilithium5aes
157424158072158880
T:
ed448goldilocks
164840165364165712T!!!dilithium3
237432238524240428
T:
pass769
256684257324267276T!!!dilithium5
283060292484297444
T:
pass863
294756295228296084aimer256f
336548336772336968aimer256s
824280825932828532
T:
mqdss48
908568911960912944
T:
sphincsf128harakasimple
906144914704935416
T:
donald2048
613032?982760?1537540?haetae2
110027611012401108892
T:
sphincsf128harakarobust
123293612381241244540
T:
sphincsf192harakasimple
161112816135481619640
T:
sphincsf192harakarobust
1234312?1628332?2398884?
T:
qtesla1
189911219017961915088
T:
mqdss64
975516?2139840?3803024?haetae3
1150800?2302740?3760880?haetae5
281424428361242985364
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
905201294626889599068
T:
mqsignlr2567246
113874321141140411457568
T:
luov863256pc
116970601176109211853540
T:
rainbowbinary256181212
121396121215094412160316
T:
sphincsf192shake256robust
144347641462836814658668
T:
mqsignrr2567246
173698841737806417402464
T:
sphincsf256shake256simple
172511161806640820637056
T:
falcon512tree
184746801848873618518516
T:
rainbow1aclassic363232
173816641898289620986084
T:
falcon512dyn
191405961919904419647796
T:
luov4849242
201834042020178020215144
T:
rainbow1acompres363232
205934402062562820644280
T:
rainbow1acyclicc363232
217389722176997622458428
T:
luov890351
284415482850039228621816
T:
sphincss128harakasimple
322645483230337632548944
T:
sphincsf256shake256robust
348353083484679234884724
T:
sphincss128harakarobust
29880308?34970600?40356924?
T:
qtesla3p
361135523619563640226432
T:
luov8117404
382292883908304039321800
T:
mqsignlr25611272
419033124207598442195272
T:
luov890351pc
423032004244396842493144
T:
sphincss192harakasimple
487081124874194048758980
T:
sphincss192harakarobust
520698285209697652124188
T:
sphincss256harakasimple
523772845493461657525580
T:
falcon1024dyn
533229085562570064333504
T:
falcon1024tree
567030925724612857761536
T:
rainbowbinary16242020
591520485959170060427876
T:
mqsignrr25611272
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
897721569260836093114396
T:
mqsignlr25614896
115584128116113456116234960mqsignlr2567246
117752544117885208118296988
T:
rainbow3cclassic683248
119887624119964488120705624
T:
rainbow3ccyclicc683248
120232084120388380120631628
T:
luov8086399
123304388123386260124397632
T:
rainbow3ccompres683248
138097508138739080142112324
T:
mqsignrr25614896
143584876143629092143757680
T:
sphincss128shake256simple
160747804160998296161961868mqsignrr2567246
210283248210310028210341424
T:
sphincss192shake256simple
254108956254283552254555516
T:
redgemss192
261767820261970172262261004
T:
sphincss128shake256robust
277838640277932104278316456
T:
sphincss256shake256simple
296732300296943612311971072
T:
gemss192
298457916298554888298691372
T:
bluegemss192
342849568344706880345200720
T:
rainbow5cclassic963664
353173404353624132354384700
T:
rainbow5ccyclicc963664
364044260366558776370909888
T:
rainbow5ccompres963664
387870868395965432396495076
T:
sphincss192shake256robust
403235684403370272405280664mqsignlr25611272
423816008423862488424006656
T:
gemss192v2
428878500428988752438269984
T:
bluegemss192v2
431495800431694348431814204
T:
redgemss192v2
515746592517962700518608308
T:
sphincss256shake256robust
563072416563801472567548656mqsignrr25611272
726673272727147648727867392
T:
bluegemss256
762575584763015464763289920
T:
redgemss256
772298280772671012773165456
T:
redgemss256v2
873154964873445336884270596
T:
gemss256
920789580921888988937396132mqsignlr25614896
115773616011580111401175190488
T:
gemss256v2
116928924011696428441183103792
T:
bluegemss256v2
127950186412900244321299799548mqsignrr25614896
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
481924839249088ed25519
869568734488184
T:
mqsignlr2567246
878208810099928
T:
rainbow1aclassic363232
9880099644100908
T:
rainbow1acyclicc363232
119424120740121772
T:
mqsignrr2567246
164688164880165168
T:
ed448goldilocks
96692?184532?273384?T!!!dilithium2aes
172708?216132?379424?T!!!dilithium2
254804257052258100
T:
mqsignlr25611272
177184?263556?388944?dilithium3aes
276100?284228?570976?
T:
pass769
255452?332420?418812?dilithium5aes
334856?355860?709964?
T:
pass863
360440361884364344
T:
luov863256pc
376388378540381580
T:
rainbow3cclassic683248
377720379332384296
T:
mqsignrr25611272
377976382468388548
T:
falcon512tree
285520?383416?644604?T!!!dilithium3
399088401648404724
T:
rainbow3ccyclicc683248
380716?481008?778624?T!!!dilithium5
505776509204516328
T:
mqsignlr25614896
286348?598628?812212?
T:
qtesla1
443584?650524?1081004?
T:
qtesla3f
699776704860712776
T:
mqsignrr25614896
715092716804721104mqsignlr2567246
733764738296742160
T:
falcon512dyn
775032785276799532
T:
falcon1024tree
904544908912917040
T:
rainbow5cclassic963664
914876920212927612
T:
rainbow5ccyclicc963664
908644920452932168
T:
donald2048
567576?1084204?1675960?
T:
qtesla1p
109934411096761126884
T:
luov890351pc
127812812867401291508mqsignrr2567246
1048380?1384220?2601452?haetae2
141388814154561421880aimer128f
148734014904761505080mqsignlr25611272
149214815020361508164
T:
falcon1024dyn
162854016377881668532
T:
luov8117404pc
921072?1718716?2288796?
T:
qtesla3s
1002440?1830688?2655456?haetae3
245322024925122521184mqsignrr25611272
1661460?2627896?4123872?haetae5
2501656?3306964?5442492?
T:
qtesla3p
340632834216443453128mqsignlr25614896
342048034297363443756aimer192f
375172037649363890460
T:
luov863256
376306437730283778480picnicl1full
3578124?4046136?4761124?
T:
redgemss128v2
3712792?4514928?5472012?
T:
redgemss128
469061646949004699988picnicl1fs
473060847418364751688mqsignrr25614896
519529252218525266840
T:
mqdss48
598182059874245995532picnicl1ur
669989667050406881468aimer256f
724204072472607250528picnicl3full
8620652?9934404?12418948?
T:
redgemss192v2
8609312?10426516?13324848?
T:
redgemss192
107880881079659210883376aimer128s
114631201146822411486700picnicl3fs
120233921203091212041572picnicl5full
123091881234439612715636
T:
mqdss64
123521321235745212362624
T:
luov890351
146607321467086814685196
T:
gravitysphincss
149489481495752815550196picnicl3ur
12786280?15069704?19054448?
T:
redgemss256
166073921664393616657056
T:
rainbow1acompres363232
178473961787073617884160picnic3l1
17252720?18739292?22451548?
T:
redgemss256v2
196532081967060019707140picnicl5fs
208648322088526420894432
T:
luov8117404
247964802486328824881920picnicl5ur
254509882549720825509836aimer192s
259758642598508425991344
T:
gravitysphincsm
311180803113037231199688
T:
gravitysphincsl
320566523211654432154184
T:
sphincsf128harakasimple
362573563630081636329600
T:
sphincsf192harakasimple
380639243811124838159756picnic3l3
402243404025594040309344
T:
sphincsf128harakarobust
421622244218212042210936
T:
luov4849242
479169924803503248397844aimer256s
490724284911660049227692
T:
sphincsf192harakarobust
498246564989368449919972
T:
sphincs256
638909646395867664028236picnic3l5
897910328991377289968572
T:
sphincsf256harakasimple
99732268100151100100840140
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
243757100246681016249852428
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
306923172032584
T:
rainbow1aclassic363232
657566584066008
T:
mqsignlr2567246
658446592066148
T:
mqsignrr2567246
742047445274904T!!!dilithium2aes
825968401284924
T:
falcon512tree
9835299448100424
T:
falcon512dyn
101720101864102276T!!!dilithium2
102408102824103840
T:
qtesla1
109172109368109912dilithium3aes
106976109604112416
T:
gravitysphincss
115888116628118532
T:
luov863256pc
130272130732131728haetae2
164988165420165856dilithium5aes
164924165712166864ed25519
166972167132167468T!!!dilithium3
167444168936169508
T:
falcon1024tree
179816182348185988
T:
rainbow3cclassic683248
199940200312201060
T:
falcon1024dyn
205164205684206096haetae3
207732208408209208
T:
qtesla3f
210808211524212240
T:
qtesla3s
214308225304234100
T:
redgemss128v2
250864251872252824haetae5
245352254172261580
T:
redgemss128
246752255316263064
T:
bluegemss128
251484257240263656
T:
gemss128
264128264444265012T!!!dilithium5
269720271640274320
T:
mqsignlr25611272
273432276788279488
T:
mqsignrr25611272
276124284924294648
T:
bluegemss128v2
284748293632300360
T:
gemss128v2
332560336624346344
T:
luov890351pc
351644358964359996
T:
pass769
411368432372434584
T:
pass863
434752440444444428
T:
rainbow5cclassic963664
457228?465844?593934?
T:
luov8117404pc
463756471224479988
T:
gravitysphincsm
507608509692511260
T:
qtesla1p
515148517520519096
T:
ed448goldilocks
514204518892524992
T:
mqsignrr25614896
514932520140525796
T:
mqsignlr25614896
547956559460574204
T:
redgemss192
564404580788598328
T:
bluegemss192
571336581656601960
T:
gemss192
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
138371213849841390792aimer128f
142070414262441439464
T:
sphincs256
146330414896321521380
T:
sphincsf128harakasimple
147250414924961510016
T:
sphincss192harakarobust
197675220059482035764
T:
sphincss256harakarobust
212960021536362180164
T:
sphincsf128harakarobust
231043223383522416700mqsignrr25611272
232321623392602360152
T:
sphincsf192harakasimple
232956423604802374660mqsignlr25611272
240640024149802426068
T:
qtesla3p
243856824403802453936mqsignrr2567246
247783224802802492256mqsignlr2567246
249043225246962541888
T:
sphincsf256harakasimple
297360429791842989340
T:
luov863256
299929230131963022596picnicl1full
322117632429203250016mqsignrr25614896
323198432574803279300mqsignlr25614896
335776433736203396844
T:
mqdss48
338757233943243398236aimer192f
364266036705043719084
T:
sphincsf192harakarobust
373114037382163749608picnicl1fs
373762037834443824304
T:
sphincsf256harakarobust
396676840610204160840
T:
sphincss128shake256simple
484229648581004877260picnicl1ur
586254458719285883160picnicl3full
594175260133446089916
T:
sphincss192shake256simple
656758065715366584804aimer256f
764968877236887894260
T:
sphincss256shake256simple
763806477599887890064
T:
sphincss128shake256robust
836920084634168851608
T:
mqdss64
951287695335729560860picnicl3fs
974138497514689765244picnicl5full
974368098327169983860
T:
sphincsf128shake256simple
105630241056893610586124
T:
luov890351
107451561077999610787408aimer128s
115729201175766411862444
T:
sphincss192shake256robust
124065041242724012477548picnicl3ur
132407401328264013337428
T:
rainbow1acompres363232
133591481360964813630148
T:
rainbow1acyclicc363232
147503841479718814851412picnic3l1
149822921526664815574556
T:
sphincss256shake256robust
153336761564954815847748
T:
sphincsf256shake256simple
154531961566004415825836
T:
sphincsf192shake256simple
163647801735748017398008picnicl5fs
181071241811949618131912
T:
luov8117404
188200201906207619275788
T:
sphincsf128shake256robust
196062481985636819913136
T:
pqrsa15
206846362074895621834112picnicl5ur
256441042570379625854740aimer192s
289531002897251229336112
T:
luov4849242
302525003027288830288140picnic3l3
300610163035130030654128
T:
sphincsf192shake256robust
305109243075934431122520
T:
sphincsf256shake256robust
473804924742372847642576aimer256s
480007284802984448058292picnic3l5
690732286924821269364696
T:
picnic2l1fs
787068887873328478868468
T:
luov6468330
806606928070604080776512
T:
rainbow3ccompres683248
796716208217840482507264
T:
rainbow3ccyclicc683248
147324252147443324149566804
T:
luov8086399
157367816157583692157985508
T:
picnic2l3fs
178272516180465144183202584
T:
rainbow5ccompres963664
178209016184128440184273088
T:
rainbow5ccyclicc963664
277902996278134668281964520
T:
picnic2l5fs