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-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: 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
372038204074picnicl1full
377239134111picnic3l1
522252365339picnic3l3
532653535598picnicl3full
690169737315picnic3l5
693673028349picnicl5full
914491849375picnicl1fs
954797649919picnicl1ur
116291164511809
T:
picnic2l1fs
169941732617532picnicl3fs
178811801818119picnicl3ur
192381948019630
T:
picnic2l3fs
228202287123123picnicl5ur
227382301123466picnicl5fs
256842577025895
T:
picnic2l5fs
484104866749047ed25519
639636424064616dilithium2aes
766367697977309aimer128f
832368350984240aimer128s
101119101565101996dilithium3aes
151116151539151852dilithium5aes
151269151652152164dilithium2
197405197548198336aimer192f
200260200583201022
T:
ed448goldilocks
206297207934208801nccsign1aes
211529211900212845aimer192s
258051259479262314nccsign1
266491269159272953nccsign3aes
286696287111287516dilithium3
291435292736295054
T:
pass769
336715339300342370nccsign3
355901357257358272
T:
pass863
409575411709413914nccsign5aes
446291446855447542dilithium5
514353514741515305aimer256f
522762525149529358nccsign5
550450551702554074aimer256s
616556616731620580
T:
sphincsf128harakasimple
739897740196762041
T:
sphincsf128harakarobust
800106800971803073
T:
mqdss48
495397?825499?1157151?haetae2
905387?911862?1273194?
T:
sphincsf192harakasimple
102176910274161037843
T:
donald2048
106198010680401079951
T:
sphincsf192harakarobust
656885?1172678?1949363?haetae3
855383?1292557?2158314?haetae5
1328291?1742531?2623854?
T:
qtesla1
186487218676621871774
T:
mqdss64
242811024375122451460
T:
sphincsf256harakasimple
2788856?2824794?4124230?
T:
qtesla3f
292493329531652955059
T:
sphincsf256harakarobust
418193441839784185447
T:
sphincs256
4179853?4236661?6900706?
T:
qtesla3s
657081365761826594966
T:
sphincsf128shake256simple
5129138?6725998?8251580?
T:
qtesla1p
724303372705997311345mqsignlr2567246
735514074038977434880
T:
mqsignlr2567246
800004080233858047443
T:
luov863256
850074385610758597125
T:
mqsignrr2567246
849700985708198928809mqsignrr2567246
943439294544359462041
T:
sphincsf192shake256simple
102750221030372510343659
T:
rainbowbinary256181212
121074981211083712114479
T:
sphincsf128shake256robust
125546311256871812575441
T:
luov863256pc
177343671774360417783015
T:
sphincsf192shake256robust
168554171777232819373310
T:
falcon512tree
167967151827557920164247
T:
falcon512dyn
181057751844304718541274
T:
rainbow1aclassic363232
193461551937062119378639
T:
sphincss128harakasimple
199810862012396120568977
T:
rainbow1acompres363232
201276902061067920831975
T:
rainbow1acyclicc363232
224814042392247723973909
T:
sphincss128harakarobust
246165212481907225007109
T:
sphincsf256shake256simple
253517762540513225469675
T:
luov4849242
283517962856847228571432
T:
sphincss192harakasimple
339055203401511334778171
T:
sphincss192harakarobust
336697363416667634350994
T:
mqsignlr25611272
340887233419940834309529mqsignlr25611272
29864578?34944103?45182756?
T:
qtesla3p
368366113688235836963051
T:
luov890351
384316203857437438757042mqsignrr25611272
386304403893948939030213
T:
mqsignrr25611272
408024204080739241596745
T:
sphincss256harakasimple
439684894405770744273456
T:
rainbowbinary16242020
452983404554916445555869
T:
sphincss256harakarobust
470272604704879147062348
T:
sphincsf256shake256robust
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
835462258388468984294456
T:
mqsignlr25614896
869111578719735287586912mqsignlr25614896
981229819817259098250944
T:
luov8117404pc
104490193105076717105404946mqsignrr25614896
105385433105701597105889131
T:
mqsignrr25614896
114177312115832117117227705
T:
rainbow3cclassic683248
117939333118668150119170531
T:
rainbow3ccyclicc683248
126113293126866301127430044
T:
rainbow3ccompres683248
150648613150929762153201284
T:
luov8086399
217141446217166255217220698
T:
sphincss128shake256simple
259261123259412289259711954
T:
redgemss192
268861558269098809269427750
T:
redgemss192v2
268950958269325359270509520
T:
bluegemss192
271176631271374605272357254
T:
gemss192
275551114275749483276332490
T:
bluegemss192v2
303122485305078651307408511
T:
sphincss192shake256simple
321691089329375730331671246
T:
rainbow5cclassic963664
344137736346745901349297240
T:
rainbow5ccompres963664
371154026374285573375599938
T:
rainbow5ccyclicc963664
386621919386692218386802390
T:
sphincss128shake256robust
390949119391019186391886336
T:
sphincss256shake256simple
430477581430580802430681569
T:
gemss192v2
571273242571367698571544287
T:
sphincss192shake256robust
747170500748011648748697022
T:
sphincss256shake256robust
812129352815086353820881786
T:
redgemss256
819984522830411347833583875
T:
bluegemss256v2
836017578837301802841851920
T:
gemss256
831446568841161344842416673
T:
bluegemss256
880602403880844899881336270
T:
gravitysphincss
991651319993800941995475212
T:
gemss256v2
9938296769954534121002758699
T:
redgemss256v2
386492147939242309094014392862
T:
pqrsa15
141145120651411709805414121687202
T:
gravitysphincsl
280599490352806954743028081869508
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
141481430214675
T:
rainbowbinary256181212
282632845328625
T:
rainbowbinary16242020
508665106851665ed25519
915039207293830
T:
rainbow1aclassic363232
100498101396124458
T:
rainbow1acyclicc363232
118481124539133933
T:
mqsignlr2567246
135472137269141505mqsignlr2567246
147449163249173193
T:
mqsignrr2567246
171370178652183304mqsignrr2567246
207429207529207677
T:
ed448goldilocks
120154?241631?326709?dilithium2aes
221270?345407?447298?dilithium3aes
357047361537376914
T:
mqsignlr25611272
278202?367905?527144?dilithium2
419749420467422365
T:
rainbow3cclassic683248
417903427820446541mqsignlr25611272
419750430676447359
T:
rainbow3ccyclicc683248
243627?443649?785359?dilithium5aes
221491?477679?835088?
T:
qtesla1
476881480897485655
T:
falcon512tree
479818?483271?721865?nccsign1
492804494167495753
T:
luov863256pc
489577512822538080
T:
mqsignrr25611272
540106558718575272mqsignrr25611272
436234?578796?794208?dilithium3
418131?589899?639275?nccsign1aes
304113?639835?968941?
T:
qtesla3f
639320642846652005
T:
mqsignlr25614896
344736?686885?1045894?
T:
pass769
755031763027783799mqsignlr25614896
395720?784183?1198365?
T:
pass863
515887?791810?1285207?nccsign3aes
692696?838036?1146184?dilithium5
859296866267870756
T:
falcon512dyn
906435912857929977
T:
mqsignrr25614896
947292954476962260
T:
falcon1024tree
9924429973461000778
T:
rainbow5cclassic963664
100196910111491035466mqsignrr25614896
101520310227261032677
T:
donald2048
607541?1097618?1342264?nccsign3
113413111549061185007
T:
rainbow5ccyclicc963664
826775?1168712?1606226?nccsign5aes
900724?1180324?2377756?
T:
qtesla1p
693701?1312101?2147935?
T:
qtesla3s
143379414449421476062
T:
luov890351pc
984525?1468626?1869299?nccsign5
1194088?1726873?4366323?haetae2
175281117596491768583
T:
falcon1024dyn
211478921253792142146
T:
luov8117404pc
1566488?2245936?4911357?haetae3
226080322675982586478aimer128f
3471735?4019152?4864075?
T:
redgemss128
1886749?4330457?5954853?haetae5
3938888?4558835?5257887?
T:
redgemss128v2
2983520?4819403?7224805?
T:
qtesla3p
556096855632385582940picnicl1full
575974857605125761866aimer192f
606607560727666082890
T:
mqdss48
661956066252066633684
T:
luov863256
726137872664777274206
T:
gravitysphincss
817832382077588213609picnicl1fs
9873924?10650890?13708472?
T:
redgemss192
109074421092052410935235picnicl3full
109598341097999110988650picnicl1ur
112507301125705411295869aimer256f
10613589?12071149?13949141?
T:
redgemss192v2
133116991333650113458885
T:
gravitysphincsm
154753211548850115500880
T:
gravitysphincsl
156327061564029215648132
T:
mqdss64
158440811613972316371172
T:
rainbow1acompres363232
172085671721587417259783aimer128s
181685551817623818182007picnicl5full
16799251?20227923?26391059?
T:
redgemss256
204287382054466220615622picnicl3fs
18016660?21230211?24283302?
T:
redgemss256v2
221008172211753322154895
T:
sphincsf128harakasimple
223506972236264222383965
T:
luov890351
259845082600551226047559picnic3l1
25946812?26777414?36842835?
T:
sphincsf192harakasimple
268559082686825326898517
T:
sphincsf128harakarobust
274168272749078527589379picnicl3ur
324426103245967632492626
T:
sphincsf192harakarobust
357420733612321336348160picnicl5fs
387342493875625138858970
T:
luov8117404
433225094342130243862952aimer192s
452168064531660345457899picnicl5ur
465688014658843946616436
T:
luov4849242
568607635703634257127791picnic3l3
596985295972638359748017
T:
sphincsf256harakasimple
760723967610315276135361
T:
sphincsf256harakarobust
771052597714616577197442
T:
sphincs256
813032228142639381496615aimer256s
940499389416848594446926picnic3l5
98094924101400922101891481
T:
rainbow3ccompres683248
128959172129005826129106552
T:
pqrsa15
116548491?140022063?162975017?
T:
bluegemss128v2
116766873?140059120?163449763?
T:
bluegemss128
140969907141049583143021345
T:
luov6468330
211402976211610674212634686
T:
sphincsf128shake256simple
213914447214008592214094119
T:
picnic2l1fs
237563383238417417239035569
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
295583026832068
T:
rainbow1aclassic363232
617146262763897
T:
gravitysphincss
822918249682664dilithium2aes
854128639487115
T:
falcon512tree
934419483197035mqsignlr2567246
94152?95430?121405?mqsignrr2567246
94563102513115866
T:
mqsignrr2567246
102102102747103599
T:
falcon512dyn
107799108093108925
T:
qtesla1
102475111095118280
T:
mqsignlr2567246
119298119504119847dilithium3aes
132220132776134066
T:
luov863256pc
157915158445158990haetae2
162126162429166131dilithium2
173009173754174846
T:
falcon1024tree
174320174685175061dilithium5aes
181614182603183482ed25519
191807194550212307
T:
rainbow3cclassic683248
206750207955209017
T:
falcon1024dyn
222942223621224117
T:
qtesla3f
224589225130225778
T:
qtesla3s
254993255777256566haetae3
264582268587274343
T:
gravitysphincsm
275975276947278678nccsign1aes
279605280087280358dilithium3
276826285010314113
T:
redgemss128v2
298941299430300127haetae5
321368323041325174nccsign1
321157329071341737
T:
bluegemss128
320802329628336518
T:
redgemss128
325810331633349511
T:
bluegemss128v2
328441332388341190
T:
gemss128
334477341527346405
T:
gemss128v2
331718344971356193
T:
mqsignlr25611272
346869348671354148nccsign3aes
354268356536360381
T:
luov890351pc
355741361844365324
T:
gravitysphincsl
352596364499369880mqsignlr25611272
348394371310390984mqsignrr25611272
365882404003413391
T:
mqsignrr25611272
407831409484411877nccsign3
413798423547436624
T:
sphincss128harakasimple
442732444433446117
T:
pass769
452537452980453611dilithium5
478632482258484112
T:
rainbow5cclassic963664
491319494609495992
T:
luov8117404pc
538034539915541458
T:
pass863
544215545931548181
T:
qtesla1p
549994551117553393nccsign5aes
595847608008619450
T:
sphincss128harakarobust
604637614538624398
T:
sphincss192harakasimple
636243638497640249
T:
ed448goldilocks
648421651765654277nccsign5
648450662198686380
T:
mqsignlr25614896
661782674794696779mqsignrr25614896
679586688067713064
T:
mqsignrr25614896
663778690213760764mqsignlr25614896
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
195332519653151973059
T:
sphincs256
222410122252322536010aimer128f
238586324074052424550
T:
sphincsf192harakarobust
238941324093952433555
T:
sphincsf256harakarobust
259659626081902838346
T:
qtesla3p
373607138519683935884
T:
sphincss128shake256simple
387925639111173949514
T:
mqdss48
428294643145664331022picnicl1full
568077456886365699082
T:
luov863256
570764157085435710049aimer192f
671121467292286749385picnicl1fs
665252267570146886537
T:
sphincss192shake256simple
717405672779877561208
T:
sphincss128shake256robust
717029773532247466764
T:
sphincss256shake256simple
858068186250248648546picnicl3full
885663588911708967887picnicl1ur
919177293611399481612
T:
sphincsf128shake256simple
105631071062482610700415
T:
mqdss64
106407451083034811139706
T:
sphincss192shake256robust
111683691117429111212651aimer256f
130370081335151813635257
T:
rainbow1acompres363232
131662421355161913890803
T:
rainbow1acyclicc363232
141724201420938615174370picnicl5full
140480571422978314512141
T:
sphincss256shake256robust
146572031477796314932374
T:
sphincsf192shake256simple
147129481493568715108325
T:
sphincsf256shake256simple
170997591710440617151367aimer128s
172904311733125917403245picnicl3fs
175826061789566418198378
T:
sphincsf128shake256robust
198022021981677019824778
T:
pqrsa15
199031961991230319964368
T:
luov890351
214494792146611421493930picnic3l1
231637052324136723274197picnicl3ur
279051632836145828688819
T:
sphincsf192shake256robust
282898312869082228882131
T:
sphincsf256shake256robust
299373523011519630570007picnicl5fs
339774683398817434002089
T:
luov4849242
342317833425395634431326
T:
luov8117404
382980613837945338417497picnicl5ur
431485034316558943595273aimer192s
468547684690033347074068picnic3l3
735699507370381174094554picnic3l5
809281908093360380936407aimer256s
794069218112409483208358
T:
rainbow3ccyclicc683248
788380368151512082827758
T:
rainbow3ccompres683248
891169368914220189169499
T:
luov6468330
106835877106877449106904314
T:
picnic2l1fs
168002242168714765168846163
T:
luov8086399
176691941177340123178144471
T:
rainbow5ccompres963664
179857357183164830184363723
T:
rainbow5ccyclicc963664
247641874247708852247730415
T:
picnic2l3fs
433727707433865991434042056
T:
picnic2l5fs