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-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
436543774421picnicl1full
445150385136picnic3l1
508951345184
T:
picnic2l1fs
602060506192picnic3l3
647765356870picnicl1fs
645369317224picnicl1ur
6091?7502?8171?picnicl3full
786178808049picnic3l5
799085108723picnicl5full
9111920510268
T:
picnic2l3fs
109111177012397picnicl3ur
122301240613848
T:
picnic2l5fs
108921261313280picnicl3fs
142211432215621picnicl5ur
143531570716281picnicl5fs
257492627327023
T:
lattisigns512
492604933949527aimer128f
493724943949510aimer128s
573385749057825ed25519
645466506565749T!!!dilithium2aes
962229643396789T!!!dilithium2
102879103246103992dilithium3aes
119149119220119306aimer192f
134169134483134893aimer192s
158569159874162651dilithium5aes
174852175023175249
T:
ed448goldilocks
173882175592183238T!!!dilithium3
196090197903200032nccsign1aes
247367248235251729
T:
pass769
250283252030255406nccsign1
252224260242266315
T:
hector
260260262657264834nccsign3aes
269726276326285505T!!!dilithium5
289617291217293384
T:
pass863
300718301255301495aimer256f
328150329777331940nccsign3
342500342900350203aimer256s
401993404212405913nccsign5aes
503740506116508355nccsign5
289985?522370?986971?haetae2
339264?573635?1158707?haetae3
826953827922830467
T:
mqdss48
520489?893618?1389051?haetae5
881018905966906273
T:
sphincsf128harakasimple
108767510964371096986
T:
sphincsf128harakarobust
126080312702131286422
T:
donald2048
128642412869311287515
T:
sphincsf192harakasimple
161894416237381626633
T:
sphincsf192harakarobust
1310862?1723889?2547263?
T:
qtesla1
189863919005451905543
T:
mqdss64
278506927872522788463
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
827221883034648419932
T:
mqsignlr2567246
827628683124558337233mqsignlr2567246
975221497557869758579
T:
luov863256pc
110326771112723211220888mqsignrr2567246
110173091117247511282512
T:
mqsignrr2567246
120711281207921012084513
T:
sphincsf192shake256robust
172000751720763317238008
T:
sphincsf256shake256simple
182896861834915918357761
T:
rainbow1aclassic363232
191946811924633719301815
T:
luov4849242
182226941955562020890366
T:
falcon512tree
186142701975758020673066
T:
falcon512dyn
202348652027754720284127
T:
rainbow1acyclicc363232
204693992047906520514370
T:
rainbow1acompres363232
214581722148622721501516
T:
luov890351
285343782882187828883673
T:
sphincss128harakasimple
319408063201826932205773
T:
sphincsf256shake256robust
348511813488686234958335
T:
sphincss128harakarobust
27589436?35214636?42786512?
T:
qtesla3p
365261543661509336735710
T:
luov890351pc
366633233667185036835834
T:
luov8117404
366679233711298937443142mqsignlr25611272
368342163994906740466729
T:
mqsignlr25611272
423952104247466842485185
T:
sphincss192harakasimple
479946564827575948519651
T:
mqsignrr25611272
504417025047079950634065
T:
sphincss192harakarobust
506849455113438851690407mqsignrr25611272
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
897917349060835093141143
T:
mqsignlr25614896
904114929096901892101380mqsignlr25614896
954269809547424895537188
T:
gemss128v2
976483659766160597725159
T:
bluegemss128v2
114406420114563779114726122
T:
rainbow3cclassic683248
118156142118206446118445567
T:
rainbow3ccyclicc683248
118971134119209104119375822
T:
rainbow3ccompres683248
121536172121785367122610512
T:
luov8086399
122472671123091285123823880
T:
mqsignrr25614896
130775278133559482137274028mqsignrr25614896
143122833143153564144213117
T:
sphincss128shake256simple
209921784210166488210549596
T:
sphincss192shake256simple
263500823263556234263605818
T:
sphincss128shake256robust
269968175270739828271409776
T:
redgemss192
274949978275160376275202411
T:
sphincss256shake256simple
333802636333871011333999073
T:
bluegemss192
335005566335054063335159144
T:
gemss192
338292599338518043338857074
T:
rainbow5cclassic963664
350793021350994008351340399
T:
rainbow5ccyclicc963664
353504087353993864354449461
T:
rainbow5ccompres963664
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
602036028060381ed25519
917809282495013
T:
rainbow1aclassic363232
112259115004121841
T:
mqsignlr2567246
136108138231141404mqsignlr2567246
136385139265145160
T:
rainbow1acyclicc363232
158624166981174477
T:
mqsignrr2567246
183105183426184203
T:
ed448goldilocks
177295194951203973mqsignrr2567246
146381?218987?367742?T!!!dilithium2aes
144924?239056?331118?T!!!dilithium2
152797?249483?385060?dilithium3aes
276726285732291511
T:
hector
226286?304467?382526?dilithium5aes
295450338847361239
T:
mqsignlr25611272
359805366240389489mqsignlr25611272
370376?380499?574057?nccsign1aes
293359?415629?619014?T!!!dilithium3
415450420667426715
T:
falcon512tree
275391?436839?862677?
T:
qtesla1
434112440226451678
T:
luov863256pc
433557?446358?658686?nccsign1
455177462567478956
T:
mqsignrr25611272
461593467165474116
T:
rainbow3cclassic683248
480330485885495672
T:
rainbow3ccyclicc683248
344467?491070?614941?T!!!dilithium5
260178?508110?819108?
T:
lattisigns512
287000?540371?1077379?
T:
pass769
551386580080601850mqsignrr25611272
565367?581396?1124518?nccsign3
622087631490665000
T:
mqsignlr25614896
475918?673097?1112350?nccsign3aes
336987?682479?1015248?
T:
pass863
723681733275752804mqsignlr25614896
425414?767443?1099768?
T:
qtesla3f
786856790958795601
T:
falcon512dyn
834057842869883817
T:
falcon1024tree
429306?868994?1669064?
T:
qtesla3s
875808897958904215
T:
mqsignrr25614896
104081210516941067424
T:
rainbow5cclassic963664
105561610747351093260
T:
rainbow5ccyclicc963664
773437?1091253?1560899?nccsign5aes
108450311007771132445mqsignrr25614896
126514012748561287841
T:
donald2048
135392213619201380492
T:
luov890351pc
917368?1362378?1732845?nccsign5
819695?1367121?2112801?
T:
qtesla1p
145231914535211463002aimer128f
160845416129721622328
T:
falcon1024dyn
1212568?1788710?3270062?haetae5
199690020081282026024
T:
luov8117404pc
1085570?2386558?3372996?haetae2
1598814?2539185?4430172?haetae3
358763235900843609978aimer192f
371070437114333712596
T:
luov863256
3408770?4230276?5501226?
T:
qtesla3p
429193342941164296563picnicl1full
4016647?4690947?5292913?
T:
redgemss128v2
4290020?5084478?6169117?
T:
redgemss128
522806252551045273920
T:
mqdss48
533714253426475347169picnicl1fs
665832066612196665932picnicl1ur
708895570990917171292aimer256f
846587184705128472964picnicl3full
110972801110021311155376aimer128s
121648741216844612187237
T:
luov890351
124415781245950612491890picnicl3fs
125196441336783613606731
T:
mqdss64
10424500?13596851?15278230?
T:
redgemss192v2
141334661413513014146984picnicl5full
11004683?14348618?17340327?
T:
redgemss192
147090461471309614716843
T:
gravitysphincss
159840841634966816665943picnicl3ur
164065371641203416491501
T:
rainbow1acompres363232
183713791839366718570942picnic3l1
211374432114824721176438picnicl5fs
212269212123363321243447
T:
luov8117404
18124680?21743818?28028561?
T:
redgemss256
18557670?21854307?27238223?
T:
redgemss256v2
262798052629117626592915
T:
gravitysphincsm
264249422643707328171460picnicl5ur
268053612681481526836203aimer192s
313036383133094931613193
T:
gravitysphincsl
320229133204829432077599
T:
sphincsf128harakasimple
375895053761557437696906
T:
sphincsf192harakasimple
399413464005081940543451picnic3l3
402294244026423940298474
T:
sphincsf128harakarobust
427063644272529342814591
T:
luov4849242
492744724934254549446613
T:
sphincsf192harakarobust
497251684978718849868586
T:
sphincs256
505416875086034551391806aimer256s
680225266884755969532601picnic3l5
897199568976419889804515
T:
sphincsf256harakasimple
9997458599987760100041260
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
241422149241545687241679579
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
337193515039965
T:
rainbow1aclassic363232
400754045840836
T:
lattisigns512
790587922279553T!!!dilithium2aes
857318709187630
T:
falcon512tree
102200103454104416
T:
falcon512dyn
103382103567104097
T:
qtesla1
101598104777110911mqsignlr2567246
108088108186108297T!!!dilithium2
97930109656118896
T:
mqsignlr2567246
107006110405112610
T:
gravitysphincss
105158112034118790
T:
mqsignrr2567246
116520116799117255dilithium3aes
99595?120711?133864?mqsignrr2567246
129286129903131151haetae2
146444148183152880
T:
luov863256pc
173267174203175058
T:
falcon1024tree
174178174590174962dilithium5aes
176967177323185155T!!!dilithium3
186046187131188580ed25519
207049207495208178
T:
qtesla3f
206957207774209958haetae3
207474208487209156
T:
falcon1024dyn
210568211307212066
T:
qtesla3s
239142242318245900
T:
rainbow3cclassic683248
235036243976253884
T:
redgemss128v2
248058249338250525haetae5
245124255138265581
T:
bluegemss128
251952256029258479nccsign1aes
260745269548278934
T:
gemss128
278505278954289865T!!!dilithium5
270748279080292766
T:
redgemss128
295326297613299727nccsign1
288759306070320871
T:
bluegemss128v2
304578309340317918
T:
gemss128v2
324998327281328518nccsign3aes
355862362780379834mqsignlr25611272
362184370598376610
T:
mqsignrr25611272
364154373064374777
T:
pass769
384582387147390725nccsign3
367622?414440?515690?
T:
mqsignlr25611272
438810439741441886
T:
pass863
411586440148464068mqsignrr25611272
436419442978447350
T:
luov890351pc
470763477986484993
T:
gravitysphincsm
516065517830518665
T:
qtesla1p
519553521582523653nccsign5aes
574754579718583074
T:
rainbow5cclassic963664
591948593417595136
T:
ed448goldilocks
591742605277611640
T:
luov8117404pc
608406610714616234nccsign5
611551618703639213
T:
sphincss128harakasimple
625105631605636650
T:
gravitysphincsl
670058679982701419
T:
redgemss192
679516688950700362
T:
gemss192
695857711354731456
T:
bluegemss192
706969723305734036
T:
gemss192v2
726342746095759766
T:
bluegemss192v2
732023754094769799
T:
mqsignrr25614896
742599760344775232
T:
redgemss192v2
769171784828826794mqsignrr25614896
767922793336806586mqsignlr25614896
787935814752868472
T:
mqsignlr25614896
904922921116942520
T:
sphincss128harakarobust
925672932053945214
T:
sphincss192harakasimple
109030211033441108193
T:
hector
129621613202781340662
T:
sphincss256harakasimple
142567714268651428160aimer128f
143479814669831496468
T:
gemss256
142515714726141494425
T:
redgemss256
145816414797161495809
T:
sphincss192harakarobust
146318614833721493759
T:
sphincsf128harakasimple
146492214960301539532
T:
bluegemss256
148539314991051503874
T:
donald2048
149262215263751552053
T:
redgemss256v2
151370415476251569039
T:
bluegemss256v2
154430615810941611361
T:
gemss256v2
163323616468381656506
T:
sphincs256
198166720085502040589
T:
sphincss256harakarobust
214572521713462199776
T:
sphincsf128harakarobust
231730723294042345840
T:
sphincsf192harakasimple
243626424434912450026
T:
qtesla3p
250176025287032552628
T:
sphincsf256harakasimple
296195329634922964848
T:
luov863256
337074433960433423162
T:
mqdss48
354154935475303558149picnicl1full
359155335923413593491aimer192f
361113836453703669485
T:
sphincsf192harakarobust
378689638278073870911
T:
sphincsf256harakarobust
403966340933254176328
T:
sphincss128shake256simple
434736843591994372768picnicl1fs
545477654652305490201picnicl1ur
586303359436946038124
T:
sphincss192shake256simple
688103569064606907712aimer256f
706318270714397086298picnicl3full
770942677829977908327
T:
sphincss256shake256simple
781524079230948068219
T:
sphincss128shake256robust
848056490080369174188
T:
mqdss64
970372998193109993040
T:
sphincsf128shake256simple
105163651052153710550653
T:
luov890351
105180111052895110538650picnicl3fs
110895851109337211103632aimer128s
114997911169877911849967
T:
sphincss192shake256robust
118445721187225311881134picnicl5full
131274351313056013427585
T:
rainbow1acyclicc363232
132400391324471413420400
T:
rainbow1acompres363232
135687381360104113740744picnicl3ur
145238611454069414796801picnic3l1
150493481533964815490098
T:
sphincss256shake256robust
154832541563628815817412
T:
sphincsf192shake256simple
154805831580993715943936
T:
sphincsf256shake256simple
180917741811255319221810picnicl5fs
180624801814144218168539
T:
luov8117404
188145181900030919328010
T:
sphincsf128shake256robust
197633621977851119805635
T:
pqrsa15
226017652265752022881493picnicl5ur
268867722689708126943403aimer192s
299382642995394529964437
T:
luov4849242
299966113019755330613970
T:
sphincsf192shake256robust
303981863084836531246610
T:
sphincsf256shake256robust
310501463106946531108704picnic3l3
498700444992285850010888picnic3l5
502081955022228150325085aimer256s
698601846994891770103946
T:
picnic2l1fs
778331707812097578147850
T:
luov6468330
795795588014758080706789
T:
rainbow3ccyclicc683248
805013928051150380596460
T:
rainbow3ccompres683248
149782112149835394149920946
T:
luov8086399
159498741159756708160012407
T:
picnic2l3fs
178384371178653981179304893
T:
rainbow5ccompres963664
178452122178967124180165249
T:
rainbow5ccyclicc963664
279613036279792440280121568
T:
picnic2l5fs