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-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
403440424081picnicl1full
430343374418picnic3l1
528853075381
T:
picnic2l1fs
572857585780picnicl3full
601860266073picnicl1ur
604060566079picnicl1fs
609761056119picnic3l3
758976057769picnicl5full
760176317819picnic3l5
838184548628
T:
picnic2l3fs
974897689812picnicl3ur
976698389933picnicl3fs
109001108011698
T:
picnic2l5fs
129021296513150picnicl5ur
127901321613454picnicl5fs
444864462144811aimer128f
446174474844938aimer128s
458424594646018ed25519
504665068750841T!!!dilithium2aes
793957964179916dilithium3aes
814858169182045T!!!dilithium2
108734108837108967aimer192f
120123120452120881dilithium5aes
124280124432124956aimer192s
145892146282146837T!!!dilithium3
153329153623153966
T:
ed448goldilocks
184268186506195848nccsign1aes
198803199936205623
T:
pass769
223387224030224970T!!!dilithium5
226139226822228222
T:
pass863
238470240371242208nccsign1
239632240936242943nccsign3aes
271809272076272663aimer256f
304658304972305293aimer256s
311728313641315845nccsign3
373746378369394567nccsign5aes
475340478062482250nccsign5
255568?583268?928546?haetae2
404095?715649?1132635?haetae3
777765778742790913
T:
sphincsf128harakasimple
789230790377792389
T:
mqdss48
866040866364866774
T:
sphincsf128harakarobust
869051882556894194
T:
donald2048
658744?971113?1704837?haetae5
9941979997651019188
T:
sphincsf192harakasimple
127853612804481281534
T:
sphincsf192harakarobust
869905?1579820?1996778?
T:
qtesla1
185549618572761865794
T:
mqdss64
244741724642082491088
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
841413787433348824875mqsignlr2567246
847387588063518883085
T:
mqsignlr2567246
921962592418069284439
T:
luov863256pc
101381751020736310358921
T:
rainbowbinary256181212
108590851097998011144000
T:
mqsignrr2567246
108792091105241111154443mqsignrr2567246
117393271174381311763101
T:
sphincsf192shake256robust
164478931645660116488137
T:
sphincsf256shake256simple
169550201699557317106394
T:
rainbow1aclassic363232
165730931757772818848732
T:
falcon512tree
166641731757838518901042
T:
falcon512dyn
185050461857377018723518
T:
rainbow1acompres363232
186403231867221218706025
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
356105963680388938861435mqsignlr25611272
371810403728910737373026
T:
sphincss192harakarobust
370692603740613337784391
T:
luov890351pc
368945533809028238722771
T:
mqsignlr25611272
417912044185587941915115
T:
sphincss256harakasimple
449039734527590345443423
T:
mqsignrr25611272
446264664529133745578905mqsignrr25611272
457710144673297847287194
T:
rainbowbinary16242020
495358574956112949587953
T:
sphincss256harakarobust
503082805196797454817272
T:
falcon1024dyn
509368205384530656307056
T:
falcon1024tree
576353435769500457853585
T:
gemss128
584564225848259658542158
T:
bluegemss128
609524886107011961226603
T:
redgemss128
622795956266953463374883
T:
luov8117404pc
642901986442642364555637
T:
luov6468330
856038648874291689603665mqsignlr25614896
851627228900664392280863
T:
mqsignlr25614896
899969219001451690059836
T:
gemss128v2
928141539284133792941015
T:
bluegemss128v2
962087439624207596446187
T:
redgemss128v2
108235633108505236108759935
T:
rainbow3ccyclicc683248
108522242110410000110910348
T:
rainbow3cclassic683248
112597420114513322115776976
T:
rainbow3ccompres683248
119303896119611351122171318mqsignrr25614896
119521948122829205127179841
T:
mqsignrr25614896
122662187122841916123055436
T:
luov8086399
136132972136158395136205730
T:
sphincss128shake256simple
201212502201242735201404617
T:
sphincss192shake256simple
252181240252243659252385407
T:
sphincss128shake256robust
262915403262929318262952639
T:
sphincss256shake256simple
280073861280184754280403798
T:
gemss192
301594335301925311302141619
T:
bluegemss192
302038594302469814303845402
T:
redgemss192
317018905320075556326282573
T:
rainbow5cclassic963664
338743931338922045339100459
T:
rainbow5ccompres963664
341308369341742897350153380
T:
rainbow5ccyclicc963664
374915569374939175375043482
T:
sphincss192shake256robust
392259726392567863393381898
T:
gemss192v2
396878099396964905397308905
T:
bluegemss192v2
401103871401492031402006085
T:
redgemss192v2
491835504491943679492291167
T:
sphincss256shake256robust
792559025799974764835202129
T:
redgemss256
804346683812087802837289668
T:
redgemss256v2
847524724848350625849998019
T:
gemss256
859839357869280030871317760
T:
bluegemss256
107030068310705892601071370080
T:
gravitysphincss
112438419011250882621126553134
T:
gemss256v2
114891684911509667031178243119
T:
bluegemss256v2
380065278838751705223942103532
T:
pqrsa15
173190219881735745822817438140851
T:
gravitysphincsl
342677253043427419389434518015409
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
167441691817436
T:
rainbowbinary256181212
326173310135034
T:
rainbowbinary16242020
480664835748466ed25519
833578400884900
T:
rainbow1aclassic363232
9532096504101851
T:
mqsignlr2567246
116992118703120550mqsignlr2567246
123140125636127314
T:
mqsignrr2567246
132093132923146047
T:
rainbow1acyclicc363232
114050?148238?246651?T!!!dilithium2aes
148156153637157510mqsignrr2567246
160619160853161342
T:
ed448goldilocks
146305?194889?260254?dilithium3aes
153875?195847?306951?T!!!dilithium2
247660254173274939
T:
mqsignlr25611272
179240?262862?455573?T!!!dilithium3
306506308363311588mqsignlr25611272
206970?314312?475865?dilithium5aes
338125340359342206
T:
luov863256pc
365696367886370149
T:
rainbow3cclassic683248
368766371434373468
T:
rainbow3ccyclicc683248
196139?378485?579867?
T:
qtesla1
337045?401182?562085?T!!!dilithium5
393545403078418738
T:
mqsignrr25611272
402344407837412266
T:
falcon512tree
214498?424641?652069?
T:
pass769
415506434828446768mqsignrr25611272
423254?454752?756724?nccsign3aes
339577?477248?577415?nccsign1aes
248162?486399?752127?
T:
pass863
509825526488549504
T:
mqsignlr25614896
403432?589051?746427?nccsign1
585323604661625877mqsignlr25614896
676286678863703782
T:
mqsignrr25614896
377550?710592?1130748?
T:
qtesla3f
719879723781732996
T:
falcon512dyn
534055?762445?1198982?nccsign3
802945807672814931
T:
falcon1024tree
798256823354839948mqsignrr25614896
855587860317862028
T:
rainbow5cclassic963664
876317884671897238
T:
donald2048
684780?941351?1346228?nccsign5aes
979175981897988127
T:
luov890351pc
822522?1148488?1200742?nccsign5
118728411927121199221
T:
rainbow5ccyclicc963664
675877?1194066?2117685?
T:
qtesla3s
126177612642361266714aimer128f
722915?1286903?1802003?
T:
qtesla1p
973448?1376815?2595357?haetae3
145583314612581469187
T:
luov8117404pc
146303014696371477302
T:
falcon1024dyn
914155?1723825?3075324?haetae2
1026306?2275974?3258976?haetae5
325593932620433271214
T:
luov863256
326375632647643280399aimer192f
2904260?3463667?3926684?
T:
redgemss128v2
2234314?3757520?4749357?
T:
qtesla3p
3354012?3956652?4693813?
T:
redgemss128
413879341455724156244picnicl1full
466279246770824787529
T:
mqdss48
510691051143755126393picnicl1fs
635929763659646377246picnicl1ur
657208465793986592010aimer256f
812030181252828129596picnicl3full
889966189034078907895
T:
gravitysphincss
960585796103739618470aimer128s
8276389?9836571?11742502?
T:
redgemss192
8807948?10286623?12347123?
T:
redgemss192v2
107369681074542810755256
T:
luov890351
109774841146348011521625
T:
mqdss64
117661451177548011822909picnicl3fs
135985041360376213614828picnicl5full
150763991509479815108026picnicl3ur
12832602?15155111?18063045?
T:
redgemss256
151441811522797415550115
T:
rainbow1acompres363232
158331491584437715884847
T:
gravitysphincsm
176581941769289917760296picnic3l1
15249720?18099908?22195738?
T:
redgemss256v2
185795631858996618601726
T:
luov8117404
189622501897679118987290
T:
gravitysphincsl
199709491999973420092631picnicl5fs
245831252459410124929762aimer192s
247763522487615824979809picnicl5ur
271388132715339727183230
T:
sphincsf128harakasimple
290521912912079529273929
T:
sphincsf192harakasimple
312912523131954831351028
T:
sphincsf128harakarobust
378657143800650238546329picnic3l3
384915063852596638568266
T:
sphincsf192harakarobust
423108714238799842440764
T:
sphincs256
438288534386880343900833
T:
luov4849242
476240184897775649078456aimer256s
650304186516619765263442picnic3l5
725621977259804072717341
T:
sphincsf256harakasimple
876548178771606887904413
T:
sphincsf256harakarobust
902157059206999894316333
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
221600653221672865221851976
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
320403290634137
T:
rainbow1aclassic363232
607246087761089T!!!dilithium2aes
677746937771044
T:
gravitysphincss
729327456477569mqsignlr2567246
732167456975614
T:
mqsignrr2567246
728557703887325
T:
mqsignlr2567246
756648306087125mqsignrr2567246
824088350685129
T:
falcon512tree
868718707387202dilithium3aes
894518956889770T!!!dilithium2
925229292193383
T:
qtesla1
952919653897549
T:
falcon512dyn
118855119177119863haetae2
121658122546124281
T:
luov863256pc
128689129026129294dilithium5aes
144650144829145167T!!!dilithium3
162710163716164662
T:
falcon1024tree
165030165494166288ed25519
175869178397180891
T:
rainbow3cclassic683248
187910188434189528haetae3
189014189664190139
T:
qtesla3f
191762192413193066
T:
qtesla3s
192552193149194012
T:
falcon1024dyn
225207225736226260haetae5
226693226980227236T!!!dilithium5
225407227885235514nccsign1aes
252415260276266674
T:
gemss128
261765266990274290
T:
bluegemss128
261877269528274962
T:
redgemss128
270627274619283707mqsignrr25611272
275147276246278095nccsign1
276359281889290994
T:
pass769
280196283399285587
T:
gravitysphincsm
273607285264292529mqsignlr25611272
285275287321294492nccsign3aes
281812290924294256
T:
redgemss128v2
322049327845331051
T:
pass863
323012328002333788
T:
mqsignlr25611272
304149330514338779
T:
mqsignrr25611272
339746343072349466
T:
luov890351pc
345919347949350349nccsign3
353686361508372877
T:
gemss128v2
357737366768377774
T:
bluegemss128v2
381578384950390994
T:
gravitysphincsl
423899427948431462
T:
rainbow5cclassic963664
451171453836455216
T:
qtesla1p
448202453902468695nccsign5aes
466923472276474395
T:
luov8117404pc
488498497440507000
T:
sphincss128harakasimple
512024513413515630
T:
ed448goldilocks
537564546716557948nccsign5
546929551157564310
T:
mqsignrr25614896
559258573854584137mqsignlr25614896
571683584442601099mqsignrr25614896
599810617470626873
T:
bluegemss192
612071633879651962
T:
redgemss192
640264660250674996
T:
gemss192
635859669782702587
T:
mqsignlr25614896
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
122845312286391229178aimer128f
127496412810781290343
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
265182126581432667881
T:
luov863256
273529327651662791901
T:
sphincsf192harakarobust
281332228534412893720
T:
sphincsf256harakarobust
296034129911233049967
T:
mqdss48
322296532248013237053aimer192f
338581534020093410499picnicl1full
373847037990103873924
T:
sphincss128shake256simple
421438442253414237881picnicl1fs
527110652811095298242picnicl1ur
545868155839705689681
T:
sphincss192shake256simple
647091464833236486717aimer256f
676350067798126786212picnicl3full
716743372424597372339
T:
sphincss256shake256simple
727481974015997596637
T:
sphincss128shake256robust
744203575541867607980
T:
mqdss64
830437584379808614173
T:
sphincsf128shake256simple
935106893565759362603
T:
luov890351
950923495359609545630aimer128s
100284301003761310051407picnicl3fs
107945461094721411116040
T:
sphincss192shake256robust
114104201142190011443748picnicl5full
121795581219869112214986
T:
rainbow1acyclicc363232
121995511227899412646457
T:
rainbow1acompres363232
127658951279031412801851picnicl3ur
139442791397302414016694picnic3l1
141826981433677914658663
T:
sphincss256shake256robust
145183771459443014762972
T:
sphincsf192shake256simple
145355891464725214819532
T:
sphincsf256shake256simple
160497641607398216085087
T:
luov8117404
159005141614372616397524
T:
sphincsf128shake256robust
169768021700718017034629picnicl5fs
181106031827906418313621
T:
pqrsa15
212102012123562121243809picnicl5ur
243400222434813924364305aimer192s
255845162578954426104236
T:
sphincsf192shake256robust
286081342891942329252383
T:
sphincsf256shake256robust
301714743023705430809564picnic3l3
308979243092341530939379
T:
luov4849242
478769824796685548114819picnic3l5
471032144843183848544284aimer256s
687042406876112768837026
T:
picnic2l1fs
735183637359111977671834
T:
rainbow3ccompres683248
734438657378938574023797
T:
rainbow3ccyclicc683248
793210467943326279494317
T:
luov6468330
152566526152708480153112139
T:
picnic2l3fs
153002252153257313155073387
T:
luov8086399
164569894164877391178462869
T:
rainbow5ccyclicc963664
166335681166409286167288256
T:
rainbow5ccompres963664
267924940268110300268203461
T:
picnic2l5fs