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; K10 45nm (100f63); 2010 AMD Athlon II Neo K125; 1 x 1700MHz; h3neo, 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
722927248673132ed25519
152590152721153212aimer128f
152719152801153334aimer128s
343001343239344175
T:
ed448goldilocks
360649361402366556aimer192s
361907362243363004aimer192f
440420442269448690nccsign1
458089462336464938T!!!dilithium2
471037472305489765
T:
hector
584381587780592493
T:
pass769
607950610767613608nccsign3
693921697921709614
T:
pass863
720756727029735513nccsign1aes
783435785284787627T!!!dilithium3
880224880730881431aimer256f
886788889674895782aimer256s
909593913311916014nccsign5
968767973976981011nccsign3aes
110729311142811121757T!!!dilithium2aes
121574812165911249122T!!!dilithium5
143045314426091459193
T:
donald2048
144275114517081459312nccsign5aes
151181515145921515794
T:
mqdss48
184076518465461852737T!!!dilithium3aes
1483482?2348189?4475047?haetae5
1121536?2390901?4164445?haetae2
1871303?2701148?6837398?haetae3
1664714?3032092?3761477?
T:
qtesla1
308747831043353120985T!!!dilithium5aes
351433635162273517747
T:
mqdss64
5135096?7547978?9967275?
T:
qtesla3f
9572921?9604433?12122916?
T:
qtesla1p
111517891117594011185563
T:
sphincsf128shake256simple
7128286?11595242?16083637?
T:
qtesla3s
149423161494367214969818
T:
sphincsf128harakasimple
160990121610238816109496
T:
sphincs256
162264711624317716403343
T:
sphincsf192shake256simple
211558502116873721204714
T:
sphincsf128shake256robust
218657592190257621913607
T:
sphincsf192harakasimple
257470592575049025754396
T:
sphincsf128harakarobust
306798923068443730698218
T:
sphincsf192shake256robust
313638103639096338818628
T:
falcon512tree
34659232?37217583?44280004?
T:
falcon512dyn
380404813804693938057737
T:
sphincsf192harakarobust
432543754328719743671774
T:
sphincsf256shake256simple
44538001?55652494?63177708?
T:
qtesla3p
583841735840915258440503
T:
sphincsf256harakasimple
650490566545809165609968
T:
rainbow1aclassic363232
698593307031573070519038
T:
rainbow1acompres363232
771898587745764677630592
T:
rainbow1acyclicc363232
807317958075363580763403
T:
sphincsf256shake256robust
94875626100996481111188305
T:
falcon1024tree
101312660101409383101425758
T:
sphincsf256harakarobust
97475589103118898115786621
T:
falcon1024dyn
224653702224982437225158345mqsignlr2567246
279541163279774323280082020mqsignrr2567246
356338883356762549357224123
T:
sphincss128shake256simple
474650231474697778474791337
T:
sphincss128harakasimple
519419951519676124520040654
T:
sphincss192shake256simple
670984428671951131672668271
T:
rainbow3cclassic683248
673078553673405866673536338
T:
sphincss128shake256robust
686258839686651153687130875
T:
sphincss256shake256simple
700989954701079024701268202
T:
sphincss192harakasimple
723330409725240958729829609
T:
rainbow3ccompres683248
801166722801882921805309376
T:
rainbow3ccyclicc683248
820636789820721835820822333
T:
sphincss128harakarobust
932583056932956938933081820
T:
sphincss256harakasimple
956099027956330324956494661mqsignlr25611272
981670691982041501982446593
T:
sphincss192shake256robust
117043854011708755401171327081mqsignrr25611272
129266898612935672901301511833
T:
sphincss256shake256robust
184505789418464771641848593551
T:
rainbow5cclassic963664
207432514120767048032089977177
T:
rainbow5ccompres963664
243504350824361626702438809378
T:
rainbow5ccyclicc963664
257359052725738879502574164535mqsignlr25614896
307036029130724204653073591390mqsignrr25614896
Cycles to sign 59 bytes
25%50%75%system
825238256182617ed25519
355757356007356113
T:
ed448goldilocks
489971490453491442
T:
rainbow1aclassic363232
498069500010514358
T:
hector
622964623872626123
T:
rainbow1acyclicc363232
724414?786736?1538686?
T:
pass769
113261811460721156462
T:
falcon512tree
669292?1149786?1671710?
T:
qtesla1
143438514447481453213
T:
donald2048
1129828?1604904?2491470?nccsign1
166168816647521666681mqsignlr2567246
1282894?1674403?2955850?T!!!dilithium2
921285?1728804?2654495?
T:
pass863
188690519002981911547
T:
falcon512dyn
1151566?1923111?2775844?
T:
qtesla3f
1468581?2022965?2165686?nccsign1aes
1433495?2059724?3462521?nccsign3
228975323084022322065
T:
falcon1024tree
2048940?2604804?3546203?T!!!dilithium2aes
1504619?2668151?4278044?
T:
qtesla1p
271651927172332718907mqsignrr2567246
1849688?2722293?3463728?nccsign3aes
1727195?2779308?5148931?
T:
qtesla3s
2204132?3015791?5468608?T!!!dilithium5
3055849?3182770?4533383?nccsign5aes
1764344?3217837?5441619?T!!!dilithium3
2414688?3518089?4945898?nccsign5
386274138747703901702
T:
falcon1024dyn
418792841899144196942
T:
rainbow3cclassic683248
477152047788654805459
T:
rainbow3ccyclicc683248
3237764?4976562?7610397?T!!!dilithium3aes
499902650003865004201mqsignlr25611272
2922092?5644250?12082153?haetae2
4079825?6089133?7930157?T!!!dilithium5aes
4515845?6570841?16674927?haetae3
665991966685426678247aimer128f
786700778710377876139mqsignrr25611272
900137490071169055222
T:
rainbow5cclassic963664
102064471020855910214854
T:
rainbow5ccyclicc963664
109084761091764010925119mqsignlr25614896
8646121?12783909?19949324?
T:
qtesla3p
5556656?12985446?17738746?haetae5
167850421679366516810204mqsignrr25614896
168244641682856216832779aimer192f
352948503531482835446510aimer256f
458263124598375946103698
T:
rainbow1acompres363232
525169065262819752814634aimer128s
884482928856769488706947
T:
mqdss48
130955802131130200131197282aimer192s
271389478271740571272938617aimer256s
284326336284633788287277929
T:
mqdss64
306007244306329162306734486
T:
sphincs256
353086552353843903354476112
T:
sphincsf128shake256simple
421103077421479096426593982
T:
rainbow3ccompres683248
444077404444413077450866137
T:
sphincsf192shake256simple
551797808552089289552318660
T:
sphincsf128harakasimple
635645416636500944637985979
T:
sphincsf128shake256robust
641929155642330898642656005
T:
sphincsf192harakasimple
819410532819757208820436905
T:
sphincsf192shake256robust
914602923915357928915870868
T:
sphincsf128harakarobust
990015429991624283994063423
T:
sphincsf256shake256simple
111352768411139827861114541964
T:
sphincsf192harakarobust
115225950011536816541157475623
T:
rainbow5ccompres963664
158698482615874422181587890426
T:
sphincsf256harakasimple
178427326317850444381785902984
T:
sphincsf256shake256robust
270412817527064613772710452295
T:
sphincsf256harakarobust
530716984353097385695313016793
T:
sphincss128shake256simple
820190508982064133288216653320
T:
sphincss256shake256simple
885780895388583549128862802571
T:
sphincss128harakasimple
936922436493705697209373829794
T:
sphincss128shake256robust
110121002151101598122211031566696
T:
sphincss192shake256simple
141232688721412633834414128992772
T:
sphincss256harakasimple
144891969581450029764614501982707
T:
sphincss128harakarobust
147146054911472274086914841845705
T:
sphincss256shake256robust
189980699651900330153119014390102
T:
sphincss192shake256robust
198033335281980460422819806140437
T:
sphincss192harakasimple
Cycles to verify 59 bytes
25%50%75%system
109069110588111334
T:
rainbow1aclassic363232
167151168164169237
T:
falcon512tree
202339203716204857
T:
falcon512dyn
235874236208236746
T:
qtesla1
266076267341268513ed25519
329010331600332491haetae2
347672349779350318
T:
falcon1024tree
419438421194422010
T:
falcon1024dyn
527729529713530948
T:
qtesla3s
532014534956537860
T:
rainbow3cclassic683248
537354541574542376
T:
qtesla3f
543755551193551769T!!!dilithium2
579084580338581617haetae3
687538692514729910nccsign1
714793721420724134haetae5
830906831983878545T!!!dilithium3
879304889924896999nccsign3
955641959753961626
T:
pass769
948429971372985082nccsign1aes
101149310138961015641
T:
ed448goldilocks
109904711037171111750T!!!dilithium2aes
111122711162391122686
T:
pass863
114353411522891157400
T:
rainbow5cclassic963664
119296111977101206476nccsign3aes
129621613011021305689
T:
qtesla1p
135708214097381411554T!!!dilithium5
145217214690431491725nccsign5
168366816981311706081
T:
donald2048
178105917887171823106T!!!dilithium3aes
192523319323711940186nccsign5aes
210094021211662143382
T:
hector
254839825502812556773mqsignlr2567246
256900525765712577335mqsignrr2567246
308553431043233125467T!!!dilithium5aes
377672438079353841987
T:
sphincs256
569516957124365730072
T:
qtesla3p
583665359550826101426
T:
sphincss128shake256simple
620059662033156208564aimer128f
782615678487027885197mqsignlr25611272
786239078795627896604mqsignrr25611272
854769187326658883313
T:
sphincss192shake256simple
943560895944819785295
T:
sphincss128harakasimple
110366291132729211505989
T:
sphincss256shake256simple
112068671135424411778949
T:
sphincss128shake256robust
136453381388642414096721
T:
sphincss192harakasimple
142134071444443914612885
T:
sphincsf128shake256simple
156938301569837615781180aimer192f
162566681625992216268140mqsignrr25614896
162604471626340516318933mqsignlr25614896
163287381664994416899247
T:
sphincss128harakarobust
164157861670769916917663
T:
sphincss192shake256robust
194122951955845119797458
T:
sphincss256harakasimple
215124712178367121991617
T:
sphincsf128harakasimple
216168512204340922259850
T:
sphincss256shake256robust
223465582248428122948470
T:
sphincsf192shake256simple
228773242328313923521192
T:
sphincsf256shake256simple
254586242577651226083405
T:
rainbow1acyclicc363232
260198902609148026672625
T:
rainbow1acompres363232
277379792814667828489738
T:
sphincsf128shake256robust
330063913307179433099300aimer256f
331265603350911333756018
T:
sphincsf192harakasimple
359334653626967036436268
T:
sphincsf256harakasimple
374383793822884238801885
T:
sphincsf128harakarobust
434066004389206144300631
T:
sphincsf192shake256robust
438336424447381244830240
T:
sphincsf256shake256robust
522087625226100252345500aimer128s
601738326070497661085040
T:
sphincsf192harakarobust
641829916472285165159500
T:
sphincsf256harakarobust
641351626538563865841375
T:
mqdss48
129778644129869012130056006aimer192s
156349319156978918158115702
T:
rainbow3ccyclicc683248
157698720158921162162950050
T:
rainbow3ccompres683248
209457486211679025213845362
T:
mqdss64
269230620269577201269883034aimer256s
351111058352875392354089247
T:
rainbow5ccompres963664
352108170353372465355604063
T:
rainbow5ccyclicc963664