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; Bulldozer (600f20); 2012 AMD FX-8350; 4 x 4000MHz; saber214, supercop-20240909

[Page version: 20240912 11:46:05]

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
691969747111picnic3l1
694069937040picnicl1full
946895179600picnicl3full
949095379603picnic3l3
124031246912563picnic3l5
125621272913062picnicl5full
153931553915651
T:
picnic2l1fs
180791813218175picnicl1ur
180961814618181picnicl1fs
289052903229203
T:
picnic2l3fs
333493347833762picnicl3ur
334153374633924picnicl3fs
366613675836907
T:
picnic2l5fs
432234342844044picnicl5fs
441444431844596picnicl5ur
951009521295361ed25519
147974148187148831aimer128f
168124168352169045aimer128s
348980349280350303aimer192f
350842350940351484aimer192s
356866357323357988
T:
ed448goldilocks
430170431088432294
T:
pass769
472557478369491949dilithium2
490076501898506571nccsign1
504482506004507914
T:
pass863
662997667667673193nccsign3
795226795745798412aimer256s
795335796650798643aimer256f
812738822271830478nccsign1aes
884977887316893390dilithium3
102841610417321090296nccsign5
108720011002201110868nccsign3aes
110049611048481111563dilithium2aes
112258411229931123513
T:
sphincsf128harakasimple
128288012848291287911
T:
mqdss48
134055213412791342628dilithium5
141745214176021418169
T:
sphincsf128harakarobust
164385116581731758167
T:
sphincsf192harakasimple
173731617486601757921nccsign5aes
192281319468851977252
T:
donald2048
210588721062542108537
T:
sphincsf192harakarobust
201178121635512177618dilithium3aes
1948904?2605985?4361993?
T:
qtesla1
1270633?2687099?5530184?haetae2
302927530314653040834
T:
mqdss64
2224294?3249125?4819403?haetae5
340356036450853717688dilithium5aes
2182966?4027101?5489926?haetae3
490378149056324940164
T:
sphincsf256harakasimple
611967761277356163549
T:
sphincsf256harakarobust
4242015?6253762?8363844?
T:
qtesla3f
7454853?9696838?10902414?
T:
qtesla1p
6424575?10513698?16691185?
T:
qtesla3s
106889601072157010740769
T:
sphincsf128shake256simple
156669661571759115782775
T:
sphincsf192shake256simple
161894331620700816234341
T:
sphincs256
201327852015321920191008
T:
sphincsf128shake256robust
233989162349646523657640
T:
luov4849242
296655062971054629816544
T:
sphincsf192shake256robust
336802753379761033895355
T:
luov863256
349056263517166935762968
T:
rainbow1acompres363232
349635453521403035333210
T:
rainbow1acyclicc363232
353207313550470836088932
T:
rainbow1aclassic363232
360181153605164036093716
T:
sphincss128harakasimple
364331423982154345172640
T:
falcon512tree
376248404082933646856021
T:
falcon512dyn
415013994153966641598175
T:
sphincsf256shake256simple
452182874523867745278412
T:
sphincss128harakarobust
525976245261127952683652
T:
sphincss192harakasimple
44777338?56411872?67789413?
T:
qtesla3p
669283016695569667012146
T:
sphincss192harakarobust
769850267708666577219491
T:
luov6468330
780005087815349878245844
T:
sphincsf256shake256robust
785012417852706978559806
T:
sphincss256harakasimple
979872089801267498063602
T:
sphincss256harakarobust
109058041109116940109257025
T:
gemss128
109348557109420505109543683
T:
redgemss128
112454853112548906112658187
T:
bluegemss128
113636235113716628113813805
T:
gemss128v2
108300426114029043124905142
T:
falcon1024tree
114345407114472937115200200
T:
bluegemss128v2
108836511116885538133779811
T:
falcon1024dyn
123403156123450754123558374
T:
redgemss128v2
124082186124265062124470123
T:
luov890351
144043295144251191144407546
T:
luov8086399
193410044193777842194036208mqsignlr2567246
201237887202233663204152047
T:
rainbow3cclassic683248
208471611210305874211548537
T:
rainbow3ccompres683248
208523882211313061218721433
T:
rainbow3ccyclicc683248
221508904221810525222008408
T:
luov8117404
250867296251114149254706910mqsignrr2567246
341601364341834418342472891
T:
sphincss128shake256simple
498821017498960112499329726
T:
sphincss192shake256simple
566102299566792702567315788
T:
redgemss192v2
561695534567329261568153243
T:
redgemss192
571341681572884452577314993
T:
gemss192v2
571375019575417708576033530
T:
bluegemss192v2
575737594577730827579450351
T:
rainbow5cclassic963664
586199141587400673598133002
T:
rainbow5ccyclicc963664
589271027593472614595174700
T:
bluegemss192
596492539597295608599763604
T:
gemss192
598352668606352179608542225
T:
rainbow5ccompres963664
643914861644146613645541067
T:
sphincss128shake256robust
665386676665830349694061536
T:
sphincss256shake256simple
702523536703380693704691045mqsignlr25611272
925849865926260398926708775mqsignrr25611272
944770316948688822951437603
T:
sphincss192shake256robust
124477528612455418191245816082
T:
sphincss256shake256robust
166400202516688345911672801560mqsignlr25614896
183831972118400630401842412392
T:
redgemss256
189805335119015539801903550514
T:
bluegemss256
194170547619425888501944439474
T:
gemss256
198176746719825318021985950896
T:
gravitysphincss
200923463520105108992011865883
T:
redgemss256v2
201704827620186863122023680814
T:
gemss256v2
203339594020418493842042890092
T:
bluegemss256v2
216158728621650063062166107042mqsignrr25614896
730187649474061397737687972043
T:
pqrsa15
305178961703052432956630531199728
T:
gravitysphincsl
634586876406348289418363500906913
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
104610104730105208ed25519
224902225974231261
T:
rainbow1acyclicc363232
228090228627229833
T:
rainbow1aclassic363232
369345369868370397
T:
ed448goldilocks
501569?532987?1013791?
T:
pass769
794274799276808224
T:
rainbow3ccyclicc683248
851777870534884916
T:
rainbow3cclassic683248
518819?1080432?1728383?
T:
qtesla1
107149710826751100106
T:
falcon512tree
110482411073001117739mqsignlr2567246
592854?1188927?1788485?
T:
pass863
752326?1277822?2171607?
T:
qtesla3f
168665017021901712534
T:
falcon512dyn
177388917967601820143
T:
rainbow5cclassic963664
1311019?1870751?2443107?nccsign1
193255519499131972425
T:
donald2048
193419919685901989468
T:
rainbow5ccyclicc963664
200663020136822026113mqsignrr2567246
216728821820542197565
T:
falcon1024tree
1465237?2264612?2928573?
T:
qtesla1p
1438463?2354078?3373554?dilithium2
1784045?2365460?3562737?
T:
qtesla3s
1697578?2387907?2544715?nccsign1aes
272025727276552762643mqsignlr25611272
1764630?2762467?3764355?nccsign3
2120460?2785094?4418515?dilithium2aes
2316006?3096738?4711040?dilithium3
2274102?3407245?5126556?nccsign3aes
348309834954373529584
T:
falcon1024dyn
2801210?4013127?4377426?nccsign5
452572245532194573270mqsignrr25611272
3348010?5094122?7976158?dilithium3aes
3706471?5188157?7300144?nccsign5aes
3427568?5340077?7586495?dilithium5
550640055259785567704mqsignlr25614896
4614730?5749039?6891465?dilithium5aes
664837566574286677947aimer128f
692584869457856964630picnicl1full
2728860?7084110?13541947?haetae3
5630576?7522647?11110990?
T:
qtesla3p
3276728?7643404?12029966?haetae2
814413481726318193757mqsignrr25614896
8119834?9690122?12307124?
T:
redgemss128
9048018?10454808?12413571?
T:
redgemss128v2
106520341070688110832184
T:
luov863256
119312841197942612000472picnicl1fs
131859901321452913231954picnicl3full
140284021405077014098075picnicl1ur
6187470?14432958?28366206?haetae5
153496131536534015378168
T:
gravitysphincss
176007271760858417620221aimer192f
221013282211817722281122picnicl5full
20394576?23827697?27802926?
T:
redgemss192v2
23966845?28655936?34467576?
T:
redgemss192
287177552883830829398178
T:
rainbow1acompres363232
291814882926298729333618
T:
gravitysphincsm
309836043103390831064941picnic3l1
312616953128760431313333picnicl3fs
341525363420378234319011
T:
gravitysphincsl
344104643443555034624529aimer256f
351307453613753436185871
T:
luov890351
368450693687867736938322picnicl3ur
378534253793116637974458
T:
mqdss48
395480793956512439610027
T:
sphincsf128harakasimple
38334971?45039472?53063745?
T:
redgemss256v2
480031294806942948125956
T:
sphincsf192harakasimple
510688855115328151262923
T:
sphincsf128harakarobust
526192075264777552662857aimer128s
534498315347211553524845picnicl5fs
537023835445644555208374
T:
luov8117404
586859185873145158761912
T:
luov4849242
44829445?59347893?64076248?
T:
redgemss256
620829786211167862158709picnicl5ur
632931716332825663373843
T:
sphincsf192harakarobust
653496176543743865486352picnic3l3
111966734112346870112642961picnic3l5
120703366120739590120789444
T:
sphincsf256harakasimple
134360924134415641134808896
T:
mqdss64
137928265137978765138254189aimer192s
156193118156242329156285978
T:
sphincsf256harakarobust
167737790170748944171999450
T:
rainbow3ccompres683248
177739799178019501178274616
T:
luov6468330
254665854254881002255185381
T:
pqrsa15
265437396265676793266266233aimer256s
294061195294428792294792033
T:
picnic2l1fs
301890138302008702302146747
T:
sphincs256
337925689338144391338542179
T:
sphincsf128shake256simple
301432743?347641599?462878583?
T:
bluegemss128v2
361275327361857967368402424
T:
luov8086399
307606744?371562930?441221690?
T:
bluegemss128
410344520414352282424274220
T:
rainbow5ccompres963664
428905738429418956430347526
T:
sphincsf192shake256simple
608869473611135730611818635
T:
sphincsf128shake256robust
656433703656718424657164373
T:
sphincss128harakasimple
797649441801145868802924968
T:
sphincsf192shake256robust
850193073850368616851801955
T:
sphincss128harakarobust
752551277?903202689?1053796452?
T:
bluegemss192v2
907889971908526589909382285
T:
picnic2l3fs
950546916953819316954565445
T:
sphincsf256shake256simple
104262900110429813231043313097
T:
sphincss256harakasimple
135821041113584268621358671828
T:
sphincss256harakarobust
987778197?1375113970?1572569778?
T:
bluegemss192
142423133414250207361425736894
T:
sphincss192harakasimple
1306551874?1565120163?1827884429?
T:
bluegemss256v2
172810256217300642251730725268
T:
sphincsf256shake256robust
190132371219020402881902866412
T:
picnic2l5fs
199826175820009611622003140497
T:
sphincss192harakarobust
1391341887?2082408068?2776571349?
T:
bluegemss256
1831434132?2196600557?2604999666?
T:
gemss128v2
2049561682?2449261128?3377541505?
T:
gemss128
509599492350997581175105063495
T:
sphincss128shake256simple
4951461612?5940402383?6943218456?
T:
gemss192v2
797065747679732891217975684637
T:
sphincss256shake256simple
6710758193?8049367517?9397637670?
T:
gemss192
897443990990238667509038317293
T:
sphincss128shake256robust
8284928845?9927507269?11647463225?
T:
gemss256v2
106468565781065890552110676424976
T:
sphincss192shake256simple
142681460611427872164714292189861
T:
sphincss256shake256robust
12481738273?14952829500?19912970867?
T:
gemss256
183931787441843170987318440196595
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
798768082982625
T:
rainbow1aclassic363232
141241143201144148
T:
falcon512tree
143556146133151195
T:
gravitysphincss
159434159974160616
T:
qtesla1
169107171485172138
T:
falcon512dyn
287656289039290331
T:
falcon1024tree
338213340466341943
T:
falcon1024dyn
341015342473346261ed25519
343740344838347428
T:
qtesla3f
348293350404351941
T:
qtesla3s
358521360066365833haetae2
371422383831394600
T:
redgemss128v2
459093474186488823
T:
redgemss128
469955482929492711
T:
gemss128v2
481918490220496547
T:
gemss128
474445490524500717
T:
bluegemss128v2
484433494385510665
T:
bluegemss128
557384557953558766dilithium2
615824620968637278
T:
gravitysphincsm
628181633446641315
T:
rainbow3cclassic683248
634322641607647712haetae3
698522701862727209
T:
pass769
795260798619809386nccsign1
797525798634806463haetae5
797428801948805926
T:
pass863
832716840141858039
T:
gravitysphincsl
848880853248857350
T:
qtesla1p
861963880136897402
T:
sphincss128harakasimple
906208925876940211dilithium3
105630410794301086584nccsign3
107396510825631091553nccsign1aes
109192211020281110819dilithium2aes
117939312101291247489
T:
gemss192
122253112263971233973
T:
ed448goldilocks
121682812484621273502
T:
bluegemss192
124916012658791286646
T:
redgemss192
123353312685911296127
T:
sphincss128harakarobust
129009613145451329096
T:
sphincss192harakasimple
134597113763801411301
T:
gemss192v2
135217513849501451914
T:
rainbow5cclassic963664
137679414098571452827
T:
bluegemss192v2
139354714198091448347
T:
redgemss192v2
145390614755801502343nccsign3aes
147872814798351483169dilithium5
168365116935821704819nccsign5
177873618111321835109
T:
sphincss256harakasimple
191613420323692041385dilithium3aes
202367020328732043159mqsignlr2567246
203358720440462058757mqsignrr2567246
204051220730502103365
T:
sphincss192harakarobust
204228020745942091162
T:
sphincsf128harakasimple
227393422918792312282
T:
donald2048
233787923524482365257nccsign5aes
255989626409172700695
T:
gemss256v2
262456326536222695626
T:
sphincss256harakarobust
281076528414572920670
T:
gemss256
288777629263373020483
T:
bluegemss256
285634129307932971895
T:
redgemss256
290711429544392997723
T:
sphincsf128harakarobust
291558029914523073261
T:
bluegemss256v2
298060130364943085332
T:
redgemss256v2
324593232720153315742
T:
sphincsf192harakasimple
346139935112443556644
T:
sphincsf256harakasimple
335859435581513574745dilithium5aes
384102438586623908107
T:
sphincs256
398062539963154020902
T:
qtesla3p
486913649173074966138
T:
sphincsf192harakarobust
495954150113075046914
T:
sphincsf256harakarobust
509619451166005147608mqsignlr25611272
509368751175565150036mqsignrr25611272
567323056823145705774picnicl1full
551378556833725839463
T:
sphincss128shake256simple
621732162413766259979aimer128f
818172382998938395355
T:
sphincss192shake256simple
838178883879568409675
T:
luov863256
837830083991728439168mqsignrr25614896
838676684099018442962mqsignlr25614896
105199351054570810709062picnicl1fs
107597351091894311052652
T:
sphincss256shake256simple
109578341098985511030308picnicl3full
107768651105108211322807
T:
sphincss128shake256robust
123288671235142712369252picnicl1ur
134414951365304113991902
T:
sphincsf128shake256simple
159093121636056616598915
T:
sphincss192shake256robust
165449331655660116575757aimer192f
183245821834944618586896picnicl5full
209327002113984421565711
T:
sphincss256shake256robust
217419252195953822150371
T:
sphincsf192shake256simple
218499612214287522452939
T:
sphincsf256shake256simple
232917162336175624070627
T:
rainbow1acompres363232
233078072346913224015540
T:
rainbow1acyclicc363232
239764382404432924088162picnic3l1
262857672673078126941360
T:
sphincsf128shake256robust
265374202690644227079007
T:
mqdss48
271464822717325427203631picnicl3fs
287158343099686331046437
T:
luov890351
317289693174733131758929picnicl3ur
323018613231104632327388aimer256f
367290283680885537280075
T:
pqrsa15
383378453842452538463125
T:
luov4849242
422167464275628343298922
T:
sphincsf256shake256robust
418643594275859343251509
T:
sphincsf192shake256robust
466193594666244746710354picnicl5fs
456671034783845254811571
T:
luov8117404
508895055095393051011166picnic3l3
525065625255269052585958aimer128s
535381165359808453677636picnicl5ur
812553208172432181828057picnic3l5
954234749637607297271034
T:
mqdss64
109526362109670325109769697
T:
luov6468330
120758292120960098121122050
T:
picnic2l1fs
137279349137323579138041188aimer192s
137469332139408158139692853
T:
rainbow3ccompres683248
139492282140647238143062055
T:
rainbow3ccyclicc683248
204822985206581355207278852
T:
luov8086399
263631323263790194263868258aimer256s
279732337279896551280063779
T:
picnic2l3fs
310758816315529678325686810
T:
rainbow5ccompres963664
308937085318671316326678986
T:
rainbow5ccyclicc963664
489381675489645523490123526
T:
picnic2l5fs