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; Cortex-A53 (410fd034); 2018 Broadcom BCM2837B0; 4 x 1400MHz; pi3aplus, supercop-20240425

[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
145901475015097picnic3l1
155091569315980picnicl1full
205032078121360picnic3l3
206902093821299picnicl3full
209042110821370picnicl1fs
206342128121923
T:
picnic2l1fs
245402479525166picnicl1ur
264792688828170picnic3l5
267422712127714picnicl5full
526375290854652picnicl3ur
523205297854188picnicl3fs
554715574356308
T:
picnic2l3fs
729577343978687picnicl5ur
733557477479436picnicl5fs
756027630082500
T:
picnic2l5fs
204511205503210863ed25519
350929357634363697
T:
ecdonaldp256
393902399757401327
T:
donald512
661711662200666371dilithium2
111423011153811131604
T:
donald1024
111879511208601133409dilithium3
131615913221781334604dilithium2aes
157267715771831607188
T:
mqdss48
176767517695341787786dilithium5
211089521207142163893
T:
ecdonaldp160
230499523132512328828dilithium3aes
256852925808042591732
T:
ecdonaldp192
2302552?2986950?3760692?
T:
qtesla1
312740931419543172492
T:
ecdonaldk163
324233532539613268097
T:
ecdonaldp224
326574232792483294638
T:
ecdonaldb163
371150737192713752149
T:
mqdss64
384341138527273875167
T:
donald2048
389722339100153924041dilithium5aes
425794642774284297648
T:
ecdonaldk233
448617445071674537106
T:
ecdonaldb233
677292467818406801480
T:
sphincsf128sha256simple
5127042?7429991?9794067?
T:
qtesla3f
838963284133058472032
T:
ecdonaldk283
909778891417269190404
T:
ecdonaldb283
985319798712769886060
T:
ecdonaldp384
9935203997885110011361
T:
sphincsf192sha256simple
9943174?10034020?14807122?
T:
qtesla3s
127251801274072712755812
T:
sphincsf128shake256simple
131990411320434513215788
T:
sphincsf128sha256robust
11123154?13312580?16043368?
T:
qtesla1p
153965471541018315435640
T:
sphincsf128harakasimple
173470431738678217437660
T:
ecdonaldk409
176904541773297017889796
T:
sphincs256
190176721902594919047283
T:
sphincsf192shake256simple
192828621930438219358182
T:
ecdonaldb409
196801131969315519717870
T:
sphincsf192sha256robust
226598352266805722679001
T:
sphincsf192harakasimple
231843362321872823269142
T:
ecdonaldp521
243566442436284624376058
T:
sphincsf128shake256robust
263701532638608926419067
T:
sphincsf256sha256simple
264627162650208926681980
T:
sphincsf128harakarobust
20041961?31854562?57966658?
T:
ronald512
365831233659261036616167
T:
sphincsf192shake256robust
369585843703175037089282
T:
ecdonaldk571
391448033917803839194767
T:
sphincsf192harakarobust
413229744137275841421480
T:
ecdonaldb571
420837424220694042643544
T:
luov4849242
41449054?44975460?53853120?
T:
falcon512tree
441897184757269253316540
T:
falcon512dyn
491520394917850349195184
T:
sphincsf256shake256simple
543793385449299055013482
T:
luov863256
54767070?59256434?72516436?
T:
qtesla3p
600880516013396960180549
T:
sphincsf256harakasimple
615701886173913662492412
T:
rainbow1aclassic363232
668050806693520467705764
T:
rainbow1acyclicc363232
706398367070810470829622
T:
rainbow1acompres363232
709895627103553571067772
T:
sphincsf256sha256robust
33828810?75259594?120142620?
T:
ronald768
50390158?81610916?103063016?
T:
rwb0fuz1024
38480876?90031736?158263888?
T:
ronald1024
914751319153418891568128
T:
sphincsf256shake256robust
104082579104131936104159075
T:
sphincsf256harakarobust
124107382130588152150066928
T:
falcon1024dyn
135427078135618232135826804
T:
luov6468330
124700276?138779016?168481076?
T:
falcon1024tree
217045390217122111217183745
T:
sphincss128sha256simple
216625024217685728219272922
T:
luov890351
248107602248465394248759372
T:
luov8086399
319513829319838487320034578
T:
sphincss192sha256simple
385576070388167234391064668
T:
luov8117404
407638970407778487407854329
T:
sphincss128shake256simple
266970488?412210671?698791964?
T:
ronald1536
422388303422615226422730765
T:
sphincss128sha256robust
422608578422701139422808901
T:
sphincss256sha256simple
488579290488775204489671939
T:
sphincss128harakasimple
557192694558674916566149600
T:
bluegemss128v2
608551866608768066608929000
T:
sphincss192shake256simple
630131621630268209630461530
T:
sphincss192sha256robust
633135286637447306640325728
T:
rainbow3cclassic683248
703909242708634248711946596
T:
rainbow3ccyclicc683248
721890894722039269722363870
T:
sphincss192harakasimple
735121262735911160739600590
T:
rainbow3ccompres683248
780154281780314415780407707
T:
sphincss128shake256robust
786498487786695654786853227
T:
sphincss256shake256simple
842814463842923809843079172
T:
sphincss128harakarobust
960068303960524113960881877
T:
sphincss256harakasimple
610684194?1089405266?1669412064?
T:
ronald2048
111285329211186661141120786471
T:
sflashv2
113664514611368522711137057060
T:
sphincss256sha256robust
117117241011715125071171733569
T:
sphincss192shake256robust
131667036013228651761333783834
T:
redgemss128v2
146377706114640234681464201716
T:
sphincss256shake256robust
166422883116644674871664661353
T:
sphincss256harakarobust
176188158217628446801777618692
T:
rainbow5cclassic963664
197086188019719838921982114998
T:
rainbow5ccyclicc963664
197782152419789399601989276904
T:
rainbow5ccompres963664
202885829220303911602032063782
T:
rainbow1a
237413473623808303602417050076
T:
redgemss192v2
269109908427012014162710060038
T:
redgemss128
349823716435011269143510950960
T:
bluegemss192v2
378152165037936359083815264962
T:
bluegemss128
2680604306?4029654813?6568916057?
T:
ronald3072
571271618457504862265791021960
T:
gui184
599829845260026480586005161336
T:
rainbow1b
656528581265744590086581281828
T:
redgemss256v2
849015844584913811228493115574
T:
rainbow1c
5904323956?9657871988?16877896623?
T:
ronald4096
105837572121059689469210606895830
T:
redgemss192
138538573061387425678213922087316
T:
bluegemss192
158290430701634445882616875263340
T:
pqrsa15
178691224381787745070817896174678
T:
rainbow4a
266105948202668967412827074387850
T:
redgemss256
337347165023377747517734044838477
T:
bluegemss256
345492807803458407285834712824563
T:
rainbow3b
Cycles to sign 59 bytes
25%50%75%system
211061211771218227ed25519
253104259529260654
T:
sflashv2
469811472745483998
T:
ecdonaldp256
556167557689580995
T:
rainbow1aclassic363232
556390559691587323
T:
rainbow1acyclicc363232
729756741771790948
T:
donald512
837478842346872506
T:
rainbow1a
110378011245881154489
T:
ronald512
119054012069401226028
T:
falcon512tree
145205214636161479809
T:
donald1024
1189788?1895408?3223794?
T:
qtesla1
209518021059362134261
T:
falcon512dyn
1513217?2127548?3493311?dilithium2
224001022470932258964
T:
ecdonaldp160
227011422891592349410
T:
ronald768
244684824765772493005
T:
falcon1024tree
270260727111792720786
T:
ecdonaldp192
270153027297512774495
T:
rainbow4a
1266227?3101221?5367116?
T:
qtesla3f
312725431392753159737
T:
rainbow1c
324487532579003269776
T:
ecdonaldk163
327136732938153315749
T:
rainbow1b
332468433753753408138
T:
ronald1024
339058234111823432075
T:
ecdonaldb163
340953034228303439991
T:
ecdonaldp224
381101738363463875616
T:
rwb0fuz1024
2240518?3844278?7786148?dilithium3
419964842240944308827
T:
donald2048
424174442607424299404
T:
rainbow3ccyclicc683248
424577442685124289478
T:
rainbow3cclassic683248
432004943412504371702
T:
falcon1024dyn
2860443?4401751?5802323?dilithium2aes
442367844360754460954
T:
ecdonaldk233
462897646450964665937
T:
ecdonaldb233
3336473?4800898?8311453?dilithium5
2676114?5429544?9171766?
T:
qtesla1p
3092460?6158446?9849434?
T:
qtesla3s
735523173836067417126
T:
rainbow3b
5560513?7645971?11238145?dilithium3aes
856375186230298737620
T:
ronald1536
874680687668428806877
T:
ecdonaldk283
902865890543629113210
T:
rainbow5ccyclicc963664
906711091013509159850
T:
rainbow5cclassic963664
942007094343029447753
T:
ecdonaldb283
7082901?9617062?12894139?dilithium5aes
103603151038574810398517
T:
ecdonaldp384
154293861562293815696410
T:
ronald2048
180424051811101018261588
T:
ecdonaldk409
199115451993627619963734
T:
ecdonaldb409
245140682453004624564726
T:
ecdonaldp521
17497358?24897654?36204456?
T:
qtesla3p
327902763307796033204976
T:
luov863256
360504643611377036153970picnicl1full
382733603833288038637366
T:
ecdonaldk571
388507123888228238919084picnicl1fs
402813564030454440336590
T:
rainbow1acompres363232
422442384241424642686688
T:
ronald3072
427475664278093242832362
T:
ecdonaldb571
569385085698860457031518picnicl1ur
624543786291230863312698
T:
mqdss48
705594127060981470736226picnicl3full
65567478?78270886?84215730?
T:
redgemss128
896063888975760489924128
T:
ronald4096
986977269878950298873297picnicl3fs
106865696107387112107808964
T:
luov4849242
110949622111100304111457554picnicl5full
115833960116484864117350580
T:
luov890351
145386390145467436145691314picnicl3ur
131396382?163371788?212973974?
T:
redgemss192
169947285170116020170215546picnicl5fs
177036936177181608177281292picnic3l1
186796224187945644189194408
T:
mqdss64
203365596204204972205485718
T:
luov8117404
214359113214534831214698659
T:
sphincsf128sha256simple
182210066?215659926?254599902?
T:
redgemss256
236296888236543128236727400picnicl5ur
281291678281552534281726648
T:
sphincsf192sha256simple
334602936334768134334893510
T:
sphincs256
387351128388950004390629912
T:
rainbow3ccompres683248
396586551396942542397270666
T:
sphincsf128sha256robust
402055458402448440402787274picnic3l3
403801440404091331404315274
T:
sphincsf128shake256simple
454637166456493240462450188
T:
luov6468330
518958599519290404519702954
T:
sphincsf192shake256simple
545020604545370230545702503
T:
sphincsf192sha256robust
564578771565040808565483990
T:
sphincsf128harakasimple
486400704?577820616?664303542?
T:
redgemss192v2
587956264588958350589302036
T:
pqrsa15
636410245636692492637094532
T:
sphincsf256sha256simple
645962226646225932646701332picnic3l5
659248606659694868659968292
T:
sphincsf192harakasimple
733281271733899160734605410
T:
sphincsf128shake256robust
818568904846685870850766304
T:
luov8086399
934488978934957541935403400
T:
sphincsf128harakarobust
748430017?970980887?1176174684?
T:
redgemss256v2
976522050977367525977978448
T:
sphincsf192shake256robust
104534679010479668301050218000
T:
rainbow5ccompres963664
859850586?1050740178?1211391158?
T:
redgemss128v2
112621608411266203231127072377
T:
sphincsf256shake256simple
114329690211440584901144728376
T:
sphincsf192harakarobust
139253094613934045641394166142
T:
picnic2l1fs
162425637916246480201625200563
T:
sphincsf256harakasimple
165532580216559471181656711082
T:
sphincsf256sha256robust
202806205220286662052029769809
T:
sphincsf256shake256robust
1187680898?2374593436?4350264908?
T:
gui184
276290081527635109152764113350
T:
sphincsf256harakarobust
323397032832345007373234837638
T:
sphincss128sha256simple
3221037814?3858128096?4507536442?
T:
bluegemss128
389434203038985001343903987324
T:
picnic2l3fs
542647658654273938055428921840
T:
sphincss256sha256simple
586593028958670260825871152564
T:
sphincss128sha256robust
609576467760965817936097229320
T:
sphincss128shake256simple
5814395444?6975540713?8135646547?
T:
bluegemss128v2
728763279073191427048819757324
T:
bluegemss192
774267302477441032507745875944
T:
sphincss192sha256simple
793142293279360022467942230850
T:
picnic2l5fs
904420165890454294569051771330
T:
sphincss128harakasimple
939555839293983561669477085854
T:
sphincss256shake256simple
108512068031085256373110853460416
T:
sphincss128shake256robust
9099070356?10900346460?12799255424?
T:
bluegemss256
128835718941288616631012887288637
T:
sphincss192shake256simple
139418523471394391296713948054039
T:
sphincss256sha256robust
143535535461435465196014356615136
T:
sphincss192sha256robust
144111521471441759945414420110695
T:
sphincss256harakasimple
147747930741477576613614776565960
T:
sphincss128harakarobust
167077721961670890770816709948888
T:
sphincss256shake256robust
201961362742019767495220199329930
T:
sphincss192harakasimple
225854666192259347324322595411786
T:
sphincss192shake256robust
244047528382440588496824406881225
T:
sphincss256harakarobust
21933919162?26271297126?35036292083?
T:
bluegemss192v2
Cycles to verify 59 bytes
25%50%75%system
210212164722087
T:
rwb0fuz1024
859678656887290
T:
ronald512
933039411496005
T:
ronald768
107748108714111898
T:
ronald1024
133960137541141821
T:
rainbow1aclassic363232
146577147957153967
T:
ronald1536
157183157870163019
T:
falcon512tree
195666196634202542
T:
falcon512dyn
198338200789207154
T:
ronald2048
284965290717295134
T:
sflashv2
318426322111324647
T:
falcon1024tree
337599342801345380
T:
qtesla1
349568352985363191
T:
ronald3072
400572403849405742
T:
falcon1024dyn
468601472400476849
T:
donald512
550558551952554386
T:
ronald4096
553810566257598494
T:
bluegemss128v2
586684589602597452ed25519
641754646529660436
T:
rainbow1a
698775735118783975
T:
gui184
743086746385752615
T:
qtesla3f
747385750697761149
T:
qtesla3s
770375797994829916
T:
rainbow3cclassic683248
806980809097814275dilithium2
804698837114857724
T:
redgemss128v2
929790936546954980
T:
ecdonaldp256
116474111735641187270
T:
donald1024
126078112624221276474dilithium3
136147013699691377142dilithium2aes
169151217347642089736
T:
rainbow5cclassic963664
182879018429711862038
T:
qtesla1p
199726820056212016120dilithium5
217174121974362210427
T:
ecdonaldp160
218639422371602282698
T:
bluegemss192v2
229590623040922312234dilithium3aes
232009323641662374218
T:
rainbow1b
232481423736022410574
T:
redgemss192v2
254748025617842583200
T:
ecdonaldp192
254724525705352600454
T:
rainbow1c
264039626825222711064
T:
rainbow4a
311830131348713157204
T:
ecdonaldp224
355625636336133723434
T:
sphincss128sha256simple
380530638505863885745
T:
donald2048
393602639473343958868dilithium5aes
415904441920124247645
T:
sphincs256
560597656823335752233
T:
sphincss192sha256simple
518141457057225853756
T:
redgemss256v2
625566462700686292152
T:
ecdonaldk163
655365065867706608844
T:
ecdonaldb163
665404167768017001531
T:
sphincss128shake256simple
711271172944147463644
T:
sphincss128sha256robust
731413974520567577387
T:
sphincss256sha256simple
777906677969587826640
T:
rainbow3b
825952882965148316834
T:
qtesla3p
842697284534318483619
T:
ecdonaldp384
860686586289308651403
T:
ecdonaldk233
871712188054918905067
T:
sphincsf128sha256simple
902028790551629079686
T:
ecdonaldb233
959506597434469918972
T:
sphincss128harakasimple
98324931006377810259856
T:
sphincss192shake256simple
116550131174985011899882
T:
sphincss192sha256robust
128835001305402013302441
T:
sphincss256shake256simple
129940321330983513661133
T:
sphincss128shake256robust
142226341435795414579657
T:
sphincss192harakasimple
142324101436410814449396
T:
sphincsf192sha256simple
145773731469754214866083
T:
sphincsf256sha256simple
161226251633066916630099
T:
sphincsf128shake256simple
168875941692463216965722
T:
rainbow1acompres363232
166746491692836717365964
T:
sphincss128harakarobust
168623481694599017821662
T:
rainbow1acyclicc363232
170756781709795617136078
T:
ecdonaldk283
174071441773595518288613
T:
sphincsf128sha256robust
184559821848275418513820
T:
ecdonaldb283
189164101898590419062736
T:
ecdonaldp521
197410221997227420335372
T:
sphincss192shake256robust
198380412004498520255995
T:
sphincss256harakasimple
210207752130738021681390
T:
sphincss256sha256robust
221657062240771822711003
T:
sphincsf128harakasimple
243974142479106225088474
T:
sphincss256shake256robust
258802312623180226690351
T:
sphincsf256shake256simple
264983322653073426587320picnicl1full
261926652657149026738531
T:
sphincsf192shake256simple
294441502947417629542932picnicl1fs
292917482948443829589386
T:
luov863256
292633812959804029905967
T:
sphincsf192sha256robust
318422373230374532982952
T:
sphincsf128shake256robust
344703193474250735177629
T:
sphincsf192harakasimple
354120003551427635760550
T:
ecdonaldk409
351978923563646536045545
T:
sphincss256harakarobust
367398583714389037536584
T:
sphincsf256harakasimple
387863313917362639693747
T:
sphincsf128harakarobust
396280183967851639724470
T:
ecdonaldb409
415928184198671942392553
T:
sphincsf256sha256robust
434465684348472643517126picnicl1ur
442141224473624445489734
T:
mqdss48
500365765043850450984923
T:
sphincsf256shake256robust
519304865203007852128252picnicl3full
517557465231405352796427
T:
sphincsf192shake256robust
617289546236458262748193
T:
sphincsf192harakarobust
652097356581911566616030
T:
sphincsf256harakarobust
697877946994511970019460
T:
pqrsa15
705376007076379470976724
T:
luov4849242
752037947531793476040504
T:
ecdonaldk571
778192817795099378133637picnicl3fs
830335228315052283406338picnicl5full
840491928414286084200298
T:
ecdonaldb571
924978869293341493337982
T:
bluegemss128
939655689419293094456584
T:
redgemss128
102404090103187064104464600
T:
rainbow3ccompres683248
101604136106712320107741816
T:
rainbow3ccyclicc683248
106765812107207122107962684
T:
luov890351
112722556112810662112904016picnicl3ur
135910536136038372136182918picnicl5fs
135415806137466750139608408
T:
mqdss64
147891222148029696148146984picnic3l1
186308402186495998186641680picnicl5ur
189071780189728776190819958
T:
luov8117404
223060234224546310225332048
T:
luov6468330
230518376230842732231850914
T:
rainbow5ccyclicc963664
230798084232280396233287274
T:
rainbow5ccompres963664
242768896244609693249014272
T:
bluegemss192
250693822250988656251353698
T:
redgemss192
330951112331239198331543586picnic3l3
371291762393713190397289140
T:
luov8086399
444085670446988898456138868
T:
bluegemss256
451154086452097902456373402
T:
redgemss256
509550190509854026510239892picnic3l5
791397690791731604792128188
T:
picnic2l1fs
181256234218145870321816792278
T:
picnic2l3fs
322328289432248511243229789080
T:
picnic2l5fs