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; Kaby Lake (906e9); 2017 Intel Xeon E3-1220 v6; 4 x 3000MHz; kizomba, supercop-20240716

[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
289529102946picnicl1full
342934493468picnic3l1
410741234189picnicl3full
411541414204picnic3l3
456345794606picnicl1ur
457145874617picnicl1fs
526852985361picnic3l5
528853075381
T:
picnic2l1fs
559356595750picnicl5full
826682948333picnicl3ur
827483098391picnicl3fs
838184548628
T:
picnic2l3fs
109601100611214picnicl5fs
109001108011698
T:
picnic2l5fs
111981125611472picnicl5ur
444714463744797aimer128f
446614474844915aimer128s
450714514145385ed25519
502845047250823T!!!dilithium2aes
794197974480060dilithium3aes
814238153382077T!!!dilithium2
108780108897109405aimer192f
120470120976121893dilithium5aes
124355124572125181aimer192s
146818147296147751T!!!dilithium3
153329153623153966
T:
ed448goldilocks
198393199066200399
T:
pass769
224381224974225581T!!!dilithium5
225458226596227762
T:
pass863
271655271792272149aimer256f
304504304673305358aimer256s
777765778742790913
T:
sphincsf128harakasimple
789230790377792389
T:
mqdss48
866040866364866774
T:
sphincsf128harakarobust
869051882556894194
T:
donald2048
420543?938577?1640807?haetae2
9941979997651019188
T:
sphincsf192harakasimple
127853612804481281534
T:
sphincsf192harakarobust
771484?1562153?4897782?haetae5
869905?1579820?1996778?
T:
qtesla1
915963?1741530?3394034?haetae3
185549618572761865794
T:
mqdss64
239213523970602415002
T:
sphincs256
288060928872742896250
T:
sphincsf256harakasimple
336102233760683386319
T:
sphincsf256harakarobust
2604119?3798234?3941760?
T:
qtesla3f
436022043759174482492
T:
sphincsf128shake256simple
495480749669965719693
T:
luov863256
3887222?5140923?7929375?
T:
qtesla3s
630022463245706556395
T:
sphincsf192shake256simple
5932377?6772742?7830289?
T:
qtesla1p
796701879777078003806
T:
sphincsf128shake256robust
862803989493068995074
T:
mqsignlr2567246
921962592418069284439
T:
luov863256pc
101381751020736310358921
T:
rainbowbinary256181212
117393271174381311763101
T:
sphincsf192shake256robust
138327131400366314057413
T:
mqsignrr2567246
164478931645660116488137
T:
sphincsf256shake256simple
170353281707240317191214
T:
rainbow1aclassic363232
165730931757772818848732
T:
falcon512tree
166641731757838518901042
T:
falcon512dyn
186504401867414918715925
T:
rainbow1acompres363232
186934761872658819085453
T:
rainbow1acyclicc363232
186411331876330619491419
T:
luov890351
199365701998473320079240
T:
luov4849242
248989152493491225108135
T:
sphincss128harakasimple
275949442763686927680964
T:
sphincss128harakarobust
307143403072249230738399
T:
sphincsf256shake256robust
316078653170473536176254
T:
luov8117404
346518883467530734916089
T:
sphincss192harakasimple
26385635?35079101?43196675?
T:
qtesla3p
353434923659175636993803
T:
mqsignlr25611272
371810403728910737373026
T:
sphincss192harakarobust
370692603740613337784391
T:
luov890351pc
417912044185587941915115
T:
sphincss256harakasimple
457710144673297847287194
T:
rainbowbinary16242020
495358574956112949587953
T:
sphincss256harakarobust
503082805196797454817272
T:
falcon1024dyn
509368205384530656307056
T:
falcon1024tree
553416795593378257479200
T:
mqsignrr25611272
576353435769500457853585
T:
gemss128
584564225848259658542158
T:
bluegemss128
609524886107011961226603
T:
redgemss128
622795956266953463374883
T:
luov8117404pc
642901986442642364555637
T:
luov6468330
849852808776433789158308
T:
mqsignlr25614896
899969219001451690059836
T:
gemss128v2
928141539284133792941015
T:
bluegemss128v2
962087439624207596446187
T:
redgemss128v2
109440379109479027109506542mqsignlr2567246
110229966111240698111963373
T:
rainbow3cclassic683248
110042040111516889112469008
T:
rainbow3ccyclicc683248
112617538112799184113415113
T:
rainbow3ccompres683248
122662187122841916123055436
T:
luov8086399
132792060133525071135852914
T:
mqsignrr25614896
136132972136158395136205730
T:
sphincss128shake256simple
147681661147836417148062060mqsignrr2567246
201212502201242735201404617
T:
sphincss192shake256simple
252181240252243659252385407
T:
sphincss128shake256robust
262915403262929318262952639
T:
sphincss256shake256simple
280073861280184754280403798
T:
gemss192
301594335301925311302141619
T:
bluegemss192
302038594302469814303845402
T:
redgemss192
326061357326622911333002385
T:
rainbow5cclassic963664
341090585341558072342217061
T:
rainbow5ccompres963664
344554255344949502345164333
T:
rainbow5ccyclicc963664
371376978373396204373738412mqsignlr25611272
374915569374939175375043482
T:
sphincss192shake256robust
392259726392567863393381898
T:
gemss192v2
396878099396964905397308905
T:
bluegemss192v2
401103871401492031402006085
T:
redgemss192v2
491835504491943679492291167
T:
sphincss256shake256robust
515922059516332430527091990mqsignrr25611272
792559025799974764835202129
T:
redgemss256
804346683812087802837289668
T:
redgemss256v2
847524724848350625849998019
T:
gemss256
849063946849481365850362594mqsignlr25614896
859839357869280030871317760
T:
bluegemss256
107030068310705892601071370080
T:
gravitysphincss
112438419011250882621126553134
T:
gemss256v2
114891684911509667031178243119
T:
bluegemss256v2
119238911311996507691204659885mqsignrr25614896
380065278838751705223942103532
T:
pqrsa15
173190219881735745822817438140851
T:
gravitysphincsl
342677253043427419389434518015409
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
167441691817436
T:
rainbowbinary256181212
326173310135034
T:
rainbowbinary16242020
476134768347792ed25519
831278411389967
T:
rainbow1aclassic363232
870508784888943
T:
mqsignlr2567246
120292122486123704
T:
mqsignrr2567246
131163132303134311
T:
rainbow1acyclicc363232
82494?142639?184464?T!!!dilithium2aes
160619160853161342
T:
ed448goldilocks
120661?199909?310649?T!!!dilithium2
147183?220750?352963?dilithium3aes
213398?225770?437115?
T:
pass769
242898248012250639
T:
mqsignlr25611272
210861?268334?461252?dilithium5aes
227857?335571?464577?T!!!dilithium3
338125340359342206
T:
luov863256pc
333847?349435?483769?T!!!dilithium5
355252359938361677
T:
mqsignrr25611272
365118367129369113
T:
rainbow3cclassic683248
368180370657373117
T:
rainbow3ccyclicc683248
196139?378485?579867?
T:
qtesla1
402344407837412266
T:
falcon512tree
465359469746475904
T:
mqsignlr25614896
249687?495399?732052?
T:
pass863
654373663387670639
T:
mqsignrr25614896
678924680058681204mqsignlr2567246
377550?710592?1130748?
T:
qtesla3f
719879723781732996
T:
falcon512dyn
802945807672814931
T:
falcon1024tree
853321859193863050
T:
rainbow5cclassic963664
876317884671897238
T:
donald2048
979175981897988127
T:
luov890351pc
987715989676996605
T:
rainbow5ccyclicc963664
643536?1182529?1984902?haetae2
675877?1194066?2117685?
T:
qtesla3s
121861112202811224762mqsignrr2567246
125783312590851259978aimer128f
722915?1286903?1802003?
T:
qtesla1p
138392713857131390161mqsignlr25611272
145583314612581469187
T:
luov8117404pc
146303014696371477302
T:
falcon1024dyn
888978?1601875?2679694?haetae3
1441076?1861994?4358169?haetae5
232456023411492347040mqsignrr25611272
315688531686413176323mqsignlr25614896
325593932620433271214
T:
luov863256
326528132665793280587aimer192f
2904260?3463667?3926684?
T:
redgemss128v2
361685336200063633588picnicl1full
2234314?3757520?4749357?
T:
qtesla3p
3354012?3956652?4693813?
T:
redgemss128
444978844694384491074mqsignrr25614896
449431145005754514662picnicl1fs
466279246770824787529
T:
mqdss48
572668157393835744351picnicl1ur
656912565796296585936aimer256f
699155870069617014538picnicl3full
889966189034078907895
T:
gravitysphincss
960708796123879631508aimer128s
8276389?9836571?11742502?
T:
redgemss192
8807948?10286623?12347123?
T:
redgemss192v2
107369681074542810755256
T:
luov890351
107732791078264110814299picnicl3fs
109774841146348011521625
T:
mqdss64
116849321175174811762694picnicl5full
141149721412055514132617picnicl3ur
151251311513870615154272
T:
rainbow1acompres363232
12832602?15155111?18063045?
T:
redgemss256
158331491584437715884847
T:
gravitysphincsm
172127761722313317235689picnic3l1
15249720?18099908?22195738?
T:
redgemss256v2
183263431840384518427690picnicl5fs
185795631858996618601726
T:
luov8117404
189622501897679118987290
T:
gravitysphincsl
233670952337766023386526picnicl5ur
245801212458301424586075aimer192s
271388132715339727183230
T:
sphincsf128harakasimple
290521912912079529273929
T:
sphincsf192harakasimple
312912523131954831351028
T:
sphincsf128harakarobust
367445813677528436802629picnic3l3
384915063852596638568266
T:
sphincsf192harakarobust
416715094173955641839201
T:
sphincs256
438288534386880343900833
T:
luov4849242
474908114751111547535724aimer256s
620783506212828362246748picnic3l5
725621977259804072717341
T:
sphincsf256harakasimple
876548178771606887904413
T:
sphincsf256harakarobust
907892649101452691604575
T:
rainbow3ccompres683248
119520049119725928119960161
T:
pqrsa15
102849985?120339673?143982707?
T:
bluegemss128v2
138950072139789774139876744
T:
luov6468330
142192337142398670142627591
T:
sphincsf128shake256simple
119144934?142814814?166854849?
T:
bluegemss128
155776772155820979155866890
T:
picnic2l1fs
179650940179827405183967651
T:
sphincsf192shake256simple
223762783224445436224991546
T:
rainbow5ccompres963664
248472230248834621249212905
T:
sphincsf128shake256robust
276471741276608530277632841
T:
luov8086399
252647187?301953714?353236667?
T:
bluegemss192v2
325180264325385071325633504
T:
sphincsf192shake256robust
303664994?363999925?425006159?
T:
bluegemss192
387233859387394111387520635
T:
sphincsf256shake256simple
454737579454938738458564570
T:
sphincss128harakasimple
471880815472375466474785262
T:
picnic2l3fs
437702163?522812080?609385659?
T:
bluegemss256v2
524679823524954925525714734
T:
sphincss128harakarobust
474989931?570238121?760313810?
T:
bluegemss256
580344615581311937583250234
T:
sphincss256harakasimple
700506458701029603701321984
T:
sphincsf256shake256robust
717649500718126228722224623
T:
sphincss256harakarobust
622335941?743677512?870897075?
T:
gemss128v2
745012141?894214115?1047897700?
T:
gemss128
953756946954569228957287068
T:
sphincss192harakasimple
998064814999131335999462037
T:
picnic2l5fs
115336338811538796651159456556
T:
sphincss192harakarobust
1727716915?2072785278?2425506861?
T:
gemss192v2
218494821821853584702186308687
T:
sphincss128shake256simple
2104113228?2525334274?2965899581?
T:
gemss192
321700047932174699033217889434
T:
sphincss256shake256simple
377920663137797449303780917496
T:
sphincss128shake256robust
3220846980?3842949929?5119608738?
T:
gemss256v2
2826897335?4173983040?4911746021?
T:
gemss256
458666593645874942204588116936
T:
sphincss192shake256simple
575189739857523805665753684683
T:
sphincss256shake256robust
782335296078238202967824560794
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
136861376913920
T:
rainbowbinary256181212
240992475625798
T:
rainbowbinary16242020
314053217434292
T:
rainbow1aclassic363232
606866083960948T!!!dilithium2aes
667026747468643
T:
mqsignlr2567246
677746937771044
T:
gravitysphincss
696537045271613
T:
mqsignrr2567246
824088350685129
T:
falcon512tree
868398703487189dilithium3aes
893038948389716T!!!dilithium2
925229292193383
T:
qtesla1
952919653897549
T:
falcon512dyn
121658122546124281
T:
luov863256pc
123292123673124133haetae2
128649129127129855dilithium5aes
145324145562145806T!!!dilithium3
162353163575164444ed25519
162710163716164662
T:
falcon1024tree
173960177887181879
T:
rainbow3cclassic683248
189014189664190139
T:
qtesla3f
191762192413193066
T:
qtesla3s
192818193145193849haetae3
192552193149194012
T:
falcon1024dyn
226833227456228476T!!!dilithium5
229722230000230599haetae5
252415260276266674
T:
gemss128
261765266990274290
T:
bluegemss128
266875269190271211
T:
mqsignrr25611272
261877269528274962
T:
redgemss128
269073270540273123
T:
mqsignlr25611272
275794277710278847
T:
pass769
280196283399285587
T:
gravitysphincsm
281812290924294256
T:
redgemss128v2
317911320093322109
T:
pass863
339746343072349466
T:
luov890351pc
353686361508372877
T:
gemss128v2
357737366768377774
T:
bluegemss128v2
381578384950390994
T:
gravitysphincsl
416106420532425434
T:
rainbow5cclassic963664
451171453836455216
T:
qtesla1p
466923472276474395
T:
luov8117404pc
488498497440507000
T:
sphincss128harakasimple
512024513413515630
T:
ed448goldilocks
540936544584549375
T:
mqsignlr25614896
540836546657549811
T:
mqsignrr25614896
599810617470626873
T:
bluegemss192
612071633879651962
T:
redgemss192
640264660250674996
T:
gemss192
671669686781696764
T:
sphincss128harakarobust
672035687797699927
T:
gemss192v2
679037699341721331
T:
redgemss192v2
706288719121734314
T:
bluegemss192v2
725687738355748020
T:
sphincss192harakasimple
100390510195611039095
T:
sphincss256harakasimple
104144110521601059309
T:
donald2048
109843311083601127851
T:
sphincss192harakarobust
114039311604881175645
T:
sphincsf128harakasimple
122741612277261228077aimer128f
125806412689941279029
T:
sphincs256
126691512912381326437
T:
gemss256
125739512925221321540
T:
redgemss256
126544012998311342097
T:
bluegemss256
131261313397321376766
T:
gemss256v2
131951813509921371496
T:
bluegemss256v2
133786913879821448354
T:
redgemss256v2
146807014933291522089
T:
sphincss256harakarobust
156795515819401595318
T:
sphincsf128harakarobust
179271218097111827478
T:
sphincsf192harakasimple
196875819831752012552
T:
sphincsf256harakasimple
216928721774562185774
T:
qtesla3p
218071021819512188929mqsignlr25611272
223032922318972237913mqsignrr25611272
230402823051522308785mqsignrr2567246
233896323416792345379mqsignlr2567246
265182126581432667881
T:
luov863256
273529327651662791901
T:
sphincsf192harakarobust
281332228534412893720
T:
sphincsf256harakarobust
287284528876032891851picnicl1full
296034129911233049967
T:
mqdss48
304585330504463065181mqsignrr25614896
306627630712583087532mqsignlr25614896
322392832259493235625aimer192f
361044036282603631976picnicl1fs
373847037990103873924
T:
sphincss128shake256simple
465131646622284680625picnicl1ur
545868155839705689681
T:
sphincss192shake256simple
565667956686255673500picnicl3full
646610764789306489564aimer256f
716743372424597372339
T:
sphincss256shake256simple
727481974015997596637
T:
sphincss128shake256robust
744203575541867607980
T:
mqdss64
830437584379808614173
T:
sphincsf128shake256simple
903815290570539112155picnicl3fs
935106893565759362603
T:
luov890351
950846895158459519810aimer128s
950074695603249590294picnicl5full
107945461094721411116040
T:
sphincss192shake256robust
117886611179949211807524picnicl3ur
122278201224584112553804
T:
rainbow1acyclicc363232
122047961224675612295482
T:
rainbow1acompres363232
137416551376003613776919picnic3l1
141826981433677914658663
T:
sphincss256shake256robust
145183771459443014762972
T:
sphincsf192shake256simple
145355891464725214819532
T:
sphincsf256shake256simple
152671541528973215398304picnicl5fs
160497641607398216085087
T:
luov8117404
159005141614372616397524
T:
sphincsf128shake256robust
181106031827906418313621
T:
pqrsa15
194832701950790719540238picnicl5ur
243322782434370624352127aimer192s
255845162578954426104236
T:
sphincsf192shake256robust
286081342891942329252383
T:
sphincsf256shake256robust
291900482922949029249240picnic3l3
308979243092341530939379
T:
luov4849242
465719314661012346684719picnic3l5
470744364710011347200260aimer256s
687042406876112768837026
T:
picnic2l1fs
739444127404599274172052
T:
rainbow3ccompres683248
743042567682366577448172
T:
rainbow3ccyclicc683248
793210467943326279494317
T:
luov6468330
152566526152708480153112139
T:
picnic2l3fs
153002252153257313155073387
T:
luov8086399
165306359165429326165790010
T:
rainbow5ccyclicc963664
166990339167182466168333406
T:
rainbow5ccompres963664
267924940268110300268203461
T:
picnic2l5fs