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; Haswell+AES (306c3); 2013 Intel Core i7-4765T; 4 x 2000MHz; prodesk, 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: (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
426842804308picnicl1full
437243924420picnic3l1
506450845136
T:
picnic2l1fs
621262366280picnic3l3
627262846328picnicl3full
639264086440picnicl1ur
640064566748picnicl1fs
809681488572picnic3l5
819682928900picnicl5full
92041016810652
T:
picnic2l3fs
106681072010808picnicl3fs
107561110411916picnicl3ur
126361288413224
T:
picnic2l5fs
143001462015604picnicl5fs
150441590016076picnicl5ur
246962476824880
T:
lattisigns512
553885544055712aimer128f
573245738457452aimer128s
573365755258132ed25519
647526548066472T!!!dilithium2aes
963649652096728T!!!dilithium2
102432102728103196dilithium3aes
129436129556129804aimer192f
129892130108130324aimer192s
159236161452162996dilithium5aes
173048173588174704T!!!dilithium3
174920175168175468
T:
ed448goldilocks
199704201316203256nccsign1aes
243004244276253184
T:
pass769
246532248472249924nccsign1
260312261604263128nccsign3aes
254692264536275452
T:
hector
268848269468271832T!!!dilithium5
289784294692296744
T:
pass863
299180299420299692aimer256f
299328299656300040aimer256s
326108328828330884nccsign3
401924404336407152nccsign5aes
502088504844508104nccsign5
288896?600736?1369760?haetae2
639288643240649084
T:
donald1024
816664820476825840
T:
edons128k08n72nu8l4mu3
828108829456833916
T:
mqdss48
886020907268910084
T:
sphincsf128harakasimple
571332?1040968?1626652?haetae3
110048011009161101412
T:
sphincsf128harakarobust
530104?1246396?2111360?haetae5
128921212908841299100
T:
sphincsf192harakasimple
162068416299961631964
T:
sphincsf192harakarobust
189936419051681921000
T:
mqdss64
1319140?2144760?2632924?
T:
qtesla1
213884021503242170396
T:
donald2048
247866024859922537160
T:
edons128ref
282790029509803004380
T:
sphincs256
349973635011843510172
T:
sphincsf256harakasimple
2818048?4139724?5468140?
T:
qtesla3f
428028042849284299092
T:
sphincsf256harakarobust
461420446237324642728
T:
sphincsf128shake256simple
512746851398165522408
T:
luov863256
4190428?5545488?8248600?
T:
qtesla3s
5092268?6392856?7433644?
T:
qtesla1p
673037267340006745572
T:
sphincsf192shake256simple
848867684986768509004
T:
sphincsf128shake256robust
895768090630169080164
T:
mqsignlr2567246
900199690772769111244mqsignlr2567246
947412495521529678868
T:
luov863256pc
112659361138758011525676mqsignrr2567246
113792201144879211501924
T:
mqsignrr2567246
117190761177226811847236
T:
rainbowbinary256181212
123860881239558412407792
T:
sphincsf192shake256robust
177056161772618017745104
T:
sphincsf256shake256simple
188263561885819219200160
T:
rainbow1aclassic363232
183388161891035620791500
T:
falcon512dyn
191696561921711619280136
T:
luov4849242
184836801929537620580056
T:
falcon512tree
207455762075609220779636
T:
rainbow1acyclicc363232
210792602110657621225176
T:
rainbow1acompres363232
221647642218431622567016
T:
luov890351
284823682868666428836656
T:
sphincss128harakasimple
30104492?32716096?40381352?
T:
qtesla3p
328037523282054432859244
T:
sphincsf256shake256robust
347682643495606034979328
T:
sphincss128harakarobust
380900883813437640170356
T:
luov8117404
396187083967216439839984
T:
luov890351pc
395045883985122040036200mqsignlr25611272
395228923986444040082284
T:
mqsignlr25611272
425435044276248042838960
T:
sphincss192harakasimple
482691884855237249251232
T:
mqsignrr25611272
486514284892306049171296mqsignrr25611272
504450485053425250664152
T:
sphincss192harakarobust
540364965406402054203688
T:
sphincss256harakasimple
553657925587166856238352
T:
rainbowbinary16242020
571967685828067661020408
T:
falcon1024dyn
575325966074952067184208
T:
falcon1024tree
640776886418644864267780
T:
luov6468330
666764686673617666787300
T:
sphincss256harakarobust
695952606960651269628752
T:
bluegemss128
719463687204450072276240
T:
luov8117404pc
727980847280486072816480
T:
redgemss128
746308127466092074678368
T:
gemss128
754522127555553675613532
T:
redgemss128v2
913497009277066095307020
T:
mqsignlr25614896
939433649445099295745508mqsignlr25614896
958790769589892495956824
T:
gemss128v2
977834849808548898122952
T:
bluegemss128v2
119636892119698208119770672
T:
rainbow3cclassic683248
119843788119965216120423736
T:
luov8086399
122566148122670920122780976
T:
rainbow3ccyclicc683248
122493648122858388123232052
T:
rainbow3ccompres683248
127523604129319676129619152
T:
mqsignrr25614896
131794356133045300133880180mqsignrr25614896
147156804147177220147216096
T:
sphincss128shake256simple
215912244216369168216982748
T:
sflashv2
215490724219076092219669128
T:
sphincss192shake256simple
262921220263068580263204112
T:
bluegemss192
265656900266445876267364984
T:
redgemss192
270242340270331680270648264
T:
gemss192
270636588270799844270815528
T:
sphincss128shake256robust
282916212283341820293986328
T:
sphincss256shake256simple
352472060352605080352815872
T:
rainbow5cclassic963664
373636608375637624377150272
T:
rainbow5ccompres963664
375288460376070920376578324
T:
rainbow5ccyclicc963664
396386316396778088396838576
T:
sphincss192shake256robust
479570228480352856480610772
T:
gemss192v2
483775096483917308484551228
T:
bluegemss192v2
486818340487359352488828388
T:
redgemss192v2
526438632526598944526670472
T:
sphincss256shake256robust
756218444758724008764146192
T:
redgemss256v2
103497114810377583601055585668
T:
redgemss256
103921885610410008881044034956
T:
gemss256
104195416810454525241048448448
T:
bluegemss256
135658587213584592361361007264
T:
gemss256v2
137326857213754088001380813532
T:
bluegemss256v2
188546571618856013001885779960
T:
gravitysphincss
450077717246161295804708511532
T:
pqrsa15
287702539722877667679628787525324
T:
gravitysphincsl
575040973405752270306857527140312
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
187841891619440
T:
rainbowbinary256181212
383363905640212
T:
rainbowbinary16242020
601286018860240ed25519
929209318493920
T:
rainbow1aclassic363232
939089508496404
T:
mqsignlr2567246
101704104336107728
T:
rainbow1acyclicc363232
112372113020113788
T:
sflashv2
120356122280124200mqsignlr2567246
134376136560138496
T:
mqsignrr2567246
160532161872163352mqsignrr2567246
182712182840182912
T:
ed448goldilocks
149240?201752?276008?T!!!dilithium2aes
153956?241324?466080?dilithium3aes
189576?242604?400912?T!!!dilithium2
136852?261924?762676?
T:
lattisigns512
263720268932270788
T:
mqsignlr25611272
279784285840297740
T:
hector
331892334712338408mqsignlr25611272
284440?354084?511492?dilithium5aes
367612?370520?562336?nccsign1aes
409664413204417720
T:
falcon512tree
411016414420419816
T:
mqsignrr25611272
416292420164429676
T:
luov863256pc
431508434244437712
T:
rainbow3cclassic683248
426232?436928?636576?nccsign1
436896440424450104
T:
rainbow3ccyclicc683248
280020?474080?881880?
T:
qtesla1
473124475964479752mqsignrr25611272
286868?479388?773104?T!!!dilithium3
498560501200506048
T:
donald1024
273860?541556?555828?
T:
pass769
432968?542916?752344?T!!!dilithium5
547104550612554904
T:
mqsignlr25614896
286488?568384?906852?
T:
qtesla3f
660816664800673892mqsignlr25614896
345904?677636?1314820?
T:
pass863
473704?723032?1167132?nccsign3aes
770992776080785184
T:
mqsignrr25614896
786108790964795216
T:
falcon512dyn
567824?845412?1353448?nccsign3
830376846528854656
T:
falcon1024tree
914624?920824?1731640?nccsign5
562304?926216?1647752?
T:
qtesla1p
962852966692972432mqsignrr25614896
9923009988561004856
T:
rainbow5cclassic963664
444728?1100308?2078232?haetae2
774716?1177120?1809056?nccsign5aes
765056?1258796?2270812?
T:
qtesla3s
131994813406881387884
T:
luov890351pc
134556013519921362448
T:
donald2048
134832813527881360764
T:
edons128k08n72nu8l4mu3
139400414009961411964
T:
rainbow5ccyclicc963664
143832814390721440276aimer128f
161356016167081622816
T:
falcon1024dyn
183445618422121864420
T:
luov8117404pc
1146540?2082304?3521048?haetae3
1227136?2246920?4745616?haetae5
324918432626403279528
T:
edons128ref
345320834666923766352aimer192f
370181237073763713024
T:
luov863256
422100042299604477024picnicl1full
3569504?4393332?5627324?
T:
redgemss128
3347216?4395508?5576676?
T:
qtesla3p
3884400?4643040?5431680?
T:
redgemss128v2
527661652832365305476
T:
mqdss48
531541653207085324792picnicl1fs
660987666125446613968picnicl1ur
697856469884807008780aimer256f
841368484179088420732picnicl3full
109047161095089610997308aimer128s
9682576?11704724?12522592?
T:
redgemss192v2
121017721210561612111360
T:
luov890351
123542281235822812365076picnicl3fs
10640744?12515480?14931084?
T:
redgemss192
133534761337820815254992
T:
mqdss64
141049681411231214116064picnicl5full
147162761471917214966700
T:
gravitysphincss
158918321596899615990600picnicl3ur
169523441696930016986216
T:
rainbow1acompres363232
180321641804572818054260picnic3l1
17669148?20382648?24148032?
T:
redgemss256v2
208685042087554820884728
T:
luov8117404
211851842120430022350268picnicl5fs
18339008?22393736?28204512?
T:
redgemss256
258565082589890425939692aimer192s
261241202619304426468436
T:
gravitysphincsm
264064882642097626434312picnicl5ur
312492043131634831324376
T:
gravitysphincsl
321309803216814032219836
T:
sphincsf128harakasimple
376497963767891237694244
T:
sphincsf192harakasimple
388855603890701238927376picnic3l3
403034284035072440384504
T:
sphincsf128harakarobust
428080164286454042949576
T:
luov4849242
493195324943799649732696
T:
sphincsf192harakarobust
499469165003872450327124
T:
sphincs256
500913005019758850283340aimer256s
669147886705799267177048picnic3l5
895948368963303289655376
T:
sphincsf256harakasimple
102870392103395632103508348
T:
rainbow3ccompres683248
114348956114449460114586160
T:
sphincsf256harakarobust
133630200133692996134880212
T:
luov6468330
146032052146089544146172108
T:
pqrsa15
151994892152233976152794656
T:
sphincsf128shake256simple
164813508164853108164917348
T:
picnic2l1fs
140075152?166832392?194317828?
T:
bluegemss128v2
150174088?180378788?210492240?
T:
bluegemss128
192327012192686576193192536
T:
sphincsf192shake256simple
249460700250902028252450352
T:
rainbow5ccompres963664
263136056263710864263812244
T:
luov8086399
266970992267191032267527920
T:
sphincsf128shake256robust
347664076348062892348543080
T:
sphincsf192shake256robust
343987008?415543720?484851988?
T:
bluegemss192v2
415928044416435004417076388
T:
sphincsf256shake256simple
490202580490881780491338864
T:
picnic2l3fs
429765600?515278848?602104624?
T:
bluegemss192
533009144534116204534574168
T:
sphincss128harakasimple
680391676680517212680598292
T:
sphincss128harakarobust
580399204?696907208?923153772?
T:
bluegemss256v2
749073836749671040749967592
T:
sphincsf256shake256robust
764744500764968652765243332
T:
sphincss256harakasimple
694666080?833196784?1110693000?
T:
bluegemss256
993606420995654472997094568
T:
sphincss256harakarobust
103531500010354982361036564104
T:
picnic2l5fs
867916756?1041249708?1386885740?
T:
gemss128v2
931431556?1124026284?1311590340?
T:
gemss128
118178260811828610601183539332
T:
sphincss192harakasimple
159616980815967188841598575796
T:
sphincss192harakarobust
235990665623607484642362350544
T:
sphincss128shake256simple
2325941328?2790987600?3281232920?
T:
gemss192v2
2296346892?3436599188?4009725532?
T:
gemss192
346245137234825061203520110780
T:
sphincss256shake256simple
405074834840543208044054619924
T:
sphincss128shake256robust
490282145649238497964939433648
T:
sphincss192shake256simple
4130282488?4978014672?5808268176?
T:
gemss256v2
5076966412?6106525192?8140574044?
T:
gemss256
614645264061482382006229860860
T:
sphincss256shake256robust
826680130882681631888277894604
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
173201745217808
T:
rainbowbinary256181212
309763158032072
T:
rainbowbinary16242020
314323228032944
T:
rainbow1aclassic363232
406004104441336
T:
lattisigns512
787327902479356T!!!dilithium2aes
811928369685488
T:
mqsignlr2567246
825728395685508mqsignlr2567246
856208709287724
T:
falcon512tree
861208745289492
T:
mqsignrr2567246
864368841290256mqsignrr2567246
103672104172104852
T:
qtesla1
102480104396104940
T:
falcon512dyn
108852108996109620T!!!dilithium2
107668109772112832
T:
gravitysphincss
115964116240116584dilithium3aes
122804123572124244
T:
sflashv2
130016130480130768haetae2
138956139988141840
T:
luov863256pc
173540174336175084
T:
falcon1024tree
174216174588175092dilithium5aes
176872177216177576T!!!dilithium3
187040188836190112ed25519
196884197772198988
T:
rainbow3cclassic683248
206684207512208440
T:
qtesla3f
207096207780208736
T:
falcon1024dyn
211000211588212248
T:
qtesla3s
212332213268214356haetae3
225712245016258596
T:
bluegemss128
247144248044251336haetae5
238000249336267584
T:
redgemss128v2
254972255792257216nccsign1aes
248808256916266336
T:
redgemss128
252932261340269048
T:
gemss128
278888279284279832T!!!dilithium5
283328290544309440
T:
bluegemss128v2
292900294136295572nccsign1
289036294592303092
T:
gemss128v2
313848315352316824
T:
mqsignlr25611272
314184315460317768mqsignlr25611272
315768316800318736mqsignrr25611272
315236317236319004
T:
mqsignrr25611272
324236325452326788nccsign3aes
366680368516392856
T:
pass769
372504377548387712
T:
luov890351pc
382180384220385856nccsign3
399484402804408324
T:
donald1024
405396408372410524
T:
edons128k08n72nu8l4mu3
426960430352437508
T:
pass863
428744433928437188
T:
rainbow5cclassic963664
459680470280477204
T:
gravitysphincsm
509140512640520692
T:
luov8117404pc
514840517264520104
T:
qtesla1p
518692520748523676nccsign5aes
554728569580595160
T:
gemss192
572240588204603820
T:
bluegemss192
587152596204602296mqsignrr25614896
593076597380605000
T:
ed448goldilocks
598868603596610568
T:
mqsignlr25614896
601196607320611004mqsignlr25614896
605372608148611088nccsign5
602900608212612384
T:
mqsignrr25614896
609340625240635672
T:
sphincss128harakasimple
624220633812639780
T:
gravitysphincsl
621196646688663680
T:
redgemss192
637708654568671316
T:
gemss192v2
660316679532693528
T:
bluegemss192v2
688388702656721196
T:
redgemss192v2
880712884444891856
T:
edons128ref
912944935760956980
T:
sphincss128harakarobust
929692941764953836
T:
sphincss192harakasimple
112844011396521149344
T:
hector
120770012176921230380
T:
donald2048
123392812677601294912
T:
gemss256
126023612808041317364
T:
bluegemss256
129974813102241332544
T:
sphincss256harakasimple
127995213116201338412
T:
redgemss256v2
129154013214601358388
T:
redgemss256
130732013326361361096
T:
gemss256v2
132303213440241367472
T:
bluegemss256v2
140547614068961412268aimer128f
143263214459641454464
T:
sphincs256
143834014627161489196
T:
sphincsf128harakasimple
145771614800601502544
T:
sphincss192harakarobust
197070819962282028228
T:
sphincss256harakarobust
212794821573722181940
T:
sphincsf128harakarobust
232138023473442361124
T:
sphincsf192harakasimple
243546424443362454156
T:
qtesla3p
249239625219922540052
T:
sphincsf256harakasimple
295203629529962959996
T:
luov863256
338512034041803428740
T:
mqdss48
340350834102443619284aimer192f
347902034979283722780picnicl1full
363445236669603705120
T:
sphincsf192harakarobust
376349638128923845080
T:
sphincsf256harakarobust
415767642247364342092
T:
sphincss128shake256simple
432580043320564344996picnicl1fs
541781254357885450200picnicl1ur
611873662236406360596
T:
sphincss192shake256simple
683997268453846917676aimer256f
707489670843447095376picnicl3full
795146881053048243880
T:
sphincss256shake256simple
800908482165928414796
T:
sphincss128shake256robust
9032620912258410464120
T:
mqdss64
100631321018956010320636
T:
sphincsf128shake256simple
104312041044211210453844picnicl3fs
105047881050958810516732
T:
luov890351
108607801088442410981100aimer128s
119416681195828011972568picnicl5full
120207081219525612449212
T:
sphincss192shake256robust
134468601355938814104456picnicl3ur
137464561377184813803724
T:
rainbow1acompres363232
143137321432603614342696picnic3l1
138158401444115614700892
T:
rainbow1acyclicc363232
156733081598562016161708
T:
sphincss256shake256robust
161047681629050016565932
T:
sphincsf192shake256simple
161858601634478416541064
T:
sphincsf256shake256simple
179613041796802418947584
T:
luov8117404
181397001818791219389044picnicl5fs
197865842019942820332964
T:
sphincsf128shake256robust
207730642079563620906704
T:
pqrsa15
226560802267684423740268picnicl5ur
259250082604161227550244aimer192s
299594563018713630374040
T:
luov4849242
310486963107179631093328picnic3l3
314238443178535232046696
T:
sphincsf192shake256robust
319337523240037232764604
T:
sphincsf256shake256robust
491059644913432449173524picnic3l5
499733044999987250125128aimer256s
677786086783832467902016
T:
picnic2l1fs
780165247805819278384600
T:
luov6468330
832738488376370483769260
T:
rainbow3ccompres683248
832897248680921687004652
T:
rainbow3ccyclicc683248
151366120151509088151555800
T:
luov8086399
155144964155312144155432564
T:
picnic2l3fs
186165068186190764186284048
T:
rainbow5ccyclicc963664
186125444186307984186442056
T:
rainbow5ccompres963664
274836860275093976275283564
T:
picnic2l5fs