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; Coffee Lake (906ea); 2018 Intel Xeon E-2124; 4 x 3300MHz; r24000, supercop-20241022

[Page version: 20250111 18:45:36]

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
405940794102picnicl1full
433043384427picnic3l1
526852925359
T:
picnic2l1fs
573957445781picnicl3full
604960716113picnicl1ur
606660846145picnicl1fs
621262296259picnic3l3
745774707558picnic3l5
750275257622picnicl5full
782480708267
T:
picnic2l3fs
973797589808picnicl3fs
975597739815picnicl3ur
105211058410714
T:
picnic2l5fs
128951299213180picnicl5ur
131301325313511picnicl5fs
258732595726052
T:
lattisigns512
449684518045313T!!!ed25519
455704572745927aimer128f
456984576545933aimer128s
488134900449237dilithium2aes
772087749577939dilithium3aes
797288013580358dilithium2
108858109037109285aimer192s
118044118409118855dilithium5aes
121598121663121811aimer192f
144269144762145222dilithium3
152855153197153528
T:
ed448goldilocks
185149186733188159nccsign1aes
207805208725209488
T:
pass769
220447221351222173T!!!dilithium5
227108229092231489nccsign1
236812238200239298nccsign3aes
254856255676256593
T:
pass863
248086256488270279
T:
hector
275420275684276407aimer256f
306558306839307636aimer256s
317649319494322932nccsign3
362131363705366250nccsign5aes
474271476747479887nccsign5
397511?671785?880018?haetae2
706829707525708344
T:
sphincsf128harakasimple
831761833500836074
T:
mqdss48
885658891985901936
T:
donald2048
907071907550910820
T:
sphincsf128harakarobust
576499?1060893?1838705?haetae3
117672611789691190116
T:
sphincsf192harakasimple
129492313060481308529
T:
sphincsf192harakarobust
667682?1323037?1863889?haetae5
1161580?1555920?2244978?
T:
qtesla1
194539219475211949005
T:
mqdss64
230899923105012314423
T:
sphincs256
271072627186142728618
T:
sphincsf256harakasimple
314619131472213156146
T:
sphincsf128shake256simple
319374332010763212552
T:
sphincsf256harakarobust
444979144539134460049
T:
luov863256
466530846673484669253
T:
sphincsf192shake256simple
3391646?4996305?9857059?
T:
qtesla3f
549748454999615502981
T:
sphincsf128shake256robust
4699087?6103441?7594556?
T:
qtesla1p
721386972163957219690
T:
mqsignlr2567246
739171374122517423304mqsignlr2567246
4630362?7622221?10546197?
T:
qtesla3s
762080076458377658668
T:
luov863256pc
822975582322668235627
T:
sphincsf192shake256robust
950565195096299548077mqsignrr2567246
978587597967009840766
T:
mqsignrr2567246
106704221069546210741081
T:
rainbowbinary256181212
121289241213231812135185
T:
sphincsf256shake256simple
168358581756111919164923
T:
falcon512dyn
171753591819231520604797
T:
falcon512tree
183113971832474318351386
T:
luov890351
192122941922489319292146
T:
rainbow1aclassic363232
198614141992789620012441
T:
luov4849242
203858322039991120500033
T:
rainbow1acompres363232
204924302054453920597223
T:
rainbow1acyclicc363232
210657342106793421071266
T:
sphincsf256shake256robust
223834752238541322436647
T:
sphincss128harakasimple
276675062817479228213435
T:
sphincss128harakarobust
306931173074461530787960
T:
luov890351pc
317216043173505131760248
T:
luov8117404
332770633328954933313355mqsignlr25611272
332374003329078533311426
T:
mqsignlr25611272
382286993827493738335051
T:
sphincss192harakasimple
33020807?38822509?50145760?
T:
qtesla3p
410210914110162041199589mqsignrr25611272
410910924110800741189499
T:
mqsignrr25611272
413893994155417142210739
T:
sphincss192harakarobust
434960854355080643901923
T:
sphincss256harakasimple
464783444726039048301592
T:
rainbowbinary16242020
507572105153886452612109
T:
sphincss256harakarobust
533378845338094453470949
T:
luov8117404pc
517103775386324156215262
T:
falcon1024dyn
521208635422296756809837
T:
falcon1024tree
657544706577596565843973
T:
gemss128v2
675012676755407367617184
T:
bluegemss128v2
689102376896645272764437
T:
redgemss128
699310207009702970248598
T:
luov6468330
721119437213582372189099
T:
redgemss128v2
742482767431141074341690
T:
bluegemss128
743307397435619574388711
T:
gemss128
834941918352724183600768mqsignlr25614896
835424688358013283640793
T:
mqsignlr25614896
100743057100756760102222938
T:
sphincss128shake256simple
113542774113663395113749346
T:
mqsignrr25614896
115489219115646061115838981
T:
rainbow3cclassic683248
118674484118704571118762163
T:
rainbow3ccompres683248
118491115118931954119468323
T:
rainbow3ccyclicc683248
120724575120941551122449222mqsignrr25614896
129856840130053591130283869
T:
luov8086399
148230463148269975148306959
T:
sphincss192shake256simple
176226166176236171176245353
T:
sphincss128shake256robust
192449644192471867192493117
T:
sphincss256shake256simple
248070231248217748248546103
T:
redgemss192
264704040264740199264759728
T:
sphincss192shake256robust
304191870304436761304656215
T:
bluegemss192
328732580328967639329377278
T:
gemss192
333334503333918993334639594
T:
rainbow5cclassic963664
336038310336051682336067274
T:
sphincss256shake256robust
342154702342702782342808314
T:
gemss192v2
343126674343423324343787041
T:
rainbow5ccyclicc963664
344161453344298192344464481
T:
bluegemss192v2
349348799349569750350023504
T:
redgemss192v2
359905655360051296360490763
T:
rainbow5ccompres963664
701813610703540448704038645
T:
gemss256
724255187724860654725353732
T:
redgemss256
726800784730206202731595497
T:
bluegemss256
102143442210227876551026217040
T:
gemss256v2
102145269010244649911029069027
T:
bluegemss256v2
102104888510252199781028949396
T:
redgemss256v2
106200687010620791721062361326
T:
gravitysphincss
379068153339322288564022450855
T:
pqrsa15
169902196741699256105116999939879
T:
gravitysphincsl
339832182973398656222333998269549
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
173951762519252
T:
rainbowbinary256181212
340543442235304
T:
rainbowbinary16242020
477034781947946T!!!ed25519
840268503886201
T:
mqsignlr2567246
879948874089940
T:
rainbow1aclassic363232
950519618697326
T:
rainbow1acyclicc363232
106866108065109140mqsignlr2567246
122448124719127024
T:
mqsignrr2567246
81585?146178?227185?dilithium2aes
144527147531151258mqsignrr2567246
160443160618160814
T:
ed448goldilocks
148663?198256?269297?dilithium2
109608?221358?343595?dilithium3aes
215833?227162?445367?
T:
pass769
246607250086252186
T:
mqsignlr25611272
270336274954292718
T:
hector
274714?284162?554799?
T:
pass863
164128?284929?417138?dilithium5aes
299441302801305050mqsignlr25611272
121536?341410?565890?
T:
lattisigns512
353955357457360651
T:
luov863256pc
261232?376989?602145?
T:
qtesla1
374122378440381562
T:
mqsignrr25611272
379835?383602?563378?nccsign1
287923?391230?485673?dilithium3
388687392792398760
T:
falcon512tree
398422400788402745
T:
rainbow3cclassic683248
401527402861405129
T:
rainbow3ccyclicc683248
280349?417687?607864?T!!!dilithium5
432777435215437644mqsignrr25611272
321686?446659?481796?nccsign1aes
487858490256493637
T:
mqsignlr25614896
579397584481586156mqsignlr25614896
425787?643871?868100?nccsign3aes
409936?693371?1054784?
T:
qtesla3f
695156700589704603
T:
mqsignrr25614896
705246708424713795
T:
falcon512dyn
523531?727154?1230134?nccsign3
779656783795795549
T:
falcon1024tree
782175?785133?1437504?nccsign5
865824870115871831mqsignrr25614896
886298891642897865
T:
donald2048
902780905670910002
T:
rainbow5ccyclicc963664
902846907115909585
T:
rainbow5cclassic963664
652090?907600?1481885?nccsign5aes
492680?922081?1194246?
T:
qtesla1p
536356?979146?2167090?
T:
qtesla3s
121338512199851223978
T:
luov890351pc
124714412491561249760aimer128f
140775214136251419500
T:
falcon1024dyn
632002?1423981?2206493?haetae2
175636117619411765433
T:
luov8117404pc
1003308?1814214?3035693?haetae5
946923?2121316?3690410?haetae3
330862533114843313745
T:
luov863256
332645933272373328469aimer192f
3207405?3750430?4426452?
T:
redgemss128v2
2939844?3910120?5422342?
T:
qtesla3p
413462141369404146567picnicl1full
3358825?4453424?4794294?
T:
redgemss128
468341146933634991904
T:
mqdss48
508358750881275140996picnicl1fs
636510763670156373957picnicl1ur
657387965761276591536aimer256f
807337380756518077200picnicl3full
866575186693368674802
T:
gravitysphincss
951094395266969542694aimer128s
7913171?9629858?11160731?
T:
redgemss192
105510021055243410555566
T:
luov890351
8935565?11411609?12867375?
T:
redgemss192v2
117333051173557611746027picnicl3fs
118922661206898812104298
T:
mqdss64
135622581356683613584538picnicl5full
152212601523002315240195picnicl3ur
13492928?15361641?18089749?
T:
redgemss256v2
155605111557398715589447
T:
gravitysphincsm
12308650?16289674?18873688?
T:
redgemss256
167268411673955816857033
T:
rainbow1acompres363232
178598281787199617881238picnic3l1
183554831836380218372982
T:
luov8117404
184964911851218618596356
T:
gravitysphincsl
201554302016156420172377picnicl5fs
246200702463718324655341aimer192s
249560902499030925007407
T:
sphincsf128harakasimple
251158832518654525254912picnicl5ur
326443503267261032705405
T:
sphincsf128harakarobust
336919283371873133748628
T:
sphincsf192harakasimple
377472923777798537818768picnic3l3
385603283859637038655566
T:
sphincsf192harakarobust
408254294086010740958844
T:
sphincs256
451247494515257545170825
T:
luov4849242
475993424760451147609379aimer256s
656670656574639865835544picnic3l5
684495836848499368524680
T:
sphincsf256harakasimple
841644388424441284447191
T:
sphincsf256harakarobust
100583694100795938101073675
T:
rainbow3ccompres683248
103766388103879889103976478
T:
sphincsf128shake256simple
97574532?116903016?137005712?
T:
bluegemss128v2
119784668119856940119937879
T:
pqrsa15
134245943134386034134491395
T:
sphincsf192shake256simple
115516827?138661455?161669009?
T:
bluegemss128
141389782141467044141947086
T:
luov6468330
156478583156718835157086239
T:
picnic2l1fs
174677903174849417175053489
T:
sphincsf128shake256robust
232962048233221553233518665
T:
sphincsf192shake256robust
246562100247773936248068159
T:
rainbow5ccompres963664
282339744282492163283073663
T:
luov8086399
283816401283981073284383114
T:
sphincsf256shake256simple
256299478?306677537?359335571?
T:
bluegemss192v2
294278736?353365590?413078430?
T:
bluegemss192
416676513416896499417216432
T:
sphincss128harakasimple
455664873456070825456332011
T:
picnic2l3fs
481454268481847601482434775
T:
sphincsf256shake256robust
434403481?520848948?693376253?
T:
bluegemss256v2
529663347531112401534399725
T:
sphincss128harakarobust
452385121?542745694?634089637?
T:
bluegemss256
599319281599443683608634522
T:
sphincss256harakasimple
609914069?614092008?853585573?
T:
gemss128v2
736019017736401721739401039
T:
sphincss256harakarobust
714985960?857488547?1002940528?
T:
gemss128
957652463958011439958186288
T:
picnic2l5fs
102110734910268219311031168220
T:
sphincss192harakasimple
123598634512371575251241753552
T:
sphincss192harakarobust
160398241016042514641616221237
T:
sphincss128shake256simple
1755691949?2106486447?2457029386?
T:
gemss192v2
232156712523221580052322947137
T:
sphincss256shake256simple
2077771243?2493183186?2840747307?
T:
gemss192
263357143326339533382634296738
T:
sphincss128shake256robust
2649561477?3178303950?3744266121?
T:
gemss256v2
336801598733738206883375197857
T:
sphincss192shake256simple
389047193839055465043911100797
T:
sphincss256shake256robust
3397914661?4076900533?5435021453?
T:
gemss256
547528081354759384935489216496
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
144441453714730
T:
rainbowbinary256181212
243892474125191
T:
rainbowbinary16242020
311323169132456
T:
rainbow1aclassic363232
379403812538547
T:
lattisigns512
604566056060736dilithium2aes
667486848970285mqsignlr2567246
668226906071224
T:
mqsignlr2567246
678516952070700
T:
gravitysphincss
732427400474878
T:
falcon512tree
745627644777983
T:
mqsignrr2567246
741917691878336mqsignrr2567246
872048739187632dilithium3aes
888928902689210dilithium2
880528904089936
T:
falcon512dyn
103423103851104491
T:
qtesla1
119062119537120052haetae2
129908130352130820dilithium5aes
133391135114139323
T:
luov863256pc
144393144543144754dilithium3
148165148938149876
T:
falcon1024tree
163034163949165187T!!!ed25519
176932178175179704
T:
falcon1024dyn
178186180309182739
T:
rainbow3cclassic683248
184668185172185540haetae3
202016202469202971
T:
qtesla3s
202522203180203907
T:
qtesla3f
221036221320222016haetae5
224224224926225806nccsign1aes
227135227506228359T!!!dilithium5
259063261018262535nccsign1
284228286123287346
T:
pass769
287902289380290671nccsign3aes
284860289779293534
T:
gravitysphincsm
286491290072300218
T:
bluegemss128
290445298476304369
T:
gemss128
294937298503301698
T:
mqsignlr25611272
295545299066300433mqsignlr25611272
299107300823303056mqsignrr25611272
299951301155304012
T:
mqsignrr25611272
318881323551333673
T:
redgemss128
343350345778356378
T:
redgemss128v2
339996350269358527
T:
gemss128v2
348826350400354011
T:
pass863
348654356252362003
T:
bluegemss128v2
356039358094359446nccsign3
372668374418377381
T:
luov890351pc
373232377936382659
T:
gravitysphincsl
375895380799384547
T:
rainbow5cclassic963664
440302441907443925nccsign5aes
450761460591471128
T:
sphincss128harakasimple
465483466310468543
T:
qtesla1p
508091509661510774
T:
ed448goldilocks
517954520513532297
T:
luov8117404pc
526832528185530547nccsign5
548104550454556207mqsignrr25614896
553764556842559498mqsignlr25614896
557580559134561453
T:
mqsignlr25614896
558146562412565353
T:
mqsignrr25614896
605119623900637628
T:
redgemss192
642096655597672013
T:
sphincss128harakarobust
651122662585674139
T:
bluegemss192
654715670085680426
T:
gemss192
743394759281773757
T:
bluegemss192v2
748714762318776440
T:
redgemss192v2
770538784326801615
T:
gemss192v2
779353791202799045
T:
sphincss192harakasimple
9791789960911006728
T:
sphincss256harakasimple
102871110367841046387
T:
hector
103422010493631064956
T:
sphincss192harakarobust
104843610563821063724
T:
donald2048
104565310595091081968
T:
sphincsf128harakasimple
116938311951941227009
T:
gemss256v2
119000411977451203159
T:
sphincs256
118657512103771233382
T:
bluegemss256v2
121873712192281220879aimer128f
122770112486531290856
T:
redgemss256v2
126985512850911313394
T:
gemss256
125746212866191302194
T:
bluegemss256
134762813923141418093
T:
redgemss256
144254714622711474973
T:
sphincss256harakarobust
150927515280961552539
T:
sphincsf128harakarobust
175469917648051778536
T:
sphincsf192harakasimple
189291819107961926639
T:
sphincsf256harakasimple
223615422437752258774
T:
qtesla3p
249964325318232556301
T:
sphincsf192harakarobust
265001626509302653276
T:
luov863256
276111227907752815710
T:
sphincsf256harakarobust
290986429406363115509
T:
mqdss48
310808531740483251083
T:
sphincss128shake256simple
328090132822163286086aimer192f
337308833771533393609picnicl1full
419905242167284233453picnicl1fs
461211246753954735598
T:
sphincss192shake256simple
526027252878335293276picnicl1ur
598385560613256194708
T:
sphincss256shake256simple
603062662989056414703
T:
sphincss128shake256robust
648562864864746488420aimer256f
672562467289326733768picnicl3full
772851678159287926443
T:
sphincsf128shake256simple
807360481307638216171
T:
mqdss64
903277491511979344380
T:
sphincss192shake256robust
932595893470929353311
T:
luov890351
946287694752599492110aimer128s
997351599832729992168picnicl3fs
112953941131705911323936picnicl5full
114038651167479911864382
T:
sphincss256shake256robust
122001951230371812402422
T:
sphincsf192shake256simple
122147491235912912477191
T:
sphincsf256shake256simple
128115131282154212833356picnicl3ur
136711261367736414053218
T:
rainbow1acompres363232
137535721376677813831920
T:
rainbow1acyclicc363232
142056621422322514234483picnic3l1
147855631498024415133179
T:
sphincsf128shake256robust
160077881602054816063421
T:
luov8117404
170786501710356217112464
T:
pqrsa15
171589321717869117191006picnicl5fs
213098332132288321342392picnicl5ur
236055572377654324041759
T:
sphincsf192shake256robust
235288352379455424183219
T:
sphincsf256shake256robust
244480982447185024476678aimer192s
302578083027793030304920picnic3l3
327949993280726032818993
T:
luov4849242
470633074707629647080785aimer256s
489364314897992249021507picnic3l5
697974646988797270058060
T:
picnic2l1fs
826583428276026983367400
T:
rainbow3ccyclicc683248
823255678295327083430641
T:
rainbow3ccompres683248
867842078684077087196887
T:
luov6468330
151391076151469899151508930
T:
picnic2l3fs
155407118155616869155718534
T:
luov8086399
184976949185181129185360603
T:
rainbow5ccyclicc963664
185029093186627398188914474
T:
rainbow5ccompres963664
265787871265932063266043235
T:
picnic2l5fs