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-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: 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
402640384081picnicl1full
431443614617picnic3l1
528853075381
T:
picnic2l1fs
571557405771picnicl3full
602060346064picnicl1ur
603060576094picnicl1fs
610961136163picnic3l3
760976397756picnic3l5
759576457820picnicl5full
838184548628
T:
picnic2l3fs
978498099889picnicl3fs
980798829956picnicl3ur
109001108011698
T:
picnic2l5fs
127271284513171picnicl5fs
128571291613318picnicl5ur
227122277223200
T:
lattisigns512
444864462144811aimer128f
446174474844938aimer128s
451144518045340ed25519
502945053751026T!!!dilithium2aes
794057963379944dilithium3aes
815568173082107T!!!dilithium2
108734108837108967aimer192f
119978120214120667dilithium5aes
124280124432124956aimer192s
146163146450146909T!!!dilithium3
153329153623153966
T:
ed448goldilocks
182460183738185104nccsign1aes
198145200262213992
T:
pass769
223881224299225555T!!!dilithium5
225296227383229760
T:
pass863
235526236469239845nccsign1
239748241306243117nccsign3aes
245766270220284024
T:
hector
271809272076272663aimer256f
304658304972305293aimer256s
312558314607319785nccsign3
372744375429377748nccsign5aes
474791477280484030nccsign5
329301?678208?1355006?haetae2
403117?714560?1448637?haetae3
777765778742790913
T:
sphincsf128harakasimple
789230790377792389
T:
mqdss48
866040866364866774
T:
sphincsf128harakarobust
869051882556894194
T:
donald2048
452336?935984?1499784?haetae5
9941979997651019188
T:
sphincsf192harakasimple
127853612804481281534
T:
sphincsf192harakarobust
869905?1579820?1996778?
T:
qtesla1
185549618572761865794
T:
mqdss64
244675824595602468032
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
848994488070598903903mqsignlr2567246
847232488171768909537
T:
mqsignlr2567246
921962592418069284439
T:
luov863256pc
101381751020736310358921
T:
rainbowbinary256181212
108372121103924611109494
T:
mqsignrr2567246
109334231108058711195121mqsignrr2567246
117393271174381311763101
T:
sphincsf192shake256robust
164478931645660116488137
T:
sphincsf256shake256simple
169762641700155117521381
T:
rainbow1aclassic363232
165730931757772818848732
T:
falcon512tree
166641731757838518901042
T:
falcon512dyn
186369311865623818680570
T:
rainbow1acompres363232
186411331876330619491419
T:
luov890351
188273061884237919020437
T:
rainbow1acyclicc363232
199365701998473320079240
T:
luov4849242
248989152493491225108135
T:
sphincss128harakasimple
275949442763686927680964
T:
sphincss128harakarobust
307143403072249230738399
T:
sphincsf256shake256robust
316078653170473536176254
T:
luov8117404
346518883467530734916089
T:
sphincss192harakasimple
26385635?35079101?43196675?
T:
qtesla3p
353633173657862337800591mqsignlr25611272
356510103701787137694063
T:
mqsignlr25611272
371810403728910737373026
T:
sphincss192harakarobust
370692603740613337784391
T:
luov890351pc
417912044185587941915115
T:
sphincss256harakasimple
453365264569391445896537
T:
mqsignrr25611272
457260564625342046842331mqsignrr25611272
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
858904788852076892451678
T:
mqsignlr25614896
861352508862481789754815mqsignlr25614896
899969219001451690059836
T:
gemss128v2
928141539284133792941015
T:
bluegemss128v2
962087439624207596446187
T:
redgemss128v2
107444474109047492111483221
T:
rainbow3cclassic683248
112447643112655268116896567
T:
rainbow3ccompres683248
116739224120110686120771946
T:
rainbow3ccyclicc683248
119795818122587357124424887
T:
mqsignrr25614896
122662187122841916123055436
T:
luov8086399
129025425129680605132134819mqsignrr25614896
136132972136158395136205730
T:
sphincss128shake256simple
201212502201242735201404617
T:
sphincss192shake256simple
252181240252243659252385407
T:
sphincss128shake256robust
262915403262929318262952639
T:
sphincss256shake256simple
280073861280184754280403798
T:
gemss192
301594335301925311302141619
T:
bluegemss192
302038594302469814303845402
T:
redgemss192
320501913322118208323794236
T:
rainbow5cclassic963664
340741766341450411341713464
T:
rainbow5ccompres963664
343761764344624365346899746
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
477304789251033ed25519
831968354384663
T:
rainbow1aclassic363232
859108624288078
T:
rainbow1acyclicc363232
912509256298268
T:
mqsignlr2567246
103925118762120566mqsignlr2567246
124391126369129879
T:
mqsignrr2567246
109349?142170?224990?T!!!dilithium2aes
146411150742156837mqsignrr2567246
160619160853161342
T:
ed448goldilocks
212575?217786?423752?
T:
pass769
163680?229078?331119?dilithium5aes
156036?242373?375918?T!!!dilithium2
154506?253649?404819?dilithium3aes
246962253941275209
T:
mqsignlr25611272
269048281259302024
T:
hector
229801?289226?397861?T!!!dilithium3
305117308934312450mqsignlr25611272
119240?333980?452641?
T:
lattisigns512
338125340359342206
T:
luov863256pc
359000362565414798
T:
mqsignrr25611272
364968366933369072
T:
rainbow3cclassic683248
196139?378485?579867?
T:
qtesla1
334641?385816?505752?nccsign1aes
402344407837412266
T:
falcon512tree
418220422424432780mqsignrr25611272
356308?472914?556472?T!!!dilithium5
256960?489121?507474?
T:
pass863
489886492798495458
T:
rainbow3ccyclicc683248
487293500328541982
T:
mqsignlr25614896
511723?516242?760524?nccsign3
576919580397593540mqsignlr25614896
399566?582492?768410?nccsign1
419058?628234?1047444?nccsign3aes
681635699998710340
T:
mqsignrr25614896
377550?710592?1130748?
T:
qtesla3f
719879723781732996
T:
falcon512dyn
660714?747738?1245619?nccsign5aes
802945807672814931
T:
falcon1024tree
858813861722864957
T:
rainbow5cclassic963664
876317884671897238
T:
donald2048
875748895986915750mqsignrr25614896
979175981897988127
T:
luov890351pc
990530994480997712
T:
rainbow5ccyclicc963664
810209?1125174?1535806?nccsign5
675877?1194066?2117685?
T:
qtesla3s
126177612642361266714aimer128f
722915?1286903?1802003?
T:
qtesla1p
972978?1405768?2219220?haetae3
145583314612581469187
T:
luov8117404pc
146303014696371477302
T:
falcon1024dyn
911290?1728599?2553230?haetae2
1084197?1885285?3678079?haetae5
325593932620433271214
T:
luov863256
326375632647643280399aimer192f
2904260?3463667?3926684?
T:
redgemss128v2
2234314?3757520?4749357?
T:
qtesla3p
3354012?3956652?4693813?
T:
redgemss128
414196741469434161762picnicl1full
466279246770824787529
T:
mqdss48
510145851099255118889picnicl1fs
635318263658866372215picnicl1ur
657208465793986592010aimer256f
809239981031898108673picnicl3full
889966189034078907895
T:
gravitysphincss
960585796103739618470aimer128s
8276389?9836571?11742502?
T:
redgemss192
8807948?10286623?12347123?
T:
redgemss192v2
107369681074542810755256
T:
luov890351
109774841146348011521625
T:
mqdss64
117179471174203011752411picnicl3fs
135963891361053713643567picnicl5full
150763221509381415116206picnicl3ur
12832602?15155111?18063045?
T:
redgemss256
151442601519974415235641
T:
rainbow1acompres363232
158331491584437715884847
T:
gravitysphincsm
176217561763136317641958picnic3l1
15249720?18099908?22195738?
T:
redgemss256v2
185795631858996618601726
T:
luov8117404
189622501897679118987290
T:
gravitysphincsl
198266271985631319913702picnicl5fs
245831252459410124929762aimer192s
249114092561772025705026picnicl5ur
271388132715339727183230
T:
sphincsf128harakasimple
290521912912079529273929
T:
sphincsf192harakasimple
312912523131954831351028
T:
sphincsf128harakarobust
376696933774161337913071picnic3l3
384915063852596638568266
T:
sphincsf192harakarobust
422101414225292842341365
T:
sphincs256
438288534386880343900833
T:
luov4849242
476240184897775649078456aimer256s
650125546517555765242391picnic3l5
725621977259804072717341
T:
sphincsf256harakasimple
876548178771606887904413
T:
sphincsf256harakarobust
905045349055561790742859
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
224526895224674407224975649
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
317603261933588
T:
rainbow1aclassic363232
355433588336237
T:
lattisigns512
607116084760996T!!!dilithium2aes
677746937771044
T:
gravitysphincss
704457166372914
T:
mqsignlr2567246
721517294374218mqsignlr2567246
726947376477696
T:
mqsignrr2567246
739317679881539mqsignrr2567246
824088350685129
T:
falcon512tree
868878709687681dilithium3aes
894458961589857T!!!dilithium2
925229292193383
T:
qtesla1
952919653897549
T:
falcon512dyn
118304118684119201haetae2
121658122546124281
T:
luov863256pc
128444128877129102dilithium5aes
144661144853145054T!!!dilithium3
162677163681170704ed25519
162710163716164662
T:
falcon1024tree
176482178633180907
T:
rainbow3cclassic683248
188621188903189583haetae3
189014189664190139
T:
qtesla3f
191762192413193066
T:
qtesla3s
192552193149194012
T:
falcon1024dyn
223853225377227363nccsign1aes
225214226316233938haetae5
226937227180227706T!!!dilithium5
252415260276266674
T:
gemss128
261765266990274290
T:
bluegemss128
265215267097268524nccsign1
261877269528274962
T:
redgemss128
269502272707302585
T:
mqsignrr25611272
271228274694289496mqsignlr25611272
272562274954278718mqsignrr25611272
276986281839287222
T:
pass769
280196283399285587
T:
gravitysphincsm
284250285535287526nccsign3aes
281812290924294256
T:
redgemss128v2
313956320742325651
T:
mqsignlr25611272
319859321973324490
T:
pass863
339746343072349466
T:
luov890351pc
345944347690348748nccsign3
353686361508372877
T:
gemss128v2
357737366768377774
T:
bluegemss128v2
381578384950390994
T:
gravitysphincsl
420546426405429955
T:
rainbow5cclassic963664
445430447345450004nccsign5aes
451171453836455216
T:
qtesla1p
466923472276474395
T:
luov8117404pc
488498497440507000
T:
sphincss128harakasimple
512024513413515630
T:
ed448goldilocks
529468536246547211nccsign5
542891552212571670mqsignlr25614896
546925555494575555mqsignrr25614896
553776556275564752
T:
mqsignrr25614896
553428586164632111
T:
mqsignlr25614896
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
109423811183871145027
T:
hector
114039311604881175645
T:
sphincsf128harakasimple
122845312286391229178aimer128f
127974812892961312343
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
338702034006213411695picnicl1full
373847037990103873924
T:
sphincss128shake256simple
420384742183634224308picnicl1fs
527423252825865296998picnicl1ur
545868155839705689681
T:
sphincss192shake256simple
647091464833236486717aimer256f
674513367529926767754picnicl3full
716743372424597372339
T:
sphincss256shake256simple
727481974015997596637
T:
sphincss128shake256robust
744203575541867607980
T:
mqdss64
830437584379808614173
T:
sphincsf128shake256simple
935106893565759362603
T:
luov890351
950923495359609545630aimer128s
9915846993432210178088picnicl3fs
107945461094721411116040
T:
sphincss192shake256robust
114083191141921611431341picnicl5full
121599861216901212238159
T:
rainbow1acompres363232
121755171217825812181590
T:
rainbow1acyclicc363232
127826931279154612817934picnicl3ur
139361211394607813966512picnic3l1
141826981433677914658663
T:
sphincss256shake256robust
145183771459443014762972
T:
sphincsf192shake256simple
145355891464725214819532
T:
sphincsf256shake256simple
160497641607398216085087
T:
luov8117404
159005141614372616397524
T:
sphincsf128shake256robust
169063591699371017054730picnicl5fs
181106031827906418313621
T:
pqrsa15
213061872186713321956139picnicl5ur
243400222434813924364305aimer192s
255845162578954426104236
T:
sphincsf192shake256robust
286081342891942329252383
T:
sphincsf256shake256robust
301603973017689730199153picnic3l3
308979243092341530939379
T:
luov4849242
478177664788102747974462picnic3l5
471032144843183848544284aimer256s
687042406876112768837026
T:
picnic2l1fs
734658067381004674338919
T:
rainbow3ccompres683248
735655797385803873929855
T:
rainbow3ccyclicc683248
793210467943326279494317
T:
luov6468330
152566526152708480153112139
T:
picnic2l3fs
153002252153257313155073387
T:
luov8086399
164905794164986158167750288
T:
rainbow5ccyclicc963664
167767145167984351168835839
T:
rainbow5ccompres963664
267924940268110300268203461
T:
picnic2l5fs