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: aarch64; Skylark (503f0002); 2018 Ampere eMAG 8180; 32 x 3300MHz; unstable; gcc185, supercop-20240107

[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: (pkcycles,pkbytes) (smcycles,sbytes) (mcycles,pkbytes) (mcycles,sbytes) (pkbytes,sbytes)

NISTPQC graphs: (pkcycles,pkbytes) (smcycles,sbytes) (mcycles,pkbytes) (mcycles,sbytes) (pkbytes,sbytes)

Measurement failures: mqqsig160, mqqsig192, mqqsig224, mqqsig256, ntrumls401x, ntrumls439x, ntrumls593x, ntrumls743x, qtesla128, qtesla192, qtesla256

Cycles to generate a key pair
25%50%75%system
8925900010500picnicl1full
9825997511175picnic3l1
129751312515225picnicl3full
132751342513725picnic3l3
174751762518075picnicl1ur
175501770021900picnicl1fs
183751860021300picnicl5full
198752002522875
T:
picnic2l1fs
233252355025425picnic3l5
350253510036300picnicl3ur
350253517536150picnicl3fs
509255152555650picnicl5ur
510005152556625picnicl5fs
613506150065025
T:
picnic2l3fs
8722587525103350
T:
picnic2l5fs
155550155625155700ed25519
176850177975181500
T:
ecdonaldp256
196500196800197625
T:
donald512
246075246300247350
T:
ecdonaldp224
412275412500412725dilithium2
544875545475546000
T:
donald1024
712275713175714525dilithium3
108480010877251092150dilithium2aes
111127511115751111950dilithium5
117697511805751190550
T:
mqdss48
127192512722251274700
T:
ecdonaldp521
185115018541501861950
T:
donald2048
193012519360501943925dilithium3aes
271740027223502729925
T:
mqdss64
328507532932503304425dilithium5aes
2332350?3719700?5166075?
T:
qtesla1
458317545995254624725
T:
ecdonaldp384
658140065884506639300
T:
sphincsf128sha256simple
4579425?6715950?8871300?
T:
qtesla3f
8218500?8591025?11495700?
T:
qtesla1p
901477590156759037425
T:
sphincsf128shake256simple
964087596417009670275
T:
sphincsf192sha256simple
6852825?11234250?15875775?
T:
qtesla3s
127545751277115012792225
T:
sphincsf128sha256robust
130470001306995013114800
T:
sphincsf192shake256simple
156593251566600015816900
T:
sphincsf128harakasimple
168892501689645017036250
T:
sphincsf128shake256robust
182343751825665018367725
T:
sphincs256
189498001896322519023150
T:
sphincsf192sha256robust
232063502323530023471025
T:
sphincsf192harakasimple
246297752464927524783675
T:
sphincsf192shake256robust
254442002546310025599525
T:
sphincsf256sha256simple
264204002643495026566800
T:
sphincsf128harakarobust
23402025?28842075?48137700?
T:
rwb0fuz1024
318296253196860035165550
T:
luov4849242
309506253329850037227525
T:
falcon512dyn
344440503445522534593075
T:
sphincsf256shake256simple
318101253486772538245950
T:
falcon512tree
25165500?36806325?58648650?
T:
ronald512
392662503927990039349275
T:
sphincsf192harakarobust
418609504217122544938200
T:
luov863256
35377200?44993925?57598575?
T:
qtesla3p
615990006162465061761000
T:
sphincsf256harakasimple
621723006236130065468550
T:
rainbow1aclassic363232
645091506452145064621575
T:
sphincsf256shake256robust
693639006957405071542200
T:
rainbow1acyclicc363232
693000756960232571240175
T:
rainbow1acompres363232
707579257082377571008350
T:
sphincsf256sha256robust
53950350?92873400?125056350?
T:
ronald768
9232335095999775102595200
T:
falcon1024dyn
9826410098738550109108650
T:
luov6468330
93735750101874000112012425
T:
falcon1024tree
104597925104657925104752500
T:
sphincsf256harakarobust
89916000?163170750?249967650?
T:
ronald1024
179012250179506425189211425
T:
luov890351
190673625191171175209157525
T:
luov8086399
210070950210318150210580350
T:
sphincss128sha256simple
255388650255483000260973300
T:
redgemss128v2
283146525283181325283215150
T:
sphincss128shake256simple
284709525285355800305502300
T:
luov8117404
309153675309347100309584700
T:
sphincss192sha256simple
208575900?326840400?603210225?
T:
ronald1536
371821800371938500372281025
T:
bluegemss128v2
407851800408066525408330075
T:
sphincss256sha256simple
410707425410784900410907000
T:
sphincss128sha256robust
417709950417749250417788325
T:
sphincss192shake256simple
443996025444054150444197925
T:
gemss128v2
499734525499792425499842750
T:
sphincss128harakasimple
526392375526456275526533075
T:
sflashv2
534516975534575025534677025
T:
sphincss128shake256robust
551063775551143350551411250
T:
sphincss256shake256simple
608655675608725725608790075
T:
sphincss192sha256robust
737955000738047925738447900
T:
sphincss192harakasimple
421475250?747177150?1368021150?
T:
ronald2048
794123700794157450794235975
T:
sphincss192shake256robust
842316450842405025842516025
T:
sphincss128harakarobust
849482550849965475862676475
T:
rainbow3cclassic683248
962481000962701200976511250
T:
rainbow3ccyclicc683248
963269925963539550976840650
T:
rainbow3ccompres683248
983728650983847450984200625
T:
sphincss256harakasimple
102424552510243485751024659750
T:
sphincss256shake256robust
113216685011322904501134232725
T:
sphincss256sha256robust
125182702512518932501252000500
T:
sphincss192harakarobust
128485785012851767501318592475
T:
redgemss192v2
153716812515426196501634309625
T:
redgemss128
157510462515754589251608035625
T:
rainbow1a
167073915016708792501671047325
T:
sphincss256harakarobust
190633687519064451001907320275
T:
bluegemss192v2
228706710022893621752295880350
T:
bluegemss128
235664295023582511002427495075
T:
rainbow5cclassic963664
269587500026965373252784476700
T:
rainbow5ccyclicc963664
269659927526980524002752508325
T:
rainbow5ccompres963664
288166575028821468002914428450
T:
rainbow1b
319778512531990504503212773275
T:
gemss128
2103229500?3255715425?4494271125?
T:
ronald3072
331239510033130785753313639200
T:
redgemss256v2
411200610041187009754129115775
T:
gui184
480629025048067920754808338050
T:
bluegemss256v2
563206492556726010756022322925
T:
redgemss192
707336287570741313257143812250
T:
rainbow1c
4758787200?7920326025?12680628450?
T:
ronald4096
783722355080217612758289114825
T:
pqrsa15
801009570080318046008063023125
T:
bluegemss192
109183955251093226385010942008150
T:
gemss192
137623067251376431110013939990575
T:
rainbow4a
141135750751420496715015181139400
T:
redgemss256
191674198501918504560019204700400
T:
bluegemss256
474736045504748659800048407538375
T:
rainbow3b
570631189505730673320058208510400
T:
rainbow6a
679789340256798218235069668531325
T:
rainbow3c
921304665759213567067592147353650
T:
gravitysphincss
Cycles to sign 59 bytes
25%50%75%system
161175161175161325ed25519
217725218250218850
T:
sflashv2
245325246075248100
T:
ecdonaldp256
330000330225330825
T:
ecdonaldp224
372600376275380550
T:
donald512
593025604725611475
T:
ronald512
656325656925673125
T:
rainbow1aclassic363232
656850657750667350
T:
rainbow1acyclicc363232
724200728325733725
T:
donald1024
728850729600745125
T:
rainbow1a
114510011570251165800
T:
ronald768
117840011922751205100
T:
falcon512tree
604275?1221225?2197350?
T:
qtesla1
1179450?1594500?2278725?dilithium2
170940017204251732800
T:
rwb0fuz1024
823650?1734600?2619600?
T:
qtesla3f
174735017661751785525
T:
ronald1024
180240018052501809075
T:
ecdonaldp521
200985020232752043900
T:
falcon512dyn
203610020411252048700
T:
donald2048
226837522740002282400
T:
rainbow4a
1720725?2321400?4909875?dilithium3
1422675?2373525?5083725?
T:
qtesla3s
240120024162752442450
T:
falcon1024tree
2012625?2668950?4582725?dilithium2aes
268267526835002689875
T:
rainbow1c
1974225?2955000?4193850?
T:
qtesla1p
314557531617003169725
T:
rainbow1b
1908075?3585900?5311800?dilithium5
410655041249254148700
T:
falcon1024dyn
424822542695254296000
T:
ronald1536
478830047938504803675
T:
ecdonaldp384
502995050711256084375
T:
rainbow6a
3259125?5157375?6530700?dilithium3aes
5067975?6141900?7341300?dilithium5aes
641242564273506468450
T:
rainbow3cclassic683248
641437564290756449625
T:
rainbow3ccyclicc683248
782685078531007868475
T:
ronald2048
969300097144509756150
T:
rainbow3c
8503800?10505775?14639250?
T:
qtesla3p
113638501138807511408250
T:
rainbow3b
137915251381987513993575
T:
rainbow5cclassic963664
137901001382070013978575
T:
rainbow5ccyclicc963664
206036252069445023358225
T:
luov863256
208386002086965020919975
T:
ronald3072
214424252147332524240825picnicl1full
251721752524402530267450picnicl1fs
345978753463455041790300picnicl1ur
348093753489750035738550
T:
rainbow1acompres363232
420452254214055049931625picnicl3full
436025254365787543710225
T:
ronald4096
566666255671500057427425
T:
mqdss48
48229800?58933350?65861700?
T:
redgemss128
595717505975220068195625picnicl3fs
685459506872025078670725picnicl5full
720219757217047579490175
T:
luov890351
72687825?72922725?91850850?
T:
luov4849242
856554758581027597775400picnicl3ur
104738925104978100120222075picnicl5fs
105284250105552000126730200picnic3l1
95523225?114237300?139241550?
T:
redgemss192
130013175130066500143979750
T:
luov8117404
110846700?130683450?148864575?
T:
redgemss128v2
142472625142818900165971100picnicl5ur
127594875?151055325?181737975?
T:
redgemss256
176144475176198325177808350
T:
mqdss64
207799575207996825208116600
T:
sphincsf128sha256simple
234743025236281500290724375picnic3l3
269734575269890950275468625
T:
pqrsa15
272745375272943450273238200
T:
sphincsf192sha256simple
274478325275688525321702525
T:
luov6468330
281271900281455875281703150
T:
sphincsf128shake256simple
291022950?349530000?481738125?
T:
redgemss192v2
355509225355549725355647600
T:
sphincs256
356460825356699625357039450
T:
sphincsf192shake256simple
383000775383210400383650425
T:
sphincsf128sha256robust
386444925390525825464138400picnic3l5
467969250468862425478495800
T:
rainbow3ccompres683248
494781675495563475601850475
T:
luov8086399
509057400509651775510201225
T:
sphincsf128shake256robust
526008600526462875526726350
T:
sphincsf192sha256robust
575285250575644050575980350
T:
sphincsf128harakasimple
492034950?588356025?800781075?
T:
redgemss256v2
589967175590039250590212650
T:
gravitysphincss
616793475617047500617298900
T:
sphincsf256sha256simple
658107225658487925658902450
T:
sphincsf192shake256robust
673792200674212950674632500
T:
sphincsf192harakasimple
788910450789155250789757425
T:
sphincsf256shake256simple
9012636009033089251038955050
T:
picnic2l1fs
941516475942019650942684600
T:
sphincsf128harakarobust
115129132511517052501152318900
T:
sphincsf192harakarobust
131502577513159230001339191825
T:
rainbow5ccompres963664
142944397514298848251430294550
T:
sphincsf256shake256robust
165418942516550367751655894850
T:
sphincsf256sha256robust
166933335016696688251670182425
T:
sphincsf256harakasimple
252730462525331365502846079375
T:
picnic2l3fs
2152756650?2582398125?3014593200?
T:
bluegemss128
280121970028021254002803363425
T:
sphincsf256harakarobust
1821381450?2932461525?4362196275?
T:
gui184
312355882531276528503129429750
T:
sphincss128sha256simple
422721630042275221504227764925
T:
sphincss128shake256simple
4123412550?4947443175?5773448325?
T:
bluegemss128v2
516940537551826568255877007500
T:
picnic2l5fs
528034732552820128505283465000
T:
sphincss256sha256simple
569533567557005900255701210875
T:
sphincss128sha256robust
658051702565822328006587760150
T:
sphincss256shake256simple
745682197574572368757458108975
T:
sphincss128shake256robust
5342592900?7476083625?8553853050?
T:
bluegemss192
761443350076189528507622317200
T:
sphincss192sha256simple
6679763250?8021141325?10691570625?
T:
bluegemss256
887200552588726754258874582000
T:
sphincss192shake256simple
926830882592692710009270512625
T:
sphincss128harakasimple
116807499001168153312511682290400
T:
sphincss256shake256robust
139343142001393505025013950547800
T:
sphincss256sha256robust
140117812501401580290014021653875
T:
sphincss192sha256robust
148339101751483518255014840244825
T:
sphincss256harakasimple
149634711001496422290014971753575
T:
sphincss128harakarobust
153924213751539332760015394276650
T:
sphincss192shake256robust
13236531000?15872628450?18530094300?
T:
bluegemss192v2
16398109200?19687210650?22961444475?
T:
gemss128
206396517002064102202520643793275
T:
sphincss192harakasimple
248009733002480205960024803712525
T:
sphincss256harakarobust
22062700350?26536469775?35297429100?
T:
bluegemss256v2
26302275600?31607113650?36876597150?
T:
gemss128v2
360756749253607792852536089307750
T:
sphincss192harakarobust
46548172650?55859749050?65171273025?
T:
gemss192
Cycles to verify 59 bytes
25%50%75%system
121501230012525
T:
rwb0fuz1024
414754185042150
T:
ronald512
468004702547475
T:
ronald768
555755602556625
T:
ronald1024
758257612576500
T:
ronald1536
890259180093675
T:
rainbow1aclassic363232
102300102750103200
T:
ronald2048
138675140250140625
T:
falcon512tree
174375174975175725
T:
ronald3072
182925184350184725
T:
falcon512dyn
191400192075192450
T:
sflashv2
217650218100228975
T:
qtesla1
236250237675239625
T:
donald512
272775273375274950
T:
ronald4096
288000289650290625
T:
falcon1024tree
338175352125378525
T:
gui184
380175381900382575
T:
falcon1024dyn
330675?383325?416250?
T:
redgemss128v2
432600441300447225
T:
gemss128v2
450075452025454500ed25519
452625459750469725
T:
bluegemss128v2
466800467025495225
T:
rainbow1a
474075474750476100dilithium2
494625496725517200
T:
qtesla3s
499500501450523575
T:
qtesla3f
549975550725553725
T:
ecdonaldp256
573300576600578700
T:
donald1024
586500592275629325
T:
rainbow3cclassic683248
624150624525624825
T:
ecdonaldp224
745500745800746325dilithium3
106155010644001072650dilithium2aes
110850011134501162425
T:
qtesla1p
110370011277001164225
T:
bluegemss192v2
120105012012751201800dilithium5
106980012288001299000
T:
redgemss192v2
121725012357751490325
T:
rainbow5cclassic963664
182797518330001840425dilithium3aes
182137518345001849425
T:
donald2048
189315018957001965525
T:
rainbow4a
204832520502002074800
T:
rainbow1c
214245021430502146425
T:
rainbow1b
268702527515252822925
T:
redgemss256v2
270105027819752896575
T:
bluegemss256v2
308662531443003219450
T:
gravitysphincss
321697532246253230100dilithium5aes
343312535190753640650
T:
sphincss128sha256simple
357532535767503588300
T:
ecdonaldp521
390150039196503943725
T:
ecdonaldp384
426870042911254371525
T:
sphincs256
434115043578004598025
T:
rainbow6a
461197547873254905375
T:
sphincss128shake256simple
529147553145755365950
T:
qtesla3p
543900055047755636475
T:
sphincss192sha256simple
632977563717006448500
T:
rainbow1acyclicc363232
635572564974756578400
T:
rainbow1acompres363232
683595069828007094475
T:
sphincss192shake256simple
702292571118757287825
T:
sphincss128sha256robust
711540072023257354800
T:
sphincss256sha256simple
746887574881507596900
T:
rainbow3c
797887579862258012175
T:
rainbow3b
839977585350758745675
T:
sphincsf128sha256simple
896212590829509319875
T:
sphincss256shake256simple
890880091006509478500
T:
sphincss128shake256robust
98980501015297510357950
T:
sphincss128harakasimple
112178251138912511539575
T:
sphincss192sha256robust
112317751140975011577300
T:
sphincsf128shake256simple
132294751350000013742175
T:
sphincss192shake256robust
137986501389930014014800
T:
sphincsf192sha256simple
139670251417455014355975
T:
sphincsf256sha256simple
146092501476105015008700
T:
sphincss192harakasimple
156944251571505018939675picnicl1full
170624251721467517562000
T:
sphincsf128sha256robust
168898501724820017624325
T:
sphincss128harakarobust
170854501742685017781225
T:
sphincss256shake256robust
179487751808340018381450
T:
sphincsf192shake256simple
182455501842570018715200
T:
sphincsf256shake256simple
183084751850032519934850
T:
luov863256
196781251973460022349550picnicl1fs
205634252072767521126300
T:
sphincss256harakasimple
209527502127607521641700
T:
sphincss256sha256robust
219156002248620022897650
T:
sphincsf128shake256robust
227184002292660023322900
T:
sphincsf128harakasimple
261036002645280026796600
T:
sphincss192harakarobust
270366002712472530713400picnicl1ur
282695252872845028899900
T:
sphincsf192sha256robust
311646003124755038128725picnicl3full
340787253411907535782875
T:
pqrsa15
350033253528172535799975
T:
sphincsf192shake256robust
350226753552862535810700
T:
sphincsf256shake256robust
356007753604530036396375
T:
sphincsf192harakasimple
358734753639615036661275
T:
sphincss256harakarobust
380906253830857539413925
T:
rainbow3ccyclicc683248
381040503842385038800800
T:
sphincsf256harakasimple
385353753893677539166125
T:
rainbow3ccompres683248
390240753963157540068300
T:
sphincsf128harakarobust
410270254149765041902800
T:
mqdss48
416339254214527543042425
T:
sphincsf256sha256robust
422802754234042542596475
T:
gemss128
441128254419427544354775
T:
bluegemss128
450331504519770047862675
T:
redgemss128
45459525?45594075?57486300?
T:
luov4849242
479177254805565055156950picnicl3fs
519790505226142560889200picnicl5full
627210756327442563618525
T:
sphincsf192harakarobust
638215506383520070076475
T:
luov890351
666496506715252567945125
T:
sphincsf256harakarobust
676420506770767579320450picnicl3ur
860979758619817587495300
T:
rainbow5ccyclicc963664
857122508620882599127350picnicl5fs
8679375087036450102761700picnic3l1
867102758729400089463600
T:
rainbow5ccompres963664
114723300115214925134857425picnicl5ur
115048350115327050116003400
T:
gemss192
119368875119403900136077300
T:
luov8117404
120166350120375000120530175
T:
bluegemss192
120994200?121835025?201766050?
T:
redgemss192
128813700129777225131419500
T:
mqdss64
154044525155649825192206700
T:
luov6468330
191728575192370425227586150picnic3l3
203315400203579250204126825
T:
bluegemss256
205856925?206998500?294734325?
T:
redgemss256
258023025?258806100?331038750?
T:
luov8086399
302693175304113900358576425picnic3l5
473930850475188975573283800
T:
picnic2l1fs
110554282511071140751323886650
T:
picnic2l3fs
195377617519601437502361872025
T:
picnic2l5fs