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-20241022

[Page version: 20241120 00:41:17]

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
373138423984picnicl1full
388139334213picnic3l1
521952275361picnic3l3
530753265442picnicl3full
692269867264picnicl5full
690471717325picnic3l5
916991939325picnicl1fs
947496209862picnicl1ur
116291164511809
T:
picnic2l1fs
167831683016944picnicl3fs
178471807318203picnicl3ur
192381948019630
T:
picnic2l3fs
227762282223050picnicl5ur
231572350425336picnicl5fs
256842577025895
T:
picnic2l5fs
290282917329428
T:
lattisigns512
483904857848916ed25519
639996418264752dilithium2aes
766367697977309aimer128f
832368350984240aimer128s
100897101211101523dilithium3aes
150704151027151733dilithium2
151367152225155063dilithium5aes
197405197548198336aimer192f
200260200583201022
T:
ed448goldilocks
202200204314206592nccsign1aes
206366207455218558
T:
hector
211529211900212845aimer192s
258904260383262758nccsign1
266246269219272890nccsign3aes
286598286954287689dilithium3
291782293901295568
T:
pass769
337163339492342896nccsign3
355601356669358011
T:
pass863
411486413745415451nccsign5aes
445061445642450123dilithium5
514353514741515305aimer256f
521895524743527570nccsign5
550450551702554074aimer256s
616556616731620580
T:
sphincsf128harakasimple
739897740196762041
T:
sphincsf128harakarobust
411793?741181?1459215?haetae2
800106800971803073
T:
mqdss48
905387?911862?1273194?
T:
sphincsf192harakasimple
102176910274161037843
T:
donald2048
106198010680401079951
T:
sphincsf192harakarobust
785855?1230566?1954661?haetae3
599064?1369653?2273744?haetae5
1328291?1742531?2623854?
T:
qtesla1
186487218676621871774
T:
mqdss64
242811024375122451460
T:
sphincsf256harakasimple
2788856?2824794?4124230?
T:
qtesla3f
292493329531652955059
T:
sphincsf256harakarobust
418185641832034187706
T:
sphincs256
4179853?4236661?6900706?
T:
qtesla3s
657081365761826594966
T:
sphincsf128shake256simple
5129138?6725998?8251580?
T:
qtesla1p
722799972371457271711mqsignlr2567246
723414672449757266574
T:
mqsignlr2567246
800004080233858047443
T:
luov863256
848358585104958589681
T:
mqsignrr2567246
848399185187008599729mqsignrr2567246
943439294544359462041
T:
sphincsf192shake256simple
102750221030372510343659
T:
rainbowbinary256181212
121074981211083712114479
T:
sphincsf128shake256robust
125546311256871812575441
T:
luov863256pc
177343671774360417783015
T:
sphincsf192shake256robust
168554171777232819373310
T:
falcon512tree
167967151827557920164247
T:
falcon512dyn
182087111832738318914781
T:
rainbow1aclassic363232
193461551937062119378639
T:
sphincss128harakasimple
195224921984824719922834
T:
rainbow1acyclicc363232
197778652020932320965307
T:
rainbow1acompres363232
224814042392247723973909
T:
sphincss128harakarobust
246165212481907225007109
T:
sphincsf256shake256simple
253517762540513225469675
T:
luov4849242
283517962856847228571432
T:
sphincss192harakasimple
336299233383266133949875
T:
mqsignlr25611272
339013493396026234077609mqsignlr25611272
339055203401511334778171
T:
sphincss192harakarobust
29864578?34944103?45182756?
T:
qtesla3p
368366113688235836963051
T:
luov890351
379842073824551338573373
T:
mqsignrr25611272
381649033834858238540181mqsignrr25611272
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
842307368480883485166318mqsignlr25614896
868244058710112087598243
T:
mqsignlr25614896
981229819817259098250944
T:
luov8117404pc
104160423104508248105528394
T:
mqsignrr25614896
104727882105224364105768080mqsignrr25614896
114927571118186026119402658
T:
rainbow3cclassic683248
121673669122317370124339530
T:
rainbow3ccompres683248
130275028134031029134509465
T:
rainbow3ccyclicc683248
150648613150929762153201284
T:
luov8086399
217141446217166255217220698
T:
sphincss128shake256simple
259261123259412289259711954
T:
redgemss192
268861558269098809269427750
T:
redgemss192v2
268950958269325359270509520
T:
bluegemss192
271176631271374605272357254
T:
gemss192
275551114275749483276332490
T:
bluegemss192v2
303122485305078651307408511
T:
sphincss192shake256simple
325592604327916900332166703
T:
rainbow5cclassic963664
349915287351129959359637596
T:
rainbow5ccyclicc963664
364843665368978893371571788
T:
rainbow5ccompres963664
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
508455092051036ed25519
916659216592800
T:
rainbow1aclassic363232
111251112935115131
T:
mqsignlr2567246
122725124884128611
T:
rainbow1acyclicc363232
133142146552151933mqsignlr2567246
147540149381154590
T:
mqsignrr2567246
172031174016176999mqsignrr2567246
207429207529207677
T:
ed448goldilocks
218681219615233300
T:
hector
120141?271180?408237?dilithium2aes
171967?331552?647456?
T:
lattisigns512
336298338136340843
T:
mqsignlr25611272
344302?366896?709162?
T:
pass769
398097400876404498mqsignlr25611272
406797?409794?789970?nccsign1aes
286554?418591?704883?dilithium2
421406422530425195
T:
rainbow3cclassic683248
266352?435217?589984?dilithium3aes
311676?438496?633916?dilithium5aes
466153475991493628
T:
mqsignrr25611272
221491?477679?835088?
T:
qtesla1
476881480897485655
T:
falcon512tree
492804494167495753
T:
luov863256pc
482516?495628?918860?nccsign1
519862525597533744
T:
rainbow3ccyclicc683248
526571541937556179mqsignrr25611272
304113?639835?968941?
T:
qtesla3f
666869688837703357
T:
mqsignlr25614896
514899?733713?1221320?nccsign3aes
456927?737732?1011729?dilithium3
767035774089802157mqsignlr25614896
398276?792719?1183408?
T:
pass863
687626?801783?1057839?dilithium5
859296866267870756
T:
falcon512dyn
886076894638903311
T:
mqsignrr25614896
607071?910872?1217588?nccsign3
947292954476962260
T:
falcon1024tree
9946199970611001450
T:
rainbow5cclassic963664
101520310227261032677
T:
donald2048
100021710316011082180mqsignrr25614896
100905810480851091365
T:
rainbow5ccyclicc963664
900724?1180324?2377756?
T:
qtesla1p
830672?1262597?1947026?nccsign5aes
693701?1312101?2147935?
T:
qtesla3s
143379414449421476062
T:
luov890351pc
981387?1468205?2364215?nccsign5
175281117596491768583
T:
falcon1024dyn
211478921253792142146
T:
luov8117404pc
1194666?2247979?4365936?haetae2
226080322675982586478aimer128f
1895981?2714584?5140265?haetae5
1568244?2894878?4906432?haetae3
3471735?4019152?4864075?
T:
redgemss128
3938888?4558835?5257887?
T:
redgemss128v2
2983520?4819403?7224805?
T:
qtesla3p
555776455599975561956picnicl1full
575974857605125761866aimer192f
606607560727666082890
T:
mqdss48
661956066252066633684
T:
luov863256
726137872664777274206
T:
gravitysphincss
822501282314778242126picnicl1fs
9873924?10650890?13708472?
T:
redgemss192
109097911092569010927750picnicl3full
109148901097399310998239picnicl1ur
112507301125705411295869aimer256f
10613589?12071149?13949141?
T:
redgemss192v2
133116991333650113458885
T:
gravitysphincsm
154753211548850115500880
T:
gravitysphincsl
156327061564029215648132
T:
mqdss64
161572601638426916550542
T:
rainbow1acompres363232
172085671721587417259783aimer128s
179931121801284718035049picnicl5full
16799251?20227923?26391059?
T:
redgemss256
203909312062200920628035picnicl3fs
18016660?21230211?24283302?
T:
redgemss256v2
221008172211753322154895
T:
sphincsf128harakasimple
223506972236264222383965
T:
luov890351
260463972606729026085574picnic3l1
25946812?26777414?36842835?
T:
sphincsf192harakasimple
268559082686825326898517
T:
sphincsf128harakarobust
273987862750171927554803picnicl3ur
324426103245967632492626
T:
sphincsf192harakarobust
360282933603949838330538picnicl5fs
387342493875625138858970
T:
luov8117404
433225094342130243862952aimer192s
449553494504761045328714picnicl5ur
465688014658843946616436
T:
luov4849242
568997125695364157401475picnic3l3
596985295972638359748017
T:
sphincsf256harakasimple
760723967610315276135361
T:
sphincsf256harakarobust
771182627717033777205502
T:
sphincs256
813032228142639381496615aimer256s
939854539419562194553373picnic3l5
98630263100049237100816325
T:
rainbow3ccompres683248
128959172129005826129106552
T:
pqrsa15
116548491?140022063?162975017?
T:
bluegemss128v2
116766873?140059120?163449763?
T:
bluegemss128
140969907141049583143021345
T:
luov6468330
211402976211610674212634686
T:
sphincsf128shake256simple
213914447214008592214094119
T:
picnic2l1fs
249514539252105028253128211
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
302623087731687
T:
rainbow1aclassic363232
476634803748331
T:
lattisigns512
617146262763897
T:
gravitysphincss
822268243382686dilithium2aes
854128639487115
T:
falcon512tree
9378894795104063mqsignrr2567246
942029545896820
T:
mqsignlr2567246
94394100442102499
T:
mqsignrr2567246
89712100467105601mqsignlr2567246
102102102747103599
T:
falcon512dyn
107799108093108925
T:
qtesla1
118960119111119481dilithium3aes
132220132776134066
T:
luov863256pc
158247158783159275haetae2
161391161550161914dilithium2
173009173754174846
T:
falcon1024tree
174824175236178017dilithium5aes
181448182371183151ed25519
190655191610193364
T:
rainbow3cclassic683248
206750207955209017
T:
falcon1024dyn
222942223621224117
T:
qtesla3f
224589225130225778
T:
qtesla3s
254593255480255989haetae3
264582268587274343
T:
gravitysphincsm
273505275012277102nccsign1aes
279564279878280169dilithium3
276826285010314113
T:
redgemss128v2
299694300776301942haetae5
321735323593378647
T:
mqsignlr25611272
322686324645325823nccsign1
322249328316333925mqsignlr25611272
321157329071341737
T:
bluegemss128
320802329628336518
T:
redgemss128
325810331633349511
T:
bluegemss128v2
328441332388341190
T:
gemss128
322961336575372887mqsignrr25611272
334477341527346405
T:
gemss128v2
347042348045349397nccsign3aes
330037353293359743
T:
mqsignrr25611272
354268356536360381
T:
luov890351pc
355741361844365324
T:
gravitysphincsl
408143410135411956nccsign3
413798423547436624
T:
sphincss128harakasimple
443516445217447196
T:
pass769
452303453021453857dilithium5
478325480487482929
T:
rainbow5cclassic963664
491319494609495992
T:
luov8117404pc
543338545637546693
T:
pass863
544215545931548181
T:
qtesla1p
550865553489554995nccsign5aes
595847608008619450
T:
sphincss128harakarobust
604637614538624398
T:
sphincss192harakasimple
636243638497640249
T:
ed448goldilocks
648064651236654013nccsign5
653031664577672709
T:
mqsignrr25614896
667402690507715508mqsignlr25614896
684581695964714466
T:
bluegemss192
683517697088712215
T:
gemss192
653363?709484?1624680?mqsignrr25614896
694144710626717030
T:
gemss192v2
694255725359751350
T:
mqsignlr25614896
721802727235742200
T:
redgemss192
737070745513758732
T:
bluegemss192v2
745013758704770878
T:
redgemss192v2
839432860620873699
T:
sphincss256harakasimple
939982943255954175
T:
hector
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
196080319712191984600
T:
sphincs256
222410122252322536010aimer128f
238586324074052424550
T:
sphincsf192harakarobust
238941324093952433555
T:
sphincsf256harakarobust
259659626081902838346
T:
qtesla3p
373607138519683935884
T:
sphincss128shake256simple
387925639111173949514
T:
mqdss48
426436942662964310186picnicl1full
568077456886365699082
T:
luov863256
570764157085435710049aimer192f
670202467292016758010picnicl1fs
665252267570146886537
T:
sphincss192shake256simple
717405672779877561208
T:
sphincss128shake256robust
717029773532247466764
T:
sphincss256shake256simple
855469585678928616075picnicl3full
884621189073879008724picnicl1ur
919177293611399481612
T:
sphincsf128shake256simple
105631071062482610700415
T:
mqdss64
106407451083034811139706
T:
sphincss192shake256robust
111683691117429111212651aimer256f
130589561356087713629978
T:
rainbow1acyclicc363232
133146081356350913780311
T:
rainbow1acompres363232
141792431420082814221262picnicl5full
140480571422978314512141
T:
sphincss256shake256robust
146572031477796314932374
T:
sphincsf192shake256simple
147129481493568715108325
T:
sphincsf256shake256simple
170997591710440617151367aimer128s
172051281727194517315758picnicl3fs
175826061789566418198378
T:
sphincsf128shake256robust
198022021981677019824778
T:
pqrsa15
199031961991230319964368
T:
luov890351
215126282154700121581682picnic3l1
232048042326994423366901picnicl3ur
279051632836145828688819
T:
sphincsf192shake256robust
282898312869082228882131
T:
sphincsf256shake256robust
298505093017825532083503picnicl5fs
339774683398817434002089
T:
luov4849242
342317833425395634431326
T:
luov8117404
383396573837674438441836picnicl5ur
431485034316558943595273aimer192s
468962544700788847237549picnic3l3
735202457361323273900809picnic3l5
789065287966918583067913
T:
rainbow3ccyclicc683248
809281908093360380936407aimer256s
800985358143081582358370
T:
rainbow3ccompres683248
891169368914220189169499
T:
luov6468330
106835877106877449106904314
T:
picnic2l1fs
168002242168714765168846163
T:
luov8086399
178552467181185907182580888
T:
rainbow5ccompres963664
179384595182459649191628901
T:
rainbow5ccyclicc963664
247641874247708852247730415
T:
picnic2l3fs
433727707433865991434042056
T:
picnic2l5fs