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 Xeon E3-1275 V3; 4 x 3500MHz; titan0, supercop-20240909

[Page version: 20241006 02:11:55]

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
443545454661picnic3l1
482048545032picnicl1full
508951345184
T:
picnic2l1fs
602760506081picnic3l3
605660836172picnicl3full
692870847269picnicl1ur
648071287391picnicl1fs
812587059482picnic3l5
795590469369picnicl5full
9111920510268
T:
picnic2l3fs
107621082112546picnicl3ur
111661166411935picnicl3fs
122301240613848
T:
picnic2l5fs
145641476115135picnicl5ur
152461584316336picnicl5fs
492604933949527aimer128f
493724943949510aimer128s
572505734757510ed25519
646906527766141T!!!dilithium2aes
966849830998773T!!!dilithium2
102597103013103434dilithium3aes
119149119220119306aimer192f
134169134483134893aimer192s
158809159492161841dilithium5aes
173098173525181521T!!!dilithium3
174852175023175249
T:
ed448goldilocks
199513201246203331nccsign1aes
249279250980252067
T:
pass769
250801254670256454nccsign1
260056261575264119nccsign3aes
269108269593274040T!!!dilithium5
295722298059300761
T:
pass863
300718301255301495aimer256f
327490329355331613nccsign3
342500342900350203aimer256s
402732405565409669nccsign5aes
502740505405508266nccsign5
445574?601178?1294828?haetae2
453334?687892?1039095?haetae3
826953827922830467
T:
mqdss48
446026?862951?1435435?haetae5
881018905966906273
T:
sphincsf128harakasimple
108767510964371096986
T:
sphincsf128harakarobust
126080312702131286422
T:
donald2048
128642412869311287515
T:
sphincsf192harakasimple
161894416237381626633
T:
sphincsf192harakarobust
1310862?1723889?2547263?
T:
qtesla1
189863919005451905543
T:
mqdss64
281969228242352876309
T:
sphincs256
350270035066563507402
T:
sphincsf256harakasimple
2818227?4131016?4198456?
T:
qtesla3f
428143542843494287539
T:
sphincsf256harakarobust
448818144899164495739
T:
sphincsf128shake256simple
510808351117365178223
T:
luov863256
4182643?5542378?8287098?
T:
qtesla3s
654905865506806552642
T:
sphincsf192shake256simple
5860667?6664959?8210594?
T:
qtesla1p
821532982201888231842
T:
sphincsf128shake256robust
826847782907938328930mqsignlr2567246
835943184243638455892
T:
mqsignlr2567246
975221497557869758579
T:
luov863256pc
110421071122853811392633
T:
mqsignrr2567246
112607611132684111448643mqsignrr2567246
120711281207921012084513
T:
sphincsf192shake256robust
172000751720763317238008
T:
sphincsf256shake256simple
182869501829251218298581
T:
rainbow1aclassic363232
191946811924633719301815
T:
luov4849242
182226941955562020890366
T:
falcon512tree
186142701975758020673066
T:
falcon512dyn
202117202022215020228284
T:
rainbow1acompres363232
204296712043985820677890
T:
rainbow1acyclicc363232
214581722148622721501516
T:
luov890351
285343782882187828883673
T:
sphincss128harakasimple
319408063201826932205773
T:
sphincsf256shake256robust
348511813488686234958335
T:
sphincss128harakarobust
27589436?35214636?42786512?
T:
qtesla3p
365261543661509336735710
T:
luov890351pc
366633233667185036835834
T:
luov8117404
376633343802019338356537mqsignlr25611272
386419923996717140632566
T:
mqsignlr25611272
423952104247466842485185
T:
sphincss192harakasimple
475127724878553049343802
T:
mqsignrr25611272
495840235035933751640659mqsignrr25611272
504417025047079950634065
T:
sphincss192harakarobust
539971705400446054007579
T:
sphincss256harakasimple
558093005753689463839175
T:
falcon1024tree
565769375861553363106350
T:
falcon1024dyn
638974956405250564170294
T:
luov6468330
643185396437837764466491
T:
luov8117404pc
667296086688622067336637
T:
sphincss256harakarobust
672030466731143967326634
T:
gemss128
680991656810943268117023
T:
redgemss128
690045776906440369074024
T:
bluegemss128
751880847534208775391364
T:
redgemss128v2
909246279180801792835791
T:
mqsignlr25614896
910953969205315893161189mqsignlr25614896
954269809547424895537188
T:
gemss128v2
976483659766160597725159
T:
bluegemss128v2
114448560114528216114618239
T:
rainbow3cclassic683248
118193893118354919118469190
T:
rainbow3ccyclicc683248
118990040119073842119616312
T:
rainbow3ccompres683248
121536172121785367122610512
T:
luov8086399
122893672123617881125223274
T:
mqsignrr25614896
131380331133038064136568207mqsignrr25614896
143122833143153564144213117
T:
sphincss128shake256simple
209921784210166488210549596
T:
sphincss192shake256simple
263500823263556234263605818
T:
sphincss128shake256robust
269968175270739828271409776
T:
redgemss192
274949978275160376275202411
T:
sphincss256shake256simple
333802636333871011333999073
T:
bluegemss192
335005566335054063335159144
T:
gemss192
337799065338070949340229989
T:
rainbow5cclassic963664
352998431353243517355004536
T:
rainbow5ccompres963664
353948784354658366355026161
T:
rainbow5ccyclicc963664
387550668387751581387786283
T:
sphincss192shake256robust
478123777478187062478324481
T:
gemss192v2
482537026482934894483076556
T:
bluegemss192v2
484980361485786458488216480
T:
redgemss192v2
512372453512413052535898359
T:
sphincss256shake256robust
856979942859765430865078699
T:
redgemss256
854489045861500203869157766
T:
redgemss256v2
100949296210102954981011548334
T:
gemss256
101297608610181997821043181320
T:
bluegemss256
136711106513685270201373519347
T:
gemss256v2
139026996713970190971402974361
T:
bluegemss256v2
188452186818847102811884828266
T:
gravitysphincss
450556812346415751364710067809
T:
pqrsa15
287317545812873876609528755099324
T:
gravitysphincsl
574778127225749075653957496125593
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
601906028460411ed25519
910889147593343
T:
rainbow1aclassic363232
98548102683109051
T:
rainbow1acyclicc363232
120677127233129268
T:
mqsignlr2567246
134138136268139332mqsignlr2567246
161281170822177459
T:
mqsignrr2567246
183105183426184203
T:
ed448goldilocks
154291?218874?323492?T!!!dilithium2aes
205915219005234041mqsignrr2567246
187382?234177?391589?T!!!dilithium2
156004?301395?492991?dilithium3aes
228589?366040?501848?dilithium5aes
345313366813396110
T:
mqsignlr25611272
369727?373714?558964?nccsign1aes
368232383776401535mqsignlr25611272
415450420667426715
T:
falcon512tree
288794?427768?764653?T!!!dilithium3
275391?436839?862677?
T:
qtesla1
434112440226451678
T:
luov863256pc
440982?455402?655498?nccsign1
459140466250472119
T:
rainbow3cclassic683248
465923476249484197
T:
mqsignrr25611272
482986488223494367
T:
rainbow3ccyclicc683248
295832?542961?595982?
T:
pass769
452080?606789?869838?T!!!dilithium5
578399630558665947mqsignrr25611272
613496640148684641
T:
mqsignlr25614896
473931?671405?1005432?nccsign3aes
347499?684066?1035115?
T:
pass863
711262718361738585mqsignlr25614896
425414?767443?1099768?
T:
qtesla3f
786856790958795601
T:
falcon512dyn
834057842869883817
T:
falcon1024tree
571249?848912?1581533?nccsign3
429306?868994?1669064?
T:
qtesla3s
865092870368876222
T:
mqsignrr25614896
104396810567071068175
T:
rainbow5cclassic963664
786220?1195114?1932500?nccsign5aes
116282812221631264577mqsignrr25614896
126514012748561287841
T:
donald2048
132824813351441346010
T:
rainbow5ccyclicc963664
135392213619201380492
T:
luov890351pc
819695?1367121?2112801?
T:
qtesla1p
927918?1384120?1838848?nccsign5
145231914535211463002aimer128f
160845416129721622328
T:
falcon1024dyn
1109234?1789301?3354947?haetae2
199690020081282026024
T:
luov8117404pc
1123580?2081339?3012480?haetae3
2246310?3269597?4797108?haetae5
358763235900843609978aimer192f
371070437114333712596
T:
luov863256
3408770?4230276?5501226?
T:
qtesla3p
427608842784214279997picnicl1full
4016647?4690947?5292913?
T:
redgemss128v2
4290020?5084478?6169117?
T:
redgemss128
522806252551045273920
T:
mqdss48
533591353381335343904picnicl1fs
665386466560936658190picnicl1ur
708895570990917171292aimer256f
846635784702928473472picnicl3full
110972801110021311155376aimer128s
121648741216844612187237
T:
luov890351
124175661242461912461025picnicl3fs
125196441336783613606731
T:
mqdss64
10424500?13596851?15278230?
T:
redgemss192v2
141339511414002114143474picnicl5full
11004683?14348618?17340327?
T:
redgemss192
147090461471309614716843
T:
gravitysphincss
159798631600216316660853picnicl3ur
165208071653492716540551
T:
rainbow1acompres363232
183640251841913518523017picnic3l1
211792682119348321214075picnicl5fs
212269212123363321243447
T:
luov8117404
18124680?21743818?28028561?
T:
redgemss256
18557670?21854307?27238223?
T:
redgemss256v2
262798052629117626592915
T:
gravitysphincsm
264266412649927326524480picnicl5ur
268053612681481526836203aimer192s
313036383133094931613193
T:
gravitysphincsl
320229133204829432077599
T:
sphincsf128harakasimple
375895053761557437696906
T:
sphincsf192harakasimple
402294244026423940298474
T:
sphincsf128harakarobust
400997474033866740646323picnic3l3
427063644272529342814591
T:
luov4849242
492744724934254549446613
T:
sphincsf192harakarobust
501716065026796750327562
T:
sphincs256
505416875086034551391806aimer256s
688760216956825669865784picnic3l5
897199568976419889804515
T:
sphincsf256harakasimple
997245889988695699923465
T:
rainbow3ccompres683248
114394443114454310114573096
T:
sphincsf256harakarobust
134567024135079790135137893
T:
luov6468330
145783355145826897145905448
T:
pqrsa15
147524130147715678147820643
T:
sphincsf128shake256simple
115019389?165961105?193936550?
T:
bluegemss128v2
167363149167600639167911098
T:
picnic2l1fs
186751174186958674187101581
T:
sphincsf192shake256simple
186510874?217785472?249798135?
T:
bluegemss128
241253171241622141241850171
T:
rainbow5ccompres963664
258235853258644775258916866
T:
sphincsf128shake256robust
269741524269968612270450718
T:
luov8086399
338542506339023090340026452
T:
sphincsf192shake256robust
404940181405101460405370813
T:
sphincsf256shake256simple
344876275?414429285?550488402?
T:
bluegemss192v2
496058184496204348497186256
T:
picnic2l3fs
436718632?521320335?607973889?
T:
bluegemss192
534606307535136836535775687
T:
sphincss128harakasimple
676978576678101124680963043
T:
sphincss128harakarobust
579522294?694915168?809398643?
T:
bluegemss256v2
729544189729924466730559897
T:
sphincsf256shake256robust
764549781764948633767407981
T:
sphincss256harakasimple
704061649?845026703?1125943323?
T:
bluegemss256
775608939?969311606?1355191158?
T:
gemss128
993241209993765431996194507
T:
sphincss256harakarobust
866939885?1040246845?1213737402?
T:
gemss128v2
104436265410445677681045065423
T:
picnic2l5fs
117450022611752349111175629898
T:
sphincss192harakasimple
159388613915941128611595204348
T:
sphincss192harakarobust
229411711322953053822295512425
T:
sphincss128shake256simple
2301044073?2753320473?3221485655?
T:
gemss192v2
335440705233567223423359282001
T:
sphincss256shake256simple
2966078334?3558910006?4739177448?
T:
gemss192
394008093739404646793944475142
T:
sphincss128shake256robust
3322239730?4150607284?5768979008?
T:
gemss256v2
477663254247781910364781289442
T:
sphincss192shake256simple
602056590560487177096165147603
T:
sphincss256shake256robust
5135308946?6161071556?7187877615?
T:
gemss256
807863345380838181858092251849
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
340463561139068
T:
rainbow1aclassic363232
789377906879401T!!!dilithium2aes
857318709187630
T:
falcon512tree
99040102388106562mqsignlr2567246
102200103454104416
T:
falcon512dyn
103382103567104097
T:
qtesla1
107948108087108317T!!!dilithium2
107006110405112610
T:
gravitysphincss
116460116849117075dilithium3aes
108798117166122696
T:
mqsignlr2567246
114027120496124578
T:
mqsignrr2567246
129134129532129863haetae2
122374?130174?157550?mqsignrr2567246
146444148183152880
T:
luov863256pc
173267174203175058
T:
falcon1024tree
174341174634175002dilithium5aes
177236177479184135T!!!dilithium3
186367187879189093ed25519
207049207495208178
T:
qtesla3f
207265207833211355haetae3
207474208487209156
T:
falcon1024dyn
210568211307212066
T:
qtesla3s
235036243976253884
T:
redgemss128v2
237886243978255471
T:
rainbow3cclassic683248
253257253776254412haetae5
245124255138265581
T:
bluegemss128
255016256820258568nccsign1aes
260745269548278934
T:
gemss128
270748279080292766
T:
redgemss128
278833279086280206T!!!dilithium5
298514302762306588nccsign1
288759306070320871
T:
bluegemss128v2
304578309340317918
T:
gemss128v2
324431325952327793nccsign3aes
357853370941373109
T:
pass769
363370371570388964
T:
mqsignrr25611272
383602385321387775nccsign3
380908409279444004mqsignlr25611272
427671430398437703
T:
pass863
436419442978447350
T:
luov890351pc
470763477986484993
T:
gravitysphincsm
516065517830518665
T:
qtesla1p
524875528660535325nccsign5aes
504472549512562918
T:
mqsignlr25611272
527566553560575124mqsignrr25611272
575896583582592541
T:
rainbow5cclassic963664
591948593417595136
T:
ed448goldilocks
591742605277611640
T:
luov8117404pc
613420616278620873nccsign5
611551618703639213
T:
sphincss128harakasimple
625105631605636650
T:
gravitysphincsl
670058679982701419
T:
redgemss192
679516688950700362
T:
gemss192
695857711354731456
T:
bluegemss192
706969723305734036
T:
gemss192v2
728772734252746753
T:
mqsignrr25614896
726342746095759766
T:
bluegemss192v2
742599760344775232
T:
redgemss192v2
762188777030822493mqsignlr25614896
774995789174804573
T:
mqsignlr25614896
811698880575945658mqsignrr25614896
904922921116942520
T:
sphincss128harakarobust
925672932053945214
T:
sphincss192harakasimple
129621613202781340662
T:
sphincss256harakasimple
142567714268651428160aimer128f
143479814669831496468
T:
gemss256
142515714726141494425
T:
redgemss256
145816414797161495809
T:
sphincss192harakarobust
146318614833721493759
T:
sphincsf128harakasimple
146492214960301539532
T:
bluegemss256
148539314991051503874
T:
donald2048
150967015174361530420
T:
sphincs256
149262215263751552053
T:
redgemss256v2
151370415476251569039
T:
bluegemss256v2
154430615810941611361
T:
gemss256v2
198166720085502040589
T:
sphincss256harakarobust
214572521713462199776
T:
sphincsf128harakarobust
231730723294042345840
T:
sphincsf192harakasimple
243626424434912450026
T:
qtesla3p
250176025287032552628
T:
sphincsf256harakasimple
296195329634922964848
T:
luov863256
337074433960433423162
T:
mqdss48
352425135331543545467picnicl1full
359155335923413593491aimer192f
361113836453703669485
T:
sphincsf192harakarobust
378689638278073870911
T:
sphincsf256harakarobust
403966340933254176328
T:
sphincss128shake256simple
435220143609884380988picnicl1fs
545055954772785489086picnicl1ur
586303359436946038124
T:
sphincss192shake256simple
688103569064606907712aimer256f
706546770711697075899picnicl3full
770942677829977908327
T:
sphincss256shake256simple
781524079230948068219
T:
sphincss128shake256robust
848056490080369174188
T:
mqdss64
970372998193109993040
T:
sphincsf128shake256simple
105163651052153710550653
T:
luov890351
105177991052686010538836picnicl3fs
110895851109337211103632aimer128s
114997911169877911849967
T:
sphincss192shake256robust
118722001189274011906332picnicl5full
131676491317551213799549
T:
rainbow1acyclicc363232
133313911338276413389776
T:
rainbow1acompres363232
135693701360577313667823picnicl3ur
145432971456860715178438picnic3l1
150493481533964815490098
T:
sphincss256shake256robust
154832541563628815817412
T:
sphincsf192shake256simple
154805831580993715943936
T:
sphincsf256shake256simple
180624801814144218168539
T:
luov8117404
181698761820092919249985picnicl5fs
188145181900030919328010
T:
sphincsf128shake256robust
197633621977851119805635
T:
pqrsa15
226534642271264423818904picnicl5ur
268867722689708126943403aimer192s
299382642995394529964437
T:
luov4849242
299966113019755330613970
T:
sphincsf192shake256robust
303981863084836531246610
T:
sphincsf256shake256robust
310300773115644532016467picnic3l3
499269794999538650107874picnic3l5
502081955022228150325085aimer256s
698601846994891770103946
T:
picnic2l1fs
778331707812097578147850
T:
luov6468330
795586277957419979588151
T:
rainbow3ccyclicc683248
801283948017284281258007
T:
rainbow3ccompres683248
149782112149835394149920946
T:
luov8086399
159498741159756708160012407
T:
picnic2l3fs
178226301178370712179026866
T:
rainbow5ccompres963664
178830722179577819181153461
T:
rainbow5ccyclicc963664
279613036279792440280121568
T:
picnic2l5fs