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; Zen (800f11); 2017 AMD Ryzen 7 1700; 8 x 3000MHz; rumba7, 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
363536513754picnicl1full
3623?3890?5858?picnic3l1
511351295240picnic3l3
511951515287picnicl3full
648865346708picnicl5full
6730?7051?9509?picnic3l5
878088369016picnicl1ur
882088909078picnicl1fs
116291164511809
T:
picnic2l1fs
162221627016422picnicl3fs
169601711917402picnicl3ur
192381948019630
T:
picnic2l3fs
221172219122604picnicl5ur
225132267222993picnicl5fs
256842577025895
T:
picnic2l5fs
483934843748670ed25519
637816402064433dilithium2aes
763557653876783aimer128s
767047695777316aimer128f
100882101092101348dilithium3aes
150926151306151937dilithium5aes
151240151604152006dilithium2
197303197450198712aimer192f
200260200583201022
T:
ed448goldilocks
211806212061213209aimer192s
285959286553286923dilithium3
291771293451295128
T:
pass769
355779356713357572
T:
pass863
444442445293446615dilithium5
514249514714515251aimer256f
551013553989554474aimer256s
616556616731620580
T:
sphincsf128harakasimple
739897740196762041
T:
sphincsf128harakarobust
800106800971803073
T:
mqdss48
477471?871362?1908870?haetae2
905387?911862?1273194?
T:
sphincsf192harakasimple
102176910274161037843
T:
donald2048
106198010680401079951
T:
sphincsf192harakarobust
1328291?1742531?2623854?
T:
qtesla1
186487218676621871774
T:
mqdss64
759841?1995307?2926258?haetae3
242811024375122451460
T:
sphincsf256harakasimple
1911173?2590539?5983646?haetae5
2788856?2824794?4124230?
T:
qtesla3f
292493329531652955059
T:
sphincsf256harakarobust
418272441841804237073
T:
sphincs256
4179853?4236661?6900706?
T:
qtesla3s
657081365761826594966
T:
sphincsf128shake256simple
5129138?6725998?8251580?
T:
qtesla1p
769691077155637736154
T:
mqsignlr2567246
800004080233858047443
T:
luov863256
943439294544359462041
T:
sphincsf192shake256simple
102750221030372510343659
T:
rainbowbinary256181212
110853581111374011154680
T:
mqsignrr2567246
121074981211083712114479
T:
sphincsf128shake256robust
125546311256871812575441
T:
luov863256pc
177343671774360417783015
T:
sphincsf192shake256robust
168554171777232819373310
T:
falcon512tree
167967151827557920164247
T:
falcon512dyn
180784271839199219839591
T:
rainbow1aclassic363232
193461551937062119378639
T:
sphincss128harakasimple
195802691984193120042232
T:
rainbow1acompres363232
201803322043219220516154
T:
rainbow1acyclicc363232
224814042392247723973909
T:
sphincss128harakarobust
246165212481907225007109
T:
sphincsf256shake256simple
253517762540513225469675
T:
luov4849242
283517962856847228571432
T:
sphincss192harakasimple
335205023356504733628857
T:
mqsignlr25611272
339055203401511334778171
T:
sphincss192harakarobust
29864578?34944103?45182756?
T:
qtesla3p
368366113688235836963051
T:
luov890351
408024204080739241596745
T:
sphincss256harakasimple
439684894405770744273456
T:
rainbowbinary16242020
452983404554916445555869
T:
sphincss256harakarobust
470272604704879147062348
T:
sphincsf256shake256robust
481238584817332948780674
T:
mqsignrr25611272
519963625376673557822308
T:
falcon1024dyn
519216435460810058497238
T:
falcon1024tree
562081925626620656443461
T:
gemss128
568862495697240157239521
T:
bluegemss128
574324905757710657723512
T:
redgemss128
577366735776398357814012
T:
luov890351pc
605961736063137060788899
T:
luov8117404
627711726286415662906913
T:
gemss128v2
640337066414753164275499
T:
bluegemss128v2
784355177846163878554061
T:
redgemss128v2
784377557858831578731818
T:
luov6468330
885320338859962188686709
T:
mqsignlr25614896
981229819817259098250944
T:
luov8117404pc
117296963117716457123712016
T:
mqsignrr25614896
117238780118262165121139724
T:
rainbow3cclassic683248
118136233120422944121230009
T:
rainbow3ccompres683248
119840047120499317123636418
T:
rainbow3ccyclicc683248
121157777121312243121383092mqsignlr2567246
150648613150929762153201284
T:
luov8086399
164485707164641531164778511mqsignrr2567246
217141446217166255217220698
T:
sphincss128shake256simple
259261123259412289259711954
T:
redgemss192
268861558269098809269427750
T:
redgemss192v2
268950958269325359270509520
T:
bluegemss192
271176631271374605272357254
T:
gemss192
275551114275749483276332490
T:
bluegemss192v2
303122485305078651307408511
T:
sphincss192shake256simple
326554936329086193331124455
T:
rainbow5cclassic963664
360615347361314389369606657
T:
rainbow5ccyclicc963664
360200541364656281369083793
T:
rainbow5ccompres963664
386621919386692218386802390
T:
sphincss128shake256robust
390949119391019186391886336
T:
sphincss256shake256simple
427479007427854059428333621mqsignlr25611272
430477581430580802430681569
T:
gemss192v2
571273242571367698571544287
T:
sphincss192shake256robust
591180608591563627591909187mqsignrr25611272
747170500748011648748697022
T:
sphincss256shake256robust
812129352815086353820881786
T:
redgemss256
819984522830411347833583875
T:
bluegemss256v2
836017578837301802841851920
T:
gemss256
831446568841161344842416673
T:
bluegemss256
880602403880844899881336270
T:
gravitysphincss
991651319993800941995475212
T:
gemss256v2
9938296769954534121002758699
T:
redgemss256v2
109046634810909232521091270048mqsignlr25614896
142565812414264661981428287157mqsignrr25614896
386492147939242309094014392862
T:
pqrsa15
141145120651411709805414121687202
T:
gravitysphincsl
280599490352806954743028081869508
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
141481430214675
T:
rainbowbinary256181212
282632845328625
T:
rainbowbinary16242020
508095090851149ed25519
903439127094368
T:
rainbow1aclassic363232
9410595498103700
T:
rainbow1acyclicc363232
112639113389115047
T:
mqsignlr2567246
151923153567157397
T:
mqsignrr2567246
207429207529207677
T:
ed448goldilocks
119584?224464?310363?dilithium2aes
220652?328408?546261?dilithium3aes
344972345834347208
T:
mqsignlr25611272
219852?350266?426207?dilithium2
242780?408703?609939?dilithium5aes
396135?420073?789135?
T:
pass863
425707427734432964
T:
rainbow3cclassic683248
433579451346465030
T:
rainbow3ccyclicc683248
221491?477679?835088?
T:
qtesla1
475641478136484718
T:
mqsignrr25611272
476881480897485655
T:
falcon512tree
492804494167495753
T:
luov863256pc
437494?615205?800418?dilithium3
304113?639835?968941?
T:
qtesla3f
660671664199667324
T:
mqsignlr25614896
346298?686142?714198?
T:
pass769
696350696936698049mqsignlr2567246
859296866267870756
T:
falcon512dyn
680644?875721?1161565?dilithium5
910243912379914222
T:
mqsignrr25614896
947292954476962260
T:
falcon1024tree
9917149967181000993
T:
rainbow5cclassic963664
101520310227261032677
T:
donald2048
107898010858081100165
T:
rainbow5ccyclicc963664
900724?1180324?2377756?
T:
qtesla1p
125525112564391257639mqsignrr2567246
693701?1312101?2147935?
T:
qtesla3s
143379414449421476062
T:
luov890351pc
175618417575321760341mqsignlr25611272
175281117596491768583
T:
falcon1024dyn
211478921253792142146
T:
luov8117404pc
225265822550292258732aimer128f
2121364?2758235?5270085?haetae3
1723707?2781637?4369882?haetae2
282857028351822891475mqsignrr25611272
376188237655283768396mqsignlr25614896
3471735?4019152?4864075?
T:
redgemss128
1895753?4331965?7571465?haetae5
3938888?4558835?5257887?
T:
redgemss128v2
2983520?4819403?7224805?
T:
qtesla3p
547187054743405476313picnicl1full
576062857714805780853aimer192f
586746258760135882136mqsignrr25614896
606607560727666082890
T:
mqdss48
661956066252066633684
T:
luov863256
726137872664777274206
T:
gravitysphincss
821356882212508242930picnicl1fs
104304341044758910451067picnicl1ur
9873924?10650890?13708472?
T:
redgemss192
107523631075557710757570picnicl3full
112480251124976311252455aimer256f
10613589?12071149?13949141?
T:
redgemss192v2
133116991333650113458885
T:
gravitysphincsm
154753211548850115500880
T:
gravitysphincsl
156327061564029215648132
T:
mqdss64
159672951634494516447104
T:
rainbow1acompres363232
171260451712956617133575aimer128s
177683091777664517779914picnicl5full
198427811991185719947642picnicl3fs
16799251?20227923?26391059?
T:
redgemss256
18016660?21230211?24283302?
T:
redgemss256v2
221008172211753322154895
T:
sphincsf128harakasimple
223506972236264222383965
T:
luov890351
257979252581674927199025picnic3l1
25946812?26777414?36842835?
T:
sphincsf192harakasimple
268559082686825326898517
T:
sphincsf128harakarobust
270878612741491527472271picnicl3ur
324426103245967632492626
T:
sphincsf192harakarobust
350341143507055435104488picnicl5fs
387342493875625138858970
T:
luov8117404
433195364333990643409826aimer192s
442123404425248544289252picnicl5ur
465688014658843946616436
T:
luov4849242
565326955658145458013706picnic3l3
596985295972638359748017
T:
sphincsf256harakasimple
760723967610315276135361
T:
sphincsf256harakarobust
770656507710771677159899
T:
sphincs256
812283878129151281322035aimer256s
930392649316236393211509picnic3l5
97362292100087467101117493
T:
rainbow3ccompres683248
128959172129005826129106552
T:
pqrsa15
116548491?140022063?162975017?
T:
bluegemss128v2
116766873?140059120?163449763?
T:
bluegemss128
140969907141049583143021345
T:
luov6468330
211402976211610674212634686
T:
sphincsf128shake256simple
213914447214008592214094119
T:
picnic2l1fs
241831362242428741245469536
T:
rainbow5ccompres963664
261615823262775996263228046
T:
sphincsf192shake256simple
282683993282912107283304472
T:
luov8086399
329235563?330071241?525908515?
T:
bluegemss192v2
368667777369243444369761230
T:
sphincss128harakasimple
370700557370988426371269184
T:
sphincsf128shake256robust
443092865449585033450188268
T:
sphincss128harakarobust
379622619?455593702?532317489?
T:
bluegemss192
480741195481235323481557545
T:
sphincsf192shake256robust
553187367553504464554089010
T:
sphincss256harakasimple
570309609575623870579981241
T:
sphincsf256shake256simple
613457226614415906614673849
T:
picnic2l3fs
653024914653340188653738840
T:
sphincss256harakarobust
556629568?667521152?782283629?
T:
bluegemss256v2
642838913?771953457?1028764500?
T:
bluegemss256
823165122823643899824168957
T:
sphincss192harakasimple
735249439?882065290?1029416551?
T:
gemss128v2
757348727?908868654?1060608122?
T:
gemss128
105635985510569385501057561416
T:
sphincsf256shake256robust
107436508610754013671081030043
T:
sphincss192harakarobust
126830609212684394581268781130
T:
picnic2l5fs
2239914919?2687707959?3134876099?
T:
gemss192v2
2611312415?3133288313?3655690354?
T:
gemss192
347821084834786916213480975844
T:
sphincss128shake256simple
3861952892?4632748479?5404887968?
T:
gemss256v2
478996353047968946884806209170
T:
sphincss256shake256simple
4539132157?5454840595?6364210680?
T:
gemss256
578438324957856227645795203045
T:
sphincss128shake256robust
688132668769066244606953945778
T:
sphincss192shake256simple
872544605687298332098735896436
T:
sphincss256shake256robust
118588386991187001361211874035748
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
108711101211087
T:
rainbowbinary256181212
200632032520628
T:
rainbowbinary16242020
287772997931042
T:
rainbow1aclassic363232
617146262763897
T:
gravitysphincss
824918264482977dilithium2aes
854128639487115
T:
falcon512tree
919249277293631
T:
mqsignlr2567246
950189666799329
T:
mqsignrr2567246
102102102747103599
T:
falcon512dyn
107799108093108925
T:
qtesla1
118754118986119487dilithium3aes
132220132776134066
T:
luov863256pc
159446159844160169haetae2
163415163639163837dilithium2
173009173754174846
T:
falcon1024tree
174224174579174829dilithium5aes
181570182352183320ed25519
191916194714197032
T:
rainbow3cclassic683248
206750207955209017
T:
falcon1024dyn
222942223621224117
T:
qtesla3f
224589225130225778
T:
qtesla3s
254506255047255801haetae3
264582268587274343
T:
gravitysphincsm
278787279061279604dilithium3
276826285010314113
T:
redgemss128v2
305517306268307523haetae5
321157329071341737
T:
bluegemss128
320802329628336518
T:
redgemss128
328472330267374401
T:
mqsignrr25611272
325810331633349511
T:
bluegemss128v2
328441332388341190
T:
gemss128
331040333186334471
T:
mqsignlr25611272
334477341527346405
T:
gemss128v2
354268356536360381
T:
luov890351pc
355741361844365324
T:
gravitysphincsl
413798423547436624
T:
sphincss128harakasimple
443055444325445663
T:
pass769
452049452425453239dilithium5
481581484261486978
T:
rainbow5cclassic963664
491319494609495992
T:
luov8117404pc
538354539184541296
T:
pass863
544215545931548181
T:
qtesla1p
595847608008619450
T:
sphincss128harakarobust
604637614538624398
T:
sphincss192harakasimple
636243638497640249
T:
ed448goldilocks
667082670158676089
T:
mqsignrr25614896
682054685031692832
T:
mqsignlr25614896
684581695964714466
T:
bluegemss192
683517697088712215
T:
gemss192
694144710626717030
T:
gemss192v2
721802727235742200
T:
redgemss192
737070745513758732
T:
bluegemss192v2
745013758704770878
T:
redgemss192v2
839432860620873699
T:
sphincss256harakasimple
956562972752992121
T:
sphincsf128harakasimple
9708939842211000557
T:
sphincss192harakarobust
119970712121801223062
T:
donald2048
119662612150201255715
T:
gemss256v2
124093712530731263136
T:
redgemss256v2
124487012643991280925
T:
sphincss256harakarobust
137740113958041415657
T:
gemss256
138235014006031430652
T:
redgemss256
141260814276111438440
T:
sphincsf128harakarobust
141508114397531472353
T:
bluegemss256
150826715244481551399
T:
bluegemss256v2
1520841?1536587?1955337?
T:
sphincsf192harakasimple
160797816266231640350
T:
sphincsf256harakasimple
195843019645201974659
T:
sphincs256
222217322225492223625aimer128f
235156523521042352624mqsignrr2567246
239239023928412393668mqsignlr2567246
238586324074052424550
T:
sphincsf192harakarobust
238941324093952433555
T:
sphincsf256harakarobust
259659626081902838346
T:
qtesla3p
262739626300312631635mqsignrr25611272
278480127912472795351mqsignlr25611272
373607138519683935884
T:
sphincss128shake256simple
387925639111173949514
T:
mqdss48
421068242145564250979picnicl1full
485345448575634859752mqsignrr25614896
515042551564365163857mqsignlr25614896
568077456886365699082
T:
luov863256
570395157161605722954aimer192f
645589064585146501573picnicl1fs
665252267570146886537
T:
sphincss192shake256simple
717405672779877561208
T:
sphincss128shake256robust
717029773532247466764
T:
sphincss256shake256simple
841843884262648431305picnicl3full
844207484995968517449picnicl1ur
919177293611399481612
T:
sphincsf128shake256simple
105631071062482610700415
T:
mqdss64
106407451083034811139706
T:
sphincss192shake256robust
111555311115710311158399aimer256f
130515051326913313378910
T:
rainbow1acompres363232
135300181373214813780088
T:
rainbow1acyclicc363232
138797991392814013943621picnicl5full
140480571422978314512141
T:
sphincss256shake256robust
146572031477796314932374
T:
sphincsf192shake256simple
147129481493568715108325
T:
sphincsf256shake256simple
167972571689599916933836picnicl3fs
170495051705367617058955aimer128s
175826061789566418198378
T:
sphincsf128shake256robust
198022021981677019824778
T:
pqrsa15
199031961991230319964368
T:
luov890351
213586472137486121402920picnic3l1
230426502321986023303747picnicl3ur
279051632836145828688819
T:
sphincsf192shake256robust
282898312869082228882131
T:
sphincsf256shake256robust
294395372957965329780814picnicl5fs
339774683398817434002089
T:
luov4849242
342317833425395634431326
T:
luov8117404
372682643734399037382836picnicl5ur
431768394318965843208514aimer192s
466829354671553848304033picnic3l3
731536357319747073252782picnic3l5
808932818094224180955221aimer256s
784447218115048982223522
T:
rainbow3ccompres683248
816001858348415084459832
T:
rainbow3ccyclicc683248
891169368914220189169499
T:
luov6468330
106835877106877449106904314
T:
picnic2l1fs
168002242168714765168846163
T:
luov8086399
181660092181807051188889673
T:
rainbow5ccyclicc963664
181715085182131797182956927
T:
rainbow5ccompres963664
247641874247708852247730415
T:
picnic2l3fs
433727707433865991434042056
T:
picnic2l5fs