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

[Page version: 20240912 11:46:05]

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
724387300273589ed25519
152618152736153574aimer128f
152731152907153347aimer128s
343001343239344175
T:
ed448goldilocks
362026362360362952aimer192f
361529366575401864aimer192s
438635441523445585nccsign1
465235467694472999T!!!dilithium2
573776576467580256nccsign3
584381587780592493
T:
pass769
693921697921709614
T:
pass863
720494725593737157nccsign1aes
784508785686791381T!!!dilithium3
880658881359883833aimer256f
883144883614886023aimer256s
910118914575918999nccsign5
964020970444980499nccsign3aes
102486610287361033963T!!!dilithium2aes
121572112205761286290T!!!dilithium5
143045314426091459193
T:
donald2048
144820314624051473491nccsign5aes
151181515145921515794
T:
mqdss48
920206?1743546?4453737?haetae2
183727518432021845904T!!!dilithium3aes
1727562?2367545?3893687?haetae5
1664714?3032092?3761477?
T:
qtesla1
1838083?3044439?5869900?haetae3
308417730905523101422T!!!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
160857881609832516102323
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
654228306574137666347291
T:
rainbow1aclassic363232
720170897283577473262636
T:
rainbow1acompres363232
736088157386252474127313
T:
rainbow1acyclicc363232
807317958075363580763403
T:
sphincsf256shake256robust
94875626100996481111188305
T:
falcon1024tree
101312660101409383101425758
T:
sphincsf256harakarobust
97475589103118898115786621
T:
falcon1024dyn
224588774224986516225725667mqsignlr2567246
279801867279933288280036598mqsignrr2567246
356338883356762549357224123
T:
sphincss128shake256simple
474650231474697778474791337
T:
sphincss128harakasimple
519419951519676124520040654
T:
sphincss192shake256simple
673078553673405866673536338
T:
sphincss128shake256robust
673171843674182305676239957
T:
rainbow3cclassic683248
686258839686651153687130875
T:
sphincss256shake256simple
700989954701079024701268202
T:
sphincss192harakasimple
722530269724020797730326902
T:
rainbow3ccompres683248
751713791751983743752593544
T:
rainbow3ccyclicc683248
820636789820721835820822333
T:
sphincss128harakarobust
932583056932956938933081820
T:
sphincss256harakasimple
955454625955593243955735590mqsignlr25611272
981670691982041501982446593
T:
sphincss192shake256robust
116894388511701312921170852020mqsignrr25611272
129266898612935672901301511833
T:
sphincss256shake256robust
184617705618473547341852476423
T:
rainbow5cclassic963664
208131646420832850142085216560
T:
rainbow5ccompres963664
242886257224295608162430744858
T:
rainbow5ccyclicc963664
257097564525740299152574313781mqsignlr25614896
307183588830729590543073507006mqsignrr25614896
Cycles to sign 59 bytes
25%50%75%system
826028292183107ed25519
355757356007356113
T:
ed448goldilocks
490330491618493623
T:
rainbow1aclassic363232
587393589498591982
T:
rainbow1acyclicc363232
724414?786736?1538686?
T:
pass769
113261811460721156462
T:
falcon512tree
669292?1149786?1671710?
T:
qtesla1
143438514447481453213
T:
donald2048
1488087?1532069?2214551?nccsign1aes
166087916617621669011mqsignlr2567246
1162266?1701494?2191497?nccsign1
921285?1728804?2654495?
T:
pass863
188690519002981911547
T:
falcon512dyn
1151566?1923111?2775844?
T:
qtesla3f
1429979?2055577?2838506?nccsign3
1315526?2099328?3078881?T!!!dilithium2
228975323084022322065
T:
falcon1024tree
1750492?2439069?5369133?T!!!dilithium3
1842224?2559426?3316017?nccsign3aes
1541559?2616817?3665408?T!!!dilithium2aes
1504619?2668151?4278044?
T:
qtesla1p
271316527181162720535mqsignrr2567246
1727195?2779308?5148931?
T:
qtesla3s
2128769?3493245?5256757?T!!!dilithium5
2394465?3650777?4913078?nccsign5
386274138747703901702
T:
falcon1024dyn
418949541905124194490
T:
rainbow3cclassic683248
3080256?4290345?5498729?nccsign5aes
439626243986874400776
T:
rainbow3ccyclicc683248
500330850065425011083mqsignlr25611272
3270356?5270109?6802043?T!!!dilithium3aes
4550224?6511837?10702472?haetae3
5063188?6654796?9515099?T!!!dilithium5aes
666226666826696707941aimer128f
4704476?7792573?15418413?haetae2
786643578751927885069mqsignrr25611272
900082790025909008357
T:
rainbow5cclassic963664
101997341020399810207583
T:
rainbow5ccyclicc963664
8007323?10578020?22798942?haetae5
109030191091478411104119mqsignlr25614896
8646121?12783909?19949324?
T:
qtesla3p
167921881679778616804203mqsignrr25614896
168583201686711316894291aimer192f
353000813542471635582872aimer256f
460662774740167947857625
T:
rainbow1acompres363232
524936995256824552652791aimer128s
884482928856769488706947
T:
mqdss48
131286975131564588132114407aimer192s
269288677270536671270691363aimer256s
284326336284633788287277929
T:
mqdss64
305933292306014656306108802
T:
sphincs256
353086552353843903354476112
T:
sphincsf128shake256simple
419106054420555160427043235
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
116102066011625755121169355184
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
108799110014111241
T:
rainbow1aclassic363232
167151168164169237
T:
falcon512tree
202339203716204857
T:
falcon512dyn
235874236208236746
T:
qtesla1
267547268665269776ed25519
347672349779350318
T:
falcon1024tree
359400361015361516haetae2
419438421194422010
T:
falcon1024dyn
527729529713530948
T:
qtesla3s
533810535153537754
T:
rainbow3cclassic683248
537354541574542376
T:
qtesla3f
541402542285543522T!!!dilithium2
579281580040580843haetae3
695308699290714963nccsign1
713568720435723262haetae5
830203833798843327T!!!dilithium3
880048882739886216nccsign3
955641959753961626
T:
pass769
958695968693978546nccsign1aes
101149310138961015641
T:
ed448goldilocks
104073910461611053895T!!!dilithium2aes
111122711162391122686
T:
pass863
114486811494801158389
T:
rainbow5cclassic963664
118778111962031203675nccsign3aes
129621613011021305689
T:
qtesla1p
137823914236281446651T!!!dilithium5
144488114491921451603nccsign5
168366816981311706081
T:
donald2048
178190217871001830739T!!!dilithium3aes
193273719408341951266nccsign5aes
255533425578432561189mqsignlr2567246
256623625706532573787mqsignrr2567246
312017631336943146861T!!!dilithium5aes
374229637847783846460
T:
sphincs256
569516957124365730072
T:
qtesla3p
583665359550826101426
T:
sphincss128shake256simple
620744462221276233675aimer128f
784142378608897883365mqsignlr25611272
786770778827697902279mqsignrr25611272
854769187326658883313
T:
sphincss192shake256simple
943560895944819785295
T:
sphincss128harakasimple
110366291132729211505989
T:
sphincss256shake256simple
112068671135424411778949
T:
sphincss128shake256robust
136453381388642414096721
T:
sphincss192harakasimple
142134071444443914612885
T:
sphincsf128shake256simple
156942921571118315801244aimer192f
162488011625290716262300mqsignlr25614896
162567661627955716290061mqsignrr25614896
163287381664994416899247
T:
sphincss128harakarobust
164157861670769916917663
T:
sphincss192shake256robust
194122951955845119797458
T:
sphincss256harakasimple
215124712178367121991617
T:
sphincsf128harakasimple
216168512204340922259850
T:
sphincss256shake256robust
223465582248428122948470
T:
sphincsf192shake256simple
228773242328313923521192
T:
sphincsf256shake256simple
254062032546717525539595
T:
rainbow1acyclicc363232
257750302705804127131132
T:
rainbow1acompres363232
277379792814667828489738
T:
sphincsf128shake256robust
329387093308000133165465aimer256f
331265603350911333756018
T:
sphincsf192harakasimple
359334653626967036436268
T:
sphincsf256harakasimple
374383793822884238801885
T:
sphincsf128harakarobust
434066004389206144300631
T:
sphincsf192shake256robust
438336424447381244830240
T:
sphincsf256shake256robust
519940305200781452031674aimer128s
601738326070497661085040
T:
sphincsf192harakarobust
641829916472285165159500
T:
sphincsf256harakarobust
641351626538563865841375
T:
mqdss48
129698039129872554130636191aimer192s
154872723155331753156330784
T:
rainbow3ccyclicc683248
156230185156995161163348716
T:
rainbow3ccompres683248
209457486211679025213845362
T:
mqdss64
266844402267278462267466254aimer256s
346329419347372902349162357
T:
rainbow5ccyclicc963664
358684992360002584361502713
T:
rainbow5ccompres963664