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; Bonnell (30661); 2011 Intel Atom D2500; 2 x 1866MHz; h8atom, supercop-20240625

[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, rainbowbinary16242020

Cycles to generate a key pair
25%50%75%system
185641862018711picnicl1full
208252086021035picnic3l1
263482639026558picnicl3full
268382687327027picnic3l3
345173462234825picnicl5full
351613519635322picnic3l5
357843579835924picnicl1fs
358263589636008
T:
picnic2l1fs
358823591735994picnicl1ur
631056355364043
T:
picnic2l3fs
678166787268159picnicl3fs
686986902769090picnicl3ur
871928759887752
T:
picnic2l5fs
913579146292449picnicl5ur
930099329693632picnicl5fs
346276346563346969ed25519
119441011949211230355T!!!dilithium2
131043513116461329608
T:
ed448goldilocks
197866219806082014397T!!!dilithium3
208351520936022112467
T:
pass769
256484225846452606716T!!!dilithium2aes
258720726030692621325
T:
pass863
304354430518393087315
T:
mqdss48
315751831625933178994T!!!dilithium5
383842238481103867983T!!!dilithium3aes
3770011?4775400?5831483?
T:
qtesla1
641029964259866446881T!!!dilithium5aes
2821840?6588533?13025978?haetae2
704393970529067098511
T:
mqdss64
7191835?7235165?10366615?
T:
qtesla3f
795130780329908119888
T:
donald2048
7055559?14532658?21837039?haetae5
6745137?14986783?27392099?haetae3
12101502?16906421?23351741?
T:
qtesla3s
194947481950568919559848
T:
sphincsf128shake256simple
17123323?21279342?23429000?
T:
qtesla1p
217873952179553621905359
T:
sphincs256
218505632188157321910637
T:
sphincsf128harakasimple
286171062862932128679700
T:
sphincsf192shake256simple
323737333241669932449151
T:
sphincsf192harakasimple
362558003630693536372392
T:
sphincsf128shake256robust
417781004186662941941760
T:
sphincsf128harakarobust
461648604620569146302144
T:
luov4849242
511773155155678551641604
T:
rainbowbinary256181212
536653185368200653745762
T:
sphincsf192shake256robust
601358456019671060253802
T:
sphincsf192harakarobust
622125846226777262343939
T:
luov863256
756690277570288675762554
T:
sphincsf256shake256simple
800787618403580594199056
T:
falcon512dyn
796165728454828991504987
T:
falcon512tree
858140298587639285976688
T:
sphincsf256harakasimple
78515423?96674431?115371977?
T:
qtesla3p
116695859116935140117242426
T:
rainbow1aclassic363232
125618563125818567126092491
T:
rainbow1acompres363232
140988498142056754142202536
T:
sphincsf256shake256robust
146793927147028812147324240
T:
rainbow1acyclicc363232
152180462152343415152532751
T:
luov6468330
163729279163813286163905518
T:
sphincsf256harakarobust
239095339239504174239816493
T:
luov890351
235195667243910583265432916
T:
falcon1024dyn
240852990249112017262927532
T:
falcon1024tree
279765724280173355280515410
T:
luov8086399
304372453304887702305737789mqsignlr2567246
414228941414829856415852787mqsignrr2567246
427671097428009687428501920
T:
luov8117404
493177811493398955495426141
T:
redgemss128v2
624726718624878121625219945
T:
sphincss128shake256simple
665037800666260560672150717
T:
bluegemss128v2
694714846695014544695451568
T:
sphincss128harakasimple
767993877771827175774173288
T:
rainbow3cclassic683248
770963375772533881779295251
T:
gemss128v2
782443641783429262793219567
T:
rainbow3ccompres683248
916346872916565755916834121
T:
sphincss192shake256simple
102557627210260961971026790233
T:
sphincss192harakasimple
104256137310452547071047824757
T:
rainbow3ccyclicc683248
116122055711615324421161960646
T:
sphincss128shake256robust
119179118111940008221200897341mqsignlr25611272
121107906512115054491212482439
T:
sphincss256shake256simple
133475997213352533741336574183
T:
sphincss128harakarobust
136858346113701920051372623035
T:
sphincss256harakasimple
161011150316120916281621575627mqsignrr25611272
171919478517210905531723708952
T:
sphincss192shake256robust
210476137921156188552133488399
T:
rainbow5cclassic963664
221310883522159274832223435942
T:
rainbow5ccyclicc963664
223192899322360053802263621850
T:
rainbow5ccompres963664
225494523122643048262291569609
T:
sphincss256shake256robust
248906282124981818192509227623
T:
redgemss192v2
261935627126212595292626138347
T:
sphincss256harakarobust
310711989031153205093154780272mqsignlr25614896
318650295631943634733240583563
T:
redgemss128
338530980233944047203421558665
T:
bluegemss192v2
410527777841107716864155516722mqsignrr25614896
489476054249043382364957447922
T:
bluegemss128
700726201070409375757074207287
T:
redgemss256v2
135593969491360977630613667638369
T:
redgemss192
193759431321942511340719469612799
T:
bluegemss192
317347696963247340391433232719310
T:
pqrsa15
357264735033583427519035962386845
T:
redgemss256
487848913234888280852748992233612
T:
bluegemss256
Cycles to sign 59 bytes
25%50%75%system
796608102581816
T:
rainbowbinary256181212
371175371322371560ed25519
686469688016740992
T:
rainbow1aclassic363232
105408810556491079484
T:
rainbow1acyclicc363232
133791713385821342271
T:
ed448goldilocks
189897419032091961092mqsignlr2567246
192423719419751973370
T:
falcon512tree
2700327?2730448?5475127?
T:
pass769
320737232150653265031mqsignrr2567246
326195832773233331090
T:
rainbow3cclassic683248
3360448?3391059?6723521?
T:
pass863
1554427?3583202?5843138?
T:
qtesla1
372045137474363789877
T:
falcon512dyn
392434739626934004938
T:
falcon1024tree
487127949296524951009
T:
rainbow3ccyclicc683248
3974747?5035058?8508472?T!!!dilithium2
532706353757205385289mqsignlr25611272
3810464?5949608?10931690?
T:
qtesla3f
5490492?7163387?11741968?T!!!dilithium2aes
739578774014927418705
T:
rainbow5ccyclicc963664
739892374051817426160
T:
rainbow5cclassic963664
5417125?7743750?12628819?T!!!dilithium3
774795777781627805042
T:
falcon1024dyn
795536780392628077811
T:
donald2048
838963383991118410948mqsignrr25611272
6741469?9412620?15380967?
T:
qtesla1p
6086752?9606107?20797371?
T:
qtesla3s
5952142?10789415?14103509?T!!!dilithium5
112361131127448011295214mqsignlr25614896
7456302?14105084?27448078?haetae2
10235988?14246722?25266528?T!!!dilithium5aes
11492691?14855869?22571353?T!!!dilithium3aes
173124351733650817377829mqsignrr25614896
18322899?28829094?72197300?
T:
qtesla3p
16567166?31699535?46958898?haetae3
14102263?32939627?58148993?haetae5
388663803889887438965346
T:
luov863256
414952374151973741608483picnicl1full
491299974916032149216573picnicl1fs
679156176796652168037550picnicl1ur
804960738056638880644452picnicl3full
988426959901002399167789
T:
rainbow1acompres363232
114134118114304939114598484picnicl3fs
122059742122609431123109812
T:
luov4849242
127462930127591079127771042picnicl5full
133789271133874979133947688
T:
luov890351
126577864?156659293?205376703?
T:
redgemss128
168496510168648200168818426picnicl3ur
143068814?171797017?226458197?
T:
redgemss128v2
180861758181107213181962067
T:
mqdss48
196287196196607460197137220picnicl5fs
207858217208023088208152532picnic3l1
232451212232718031232853971
T:
luov8117404
272643644272839028272984215picnicl5ur
272209273?304948490?380622522?
T:
redgemss192
412138762412331227412938988
T:
sphincs256
358223614?423142790?548723063?
T:
redgemss256
464903950464995524465173968picnic3l3
506479554507790052524908076
T:
luov6468330
445803302?550237492?641664359?
T:
redgemss192v2
558247858558494846558836894
T:
mqdss64
616919464617307411618286382
T:
sphincsf128shake256simple
620240390621073103621845021
T:
rainbow3ccompres683248
745790486745925383746262041picnic3l5
781808258782322394783376531
T:
sphincsf192shake256simple
815655484816547879817301303
T:
sphincsf128harakasimple
948469459949205299951215958
T:
sphincsf192harakasimple
9900110439926860371001892339
T:
luov8086399
103707130110380337311040801230
T:
pqrsa15
109440430410953152281096537176
T:
sphincsf128shake256robust
1011110590?1221036509?1470312858?
T:
redgemss256v2
142168359914227021481426950497
T:
picnic2l1fs
143529680014363933641437878428
T:
sphincsf192shake256robust
144335510214445839451447608085
T:
sphincsf128harakarobust
153800105915402068641545882751
T:
rainbow5ccompres963664
173562127917363532761744783530
T:
sphincsf256shake256simple
177005957117724463401778456834
T:
sphincsf192harakarobust
234384469923458117762349502561
T:
sphincsf256harakasimple
313556868131510096873158521436
T:
sphincsf256shake256robust
379947355938087159183853416308
T:
picnic2l3fs
425666670842612351954266354806
T:
sphincsf256harakarobust
6049120371?7323707937?9697893184?
T:
bluegemss128
742833680474810725997496358254
T:
picnic2l5fs
6360379221?7634632152?8912824802?
T:
bluegemss128v2
932859709693375503559381032010
T:
sphincss128shake256simple
131918196061320741977813251031108
T:
sphincss128harakasimple
144974736761454876035214557653614
T:
sphincss256shake256simple
162791952611632134896016342271890
T:
sphincss128shake256robust
15351436121?18572719263?21654913000?
T:
bluegemss192
195495810231959422150019605675656
T:
sphincss192shake256simple
16336008017?20324956176?28433567050?
T:
bluegemss192v2
209083715402091403253120977282333
T:
sphincss256harakasimple
227374756562274399915222795341562
T:
sphincss128harakarobust
19612942909?23586264128?27629952336?
T:
bluegemss256
259345881552595780207326077390003
T:
sphincss256shake256robust
295455994332959350056629644956418
T:
sphincss192harakasimple
334261145963348786665033526654833
T:
sphincss192shake256robust
374299452173746558734137563156365
T:
sphincss256harakarobust
40838282828?49074283132?57291390723?
T:
gemss128v2
Cycles to verify 59 bytes
25%50%75%system
784357920579996
T:
rainbowbinary256181212
175868176813179025
T:
rainbow1aclassic363232
346605350469351162
T:
falcon512tree
456071458794460047
T:
falcon512dyn
697725698173707021
T:
qtesla1
730618733901734951
T:
falcon1024tree
724122743561762370
T:
gemss128v2
743407758940781557
T:
bluegemss128v2
777714801129814002
T:
redgemss128v2
881538890589898107
T:
rainbow3cclassic683248
937090937986946001haetae2
967022969780971663
T:
falcon1024dyn
127227112799851288217ed25519
142800014287071431794T!!!dilithium2
161943616203461636201
T:
qtesla3f
164598716470371663928haetae3
165368016546321667183
T:
qtesla3s
199738719984512016567haetae5
198644620334022194584
T:
rainbow5cclassic963664
212247721760902246776
T:
bluegemss192v2
220962722118392227225T!!!dilithium3
215715522302702296315
T:
redgemss192v2
267150826863272694468T!!!dilithium2aes
278059627810092828280mqsignrr2567246
281855728194252878995mqsignlr2567246
326186032749573287914
T:
pass769
352686635314933543610T!!!dilithium5
396533239760214000850
T:
pass863
404078540531964074182T!!!dilithium3aes
404545440695974086537
T:
qtesla1p
401581641289224237051
T:
redgemss256v2
481523748341934859673
T:
ed448goldilocks
516222052216155275165
T:
sphincs256
674993967604396772647T!!!dilithium5aes
684376068536306862744mqsignrr25611272
684283668558356865719mqsignlr25611272
934616993912219440599
T:
donald2048
102498271039250810604594
T:
sphincss128shake256simple
134752941369377113922209
T:
sphincss128harakasimple
137803331380027613841877mqsignlr25614896
137912251381433913874812mqsignrr25614896
149680791532757115631266
T:
sphincss192shake256simple
169820491701338817040359
T:
qtesla3p
195475422004867920424285
T:
sphincss128shake256robust
198548772006839120332977
T:
sphincss192harakasimple
197830292007176520353102
T:
sphincss256shake256simple
247494872518605625599497
T:
sphincsf128shake256simple
255695862624092126691749
T:
sphincss128harakarobust
279746042831497928938665
T:
sphincss256harakasimple
290652322960365130117521
T:
sphincss192shake256robust
306566613069584030722216picnicl1full
308024923114569531539452
T:
sphincsf128harakasimple
350344193504550735102886
T:
luov863256
378866883792995538010826picnicl1fs
377218873849719339099585
T:
sphincss256shake256robust
393716823989990940195946
T:
sphincsf192shake256simple
396743064046185541000449
T:
sphincsf256shake256simple
473001974809770048710221
T:
sphincsf128shake256robust
484381804910516849341915
T:
sphincsf192harakasimple
522617345232225652399403picnicl1ur
518616635245230952998106
T:
sphincsf256harakasimple
536819855438373554868044
T:
sphincss256harakarobust
600082986005764860156964picnicl3full
596547846051203961254410
T:
sphincsf128harakarobust
763068607685930777406455
T:
sphincsf192shake256robust
771731597738539977619612
T:
rainbow1acyclicc363232
772954357743290177625723
T:
rainbow1acompres363232
775253087843101778868398
T:
sphincsf256shake256robust
848400918507767885451814
T:
luov4849242
897804048997782590180783picnicl3fs
934710919364742193872821
T:
bluegemss128
958619629597881396044837picnicl5full
968469749695407497115088
T:
redgemss128
966597739730431298350147
T:
sphincsf192harakarobust
989767389907960399194669
T:
pqrsa15
100055830101120047102300240
T:
sphincsf256harakarobust
123468877123531198123610543
T:
luov890351
131840961132121486132231904picnicl3ur
132216308133557438134996302
T:
mqdss48
156909487157378949157573549picnicl5fs
176870498176991633177165037picnic3l1
214837070214953767215162752
T:
luov8117404
223001751223345269223596499picnicl5ur
254733549255202318255714277
T:
bluegemss192
257798177258341944259396011
T:
redgemss192
265129375265967422279034483
T:
luov6468330
391419637391649762392106659picnic3l3
411797834414800148417437244
T:
mqdss64
440847715441949109444921141
T:
bluegemss256
443912245445267592446497436
T:
redgemss256
466146261466894820467790666
T:
rainbow3ccyclicc683248
468349679469132041470466605
T:
rainbow3ccompres683248
490325402492598722498216880
T:
luov8086399
596346198596639393597032212picnic3l5
902126463902370217903077280
T:
picnic2l1fs
105702459110586358371060213441
T:
rainbow5ccyclicc963664
105724633010594423281061886378
T:
rainbow5ccompres963664
204366150820455277572054873233
T:
picnic2l3fs
361492646936240104883633929355
T:
picnic2l5fs