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; Core 2 65nm (6fb); 2007 Intel Core 2 Quad Q6600; 4 x 2404MHz; margaux, 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

Cycles to generate a key pair
25%50%75%system
682269127159picnicl1full
763277107986picnic3l1
945995169662picnic3l3
959296499738picnicl3full
123941247712665picnicl5full
124101252412731picnic3l5
166661677016972picnicl1fs
166781679516938picnicl1ur
170301722517371
T:
picnic2l1fs
314963165431874
T:
picnic2l3fs
316413169331881picnicl3fs
317283182331963picnicl3ur
418784202542285
T:
picnic2l5fs
423704252342736picnicl5fs
424624283243574picnicl5ur
103109103280103862ed25519
329400330098337311
T:
ed448goldilocks
420488420792421113T!!!dilithium2
565179567227568455
T:
pass769
673450674801678064
T:
pass863
762328763279764342T!!!dilithium3
941000949314955236T!!!dilithium2aes
118153511825241183944T!!!dilithium5
139792014001901402526
T:
mqdss48
796981?1485260?3186463?haetae2
169513417006511727396T!!!dilithium3aes
178705118063271835088
T:
donald2048
288767929032452917231T!!!dilithium5aes
2031168?3045348?5598182?haetae5
2405852?3155803?3924443?
T:
qtesla1
323959132423583244078
T:
mqdss64
1900485?3552434?6953763?haetae3
3950062?5754173?7572277?
T:
qtesla3f
7187791?9465093?14042850?
T:
qtesla3s
7957273?10332196?10376007?
T:
qtesla1p
110854891108621011087554
T:
sphincsf128shake256simple
124073061241066312411721
T:
sphincsf128harakasimple
152886601528997215291749
T:
sphincs256
162635121630386616314569
T:
sphincsf192shake256simple
182284321825285318258870
T:
sphincsf192harakasimple
210949692109563321097385
T:
sphincsf128shake256robust
231817832322013123306548
T:
sphincsf128harakarobust
250183772506094225098211
T:
luov4849242
250578592510939125146101
T:
rainbowbinary256181212
310100413101165531012714
T:
sphincsf192shake256robust
325766713264527732688726
T:
luov863256
334999713358257233666221
T:
sphincsf192harakarobust
363025483860239142007105
T:
falcon512dyn
361664633901588943987653
T:
falcon512tree
428599554291239242992853
T:
sphincsf256shake256simple
440011924417596644301719
T:
rainbow1aclassic363232
451464064515859745238141
T:
rainbow1acompres363232
456102324596669046257272
T:
rainbow1acyclicc363232
486959094873569848841440
T:
sphincsf256harakasimple
42663111?49701290?60328829?
T:
qtesla3p
792448777935317879511205
T:
luov6468330
813235418133360881440252
T:
sphincsf256shake256robust
907007149070481890737832
T:
sphincsf256harakarobust
110100416116816321128093544
T:
falcon1024dyn
110790997121710462132621383
T:
falcon1024tree
121874062122023270122427829
T:
rainbowbinary16242020
122905441123084004123233316
T:
luov890351
148384696148609013148760187
T:
luov8086399
175967861176124278176406924mqsignlr2567246
218726164218807326218855941
T:
redgemss128v2
222214295222390563222630189
T:
luov8117404
237324491237472489237709292mqsignrr2567246
269240546270010441272082920
T:
rainbow3cclassic683248
282583583283550922284980721
T:
rainbow3ccompres683248
283795184286105458288312122
T:
rainbow3ccyclicc683248
301697982301898696301978236
T:
bluegemss128v2
350477319350561189350796623
T:
gemss128v2
354810927354821808354824025
T:
sphincss128shake256simple
394071385394105716394266208
T:
sphincss128harakasimple
522958104524561750524953151
T:
sphincss192shake256simple
583076315583080657583909771
T:
sphincss192harakasimple
659730402660351455660866247mqsignlr25611272
673120907673124086673238257
T:
sphincss128shake256robust
685749134685924671685927109
T:
sphincss256shake256simple
713467120714998109720682168
T:
rainbow5cclassic963664
737279421737362885739434254
T:
sphincss128harakarobust
750329015750965693764346698
T:
rainbow5ccompres963664
773589179775083709775216887
T:
sphincss256harakasimple
786146868790136803799627423
T:
rainbow5ccyclicc963664
900804330901321029902133082mqsignrr25611272
987872377987877067987880774
T:
sphincss192shake256robust
108801964510880362161088124533
T:
sphincss192harakarobust
110582674711060124191106576239
T:
redgemss192v2
129864429713005976151300756126
T:
sphincss256shake256robust
141620886814341504791437839130
T:
redgemss128
145226917114522809011452308614
T:
sphincss256harakarobust
171437406017155354531715795490mqsignlr25614896
200867264520094386352010203895
T:
bluegemss192v2
205732848920649131142076235309
T:
bluegemss128
227411323622748598792277990869mqsignrr25614896
283795548028428641322846979975
T:
gemss128
500186833950241343395027123784
T:
redgemss256v2
602044184060442711886073639435
T:
bluegemss256v2
606207856760798370976167397154
T:
redgemss192
822385819082629186578292031585
T:
bluegemss192
806668840383051215898489651180
T:
pqrsa15
160116921461602843473216043618287
T:
redgemss256
211830409722120302946521286147140
T:
bluegemss256
Cycles to sign 59 bytes
25%50%75%system
368653706837564
T:
rainbowbinary256181212
796698131090930
T:
rainbowbinary16242020
113364113721113932ed25519
269246269902271810
T:
rainbow1aclassic363232
292665293883299286
T:
rainbow1acyclicc363232
341047341509342212
T:
ed448goldilocks
655800?688984?1941716?
T:
pass769
788092?819179?2336005?
T:
pass863
102598010325401038441
T:
falcon512tree
108554110862881094023
T:
rainbow3cclassic683248
112467611341351148323mqsignlr2567246
114627511508771160309
T:
rainbow3ccyclicc683248
728565?1189043?2652189?
T:
qtesla1
1093369?1690317?2419135?T!!!dilithium2
168505516952411702861
T:
falcon512dyn
179086318057631823932
T:
donald2048
1144808?1934992?3587280?
T:
qtesla3f
194607819545251971416mqsignrr2567246
206408620802042088042
T:
falcon1024tree
1687261?2128301?2567269?T!!!dilithium2aes
1592937?2190380?3597534?T!!!dilithium3
227680722805932290525
T:
rainbow5cclassic963664
253099525363642553825
T:
rainbow5ccyclicc963664
1849214?2553618?3844181?T!!!dilithium5
2102001?2947868?4939498?
T:
qtesla1p
305445430778753117938mqsignlr25611272
344176634521903464335
T:
falcon1024dyn
2757625?3690020?5491508?T!!!dilithium3aes
1517269?4003845?7712164?haetae2
486005548632304946073mqsignrr25611272
2240807?5064750?8633236?
T:
qtesla3s
4413968?5185561?7456320?T!!!dilithium5aes
4207206?6087456?11648436?haetae3
642358064328056450902mqsignlr25614896
101970551023041010238885mqsignrr25614896
8618235?11360957?16453859?
T:
qtesla3p
113747451141296411426301
T:
luov863256
5314744?12036239?16651519?haetae5
182499151829285818298736picnicl1full
227700132277273922781714picnicl1fs
306797893068624630690303picnicl1ur
347956293480388734818046picnicl3full
357399073620657636221023
T:
rainbow1acompres363232
396439183965591239668728
T:
luov890351
533967505341920453427843picnicl3fs
543289155438513354418919
T:
luov4849242
544299385443659154494168picnicl5full
706853307072203170730016
T:
mqdss48
707048547086791371421635
T:
luov8117404
61357278?71571529?82438175?
T:
redgemss128
764692957648509676523660picnicl3ur
66517626?79161565?105126938?
T:
redgemss128v2
908347419104076191083644picnicl5fs
933199819335433993378520picnic3l1
122516873122530325122545523picnicl5ur
122026491?153471525?190432361?
T:
redgemss192
158527437158682637158755847
T:
luov6468330
168323087?193130502?242796269?
T:
redgemss256
211979406212058609212199668picnic3l3
220786628221438484222060811
T:
rainbow3ccompres683248
223026517225031846225150548
T:
mqdss64
205362355?247999221?291730894?
T:
redgemss192v2
261437308261537268263045020
T:
pqrsa15
287527430287599643287648601
T:
sphincs256
340140518340302862340396403picnic3l5
351224353351337193351780427
T:
sphincsf128shake256simple
358803229358972786380324440
T:
luov8086399
359895608?423154722?502215472?
T:
redgemss256v2
437026398437319706437759981
T:
picnic2l1fs
444390638444742557445040957
T:
sphincsf192shake256simple
460069923460162777460364679
T:
sphincsf128harakasimple
528940500532162807542262213
T:
rainbow5ccompres963664
532189035532838124533271934
T:
sphincsf192harakasimple
635524147635896158636236587
T:
sphincsf128shake256robust
805015919805374248805922412
T:
sphincsf128harakarobust
828636310829250422867078639
T:
sphincsf192shake256robust
983130554983670385984497945
T:
sphincsf256shake256simple
983660147985532075986581541
T:
sphincsf192harakarobust
125253535012531856941253324930
T:
picnic2l3fs
132296226913255180231326135472
T:
sphincsf256harakasimple
180199159418025853921803964547
T:
sphincsf256shake256robust
237148366923739459142374746995
T:
sphincsf256harakarobust
267478139026758776462690808093
T:
picnic2l5fs
2554537807?3069341853?3576654215?
T:
bluegemss128
2994581756?3594222399?4196587942?
T:
bluegemss128v2
530240228953025233965303262593
T:
sphincss128shake256simple
739511797174016380227402525549
T:
sphincss128harakasimple
6612966542?7940767580?9253086987?
T:
bluegemss192
820605332682073280448207687640
T:
sphincss256shake256simple
939403193393944596439395287797
T:
sphincss128shake256robust
8365195463?10035244590?11718901791?
T:
bluegemss256
111253502561112605023411126773967
T:
sphincss192shake256simple
9352740224?11229649968?13100297073?
T:
bluegemss192v2
117547883041176000228911763087585
T:
sphincss256harakasimple
126209226661262222667512638305625
T:
sphincss128harakarobust
148188045061482120251514823618776
T:
sphincss256shake256robust
165932037741659421639516621967580
T:
sphincss192harakasimple
15790818015?18928488927?22089462847?
T:
bluegemss256v2
191368241221913723958419137828138
T:
sphincss192shake256robust
208448767442085442798520862044717
T:
sphincss256harakarobust
19041678573?22861805170?26744025043?
T:
gemss128v2
19536796862?23445994203?27356549933?
T:
gemss128
298533671142985672098029861723274
T:
sphincss192harakarobust
Cycles to verify 59 bytes
25%50%75%system
330993342433670
T:
rainbowbinary256181212
661776858170475
T:
rainbowbinary16242020
833058500086939
T:
rainbow1aclassic363232
147152149894153322
T:
falcon512tree
182324183419185870
T:
falcon512dyn
238722239124239633
T:
qtesla1
298602299533300851
T:
falcon1024tree
315606315881316164haetae2
365824367047368166
T:
falcon1024dyn
371140373330374478ed25519
391779399727410207
T:
bluegemss128v2
464491467918472263
T:
rainbow3cclassic683248
475804476364476930T!!!dilithium2
489490490236491021
T:
qtesla3f
497016511063520955
T:
redgemss128v2
511549530707548180
T:
gemss128v2
561322561710562312
T:
qtesla3s
565569566129566741haetae3
710056710957711796haetae5
766775767032767425T!!!dilithium3
844312847368851276
T:
pass769
910812916916923648T!!!dilithium2aes
101475910180961021643
T:
pass863
111948311248281129812
T:
ed448goldilocks
119039711917451196768
T:
qtesla1p
125944512598801260951T!!!dilithium5
131198513172321323608
T:
rainbow5cclassic963664
146710915055581530976
T:
redgemss192v2
158745315913821597620T!!!dilithium3aes
177957317799571782479mqsignrr2567246
174910917842141835008
T:
bluegemss192v2
183221318327971834361mqsignlr2567246
210747321202272141747
T:
donald2048
280263728157552826219T!!!dilithium5aes
320166732398963360818
T:
bluegemss256v2
322739332928843381539
T:
redgemss256v2
361818836436983672236
T:
sphincs256
430727743106934314772mqsignlr25611272
434016543418404345708mqsignrr25611272
570679957282845739537
T:
qtesla3p
574252258562086038971
T:
sphincss128shake256simple
769927278111438018168
T:
sphincss128harakasimple
860294286189198622429mqsignrr25614896
855059186582518870669
T:
sphincss192shake256simple
872202287814768798321mqsignlr25614896
952801795360389545134
T:
luov863256
110683641131452411401304
T:
sphincss256shake256simple
112622211152745711662821
T:
sphincss192harakasimple
111699301158687411816163
T:
sphincss128shake256robust
131097211318005113230887picnicl1full
139073891433686714451830
T:
sphincsf128shake256simple
143042901460449514835889
T:
sphincss128harakarobust
158811381609953616219038
T:
sphincss256harakasimple
166138901697390717263851
T:
sphincss192shake256robust
175461281760266417612223picnicl1fs
177306101792320918149383
T:
sphincsf128harakasimple
219308902216030422449346
T:
sphincss256shake256robust
219918142221092822465633
T:
sphincss192harakarobust
224269402271998122909566
T:
sphincsf192shake256simple
225321972288292523097195
T:
sphincsf256shake256simple
232504292336278423370400picnicl1ur
252764712529546525300147picnicl3full
273279692735745427404850
T:
rainbow1acompres363232
273657202755225227954675
T:
sphincsf192harakasimple
274196402784686028348569
T:
sphincsf128shake256robust
274525222792994427939940
T:
rainbow1acyclicc363232
295057763005267230270928
T:
sphincsf256harakasimple
300272023028502030813659
T:
sphincss256harakarobust
334273333358218135528789
T:
gemss128
336462773369245033724304
T:
pqrsa15
333882533392645134385285
T:
sphincsf128harakarobust
342136223427971634336797
T:
luov890351
343295663443085334926228
T:
bluegemss128
353115043548578236280107
T:
redgemss128
361789063618974036210758
T:
luov4849242
399416013997347540033715picnicl5full
419787894201366642065639picnicl3fs
439506454445681445188048
T:
sphincsf192shake256robust
442124334465859245332649
T:
sphincsf256shake256robust
509784265160798452540168
T:
mqdss48
534523365386023954548370
T:
sphincsf192harakarobust
566307845713824457559715
T:
sphincsf256harakarobust
587701505879752758836587picnicl3ur
615415376159210961615808
T:
luov8117404
722382027225788272391042picnicl5fs
793432957936211079392676picnic3l1
967356149675333196785732
T:
luov6468330
982491679827850598512343picnicl5ur
112703955113110790113494105
T:
bluegemss192
115762058116039528116301530
T:
redgemss192
163365439164898823167307621
T:
mqdss64
164131590165642340165741672
T:
rainbow3ccompres683248
165007900168009825172034308
T:
rainbow3ccyclicc683248
176995512177135490177200024picnic3l3
219310174219511694219730643
T:
picnic2l1fs
219075335220014908250177327
T:
luov8086399
231188421231404980231656830
T:
redgemss256
231440736231681736231993721
T:
bluegemss256
268028137268081224268222812picnic3l5
365038001366937678376841588
T:
rainbow5ccyclicc963664
363864941367627673377047276
T:
rainbow5ccompres963664
493831143494257795496388423
T:
picnic2l3fs
873415698876998981878495205
T:
picnic2l5fs