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-20240716

[Page version: 20240726 23:45:48]

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.


Implementation notes

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
319732133258picnicl1full
354135643604picnic3l1
442744444484picnic3l3
444144624497picnicl3full
508951345184
T:
picnic2l1fs
515951915240picnicl1ur
514452005235picnicl1fs
574157605876picnicl5full
575257795948picnic3l5
9111920510268
T:
picnic2l3fs
925893009367picnicl3fs
925693119443picnicl3ur
122301240613848
T:
picnic2l5fs
125421343315393picnicl5ur
137121429614731picnicl5fs
493754946049681aimer128s
561685670156864aimer128f
576595817858836ed25519
647146494165509T!!!dilithium2aes
964239666596924T!!!dilithium2
102056102358102908dilithium3aes
119221119353119511aimer192f
119419119525119583aimer192s
158629159315159861dilithium5aes
172842173370178663T!!!dilithium3
174852175023175249
T:
ed448goldilocks
244358248149250592
T:
pass769
268120268594269087T!!!dilithium5
290498293541296639
T:
pass863
300666300885301064aimer256f
342504342880350491aimer256s
826953827922830467
T:
mqdss48
881018905966906273
T:
sphincsf128harakasimple
108767510964371096986
T:
sphincsf128harakarobust
627748?1193098?2189798?haetae2
126080312702131286422
T:
donald2048
128642412869311287515
T:
sphincsf192harakasimple
1003592?1602372?3397816?haetae3
161894416237381626633
T:
sphincsf192harakarobust
1310862?1723889?2547263?
T:
qtesla1
189863919005451905543
T:
mqdss64
281578128192382822542
T:
sphincs256
350270035066563507402
T:
sphincsf256harakasimple
1521503?3556732?4577739?haetae5
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
810336981332448149169
T:
mqsignlr2567246
821532982201888231842
T:
sphincsf128shake256robust
975221497557869758579
T:
luov863256pc
120711281207921012084513
T:
sphincsf192shake256robust
134322971343962213447732
T:
mqsignrr2567246
172000751720763317238008
T:
sphincsf256shake256simple
183041391831400618348836
T:
rainbow1aclassic363232
191946811924633719301815
T:
luov4849242
182226941955562020890366
T:
falcon512tree
186142701975758020673066
T:
falcon512dyn
202149112024213020283631
T:
rainbow1acyclicc363232
203042302031904320340860
T:
rainbow1acompres363232
214581722148622721501516
T:
luov890351
285343782882187828883673
T:
sphincss128harakasimple
319408063201826932205773
T:
sphincsf256shake256robust
348511813488686234958335
T:
sphincss128harakarobust
27589436?35214636?42786512?
T:
qtesla3p
363261343637641136428300
T:
mqsignlr25611272
365261543661509336735710
T:
luov890351pc
366633233667185036835834
T:
luov8117404
423952104247466842485185
T:
sphincss192harakasimple
504417025047079950634065
T:
sphincss192harakarobust
539971705400446054007579
T:
sphincss256harakasimple
561474125621507556315660
T:
mqsignrr25611272
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
869306988715230087240033
T:
mqsignlr25614896
954269809547424895537188
T:
gemss128v2
976483659766160597725159
T:
bluegemss128v2
114870239114947974115004345
T:
rainbow3cclassic683248
116916909117321427118572052mqsignlr2567246
119477206119659124120798963
T:
rainbow3ccompres683248
121536172121785367122610512
T:
luov8086399
127029608127203619127872778
T:
rainbow3ccyclicc683248
133432487133620331133999376
T:
mqsignrr25614896
143122833143153564144213117
T:
sphincss128shake256simple
161066842161114240161178979mqsignrr2567246
209921784210166488210549596
T:
sphincss192shake256simple
263500823263556234263605818
T:
sphincss128shake256robust
269968175270739828271409776
T:
redgemss192
274949978275160376275202411
T:
sphincss256shake256simple
333802636333871011333999073
T:
bluegemss192
335005566335054063335159144
T:
gemss192
339083802339402298339732031
T:
rainbow5cclassic963664
364465840364964649365547605
T:
rainbow5ccompres963664
372854503373101764373372729
T:
rainbow5ccyclicc963664
387550668387751581387786283
T:
sphincss192shake256robust
403795662403917134406320568mqsignlr25611272
478123777478187062478324481
T:
gemss192v2
482537026482934894483076556
T:
bluegemss192v2
484980361485786458488216480
T:
redgemss192v2
512372453512413052535898359
T:
sphincss256shake256robust
557671938557971237561119894mqsignrr25611272
856979942859765430865078699
T:
redgemss256
854489045861500203869157766
T:
redgemss256v2
916787305917803055939775167mqsignlr25614896
100949296210102954981011548334
T:
gemss256
101297608610181997821043181320
T:
bluegemss256
128510473912866614441298243320mqsignrr25614896
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
602276031460420ed25519
905119116092094
T:
rainbow1aclassic363232
103595104805106053
T:
mqsignlr2567246
148361148733149378
T:
rainbow1acyclicc363232
147509150267152313
T:
mqsignrr2567246
183105183426184203
T:
ed448goldilocks
154244?218848?314844?T!!!dilithium2aes
191462?255257?368138?T!!!dilithium2
298518300980307699
T:
mqsignlr25611272
204067?306492?425427?dilithium3aes
229819?314355?596083?dilithium5aes
230532?357032?554337?T!!!dilithium3
415450420667426715
T:
falcon512tree
275391?436839?862677?
T:
qtesla1
434112440226451678
T:
luov863256pc
453609457859462190
T:
mqsignrr25611272
465964471083474366
T:
rainbow3cclassic683248
288022?542803?595451?
T:
pass769
429428?545690?784616?T!!!dilithium5
605509612382624450
T:
rainbow3ccyclicc683248
603523612519616821
T:
mqsignlr25614896
343703?676684?1007583?
T:
pass863
753654756463758187mqsignlr2567246
425414?767443?1099768?
T:
qtesla3f
786856790958795601
T:
falcon512dyn
834057842869883817
T:
falcon1024tree
429306?868994?1669064?
T:
qtesla3s
872530886341893922
T:
mqsignrr25614896
104474510567191072767
T:
rainbow5cclassic963664
116942211845431203427
T:
rainbow5ccyclicc963664
126514012748561287841
T:
donald2048
133299313393621362696mqsignrr2567246
135392213619201380492
T:
luov890351pc
819695?1367121?2112801?
T:
qtesla1p
146944214787321484865aimer128f
152907515502311583484mqsignlr25611272
160845416129721622328
T:
falcon1024dyn
804958?1837187?3554590?haetae2
1042836?1893662?4139380?haetae3
199690020081282026024
T:
luov8117404pc
259670126069152641002mqsignrr25611272
1718885?2723538?3754146?haetae5
359011436119583613944aimer192f
371070437114333712596
T:
luov863256
370736237387233778552mqsignlr25614896
377524137773083779446picnicl1full
3408770?4230276?5501226?
T:
qtesla3p
4016647?4690947?5292913?
T:
redgemss128v2
474532547474624750089picnicl1fs
502552750593335087638mqsignrr25614896
4290020?5084478?6169117?
T:
redgemss128
522806252551045273920
T:
mqdss48
604184760655336073115picnicl1ur
706084070930687183707aimer256f
725676172611237263394picnicl3full
111088531111359911197581aimer128s
114681821148210511497288picnicl3fs
120217401202483012027216picnicl5full
121648741216844612187237
T:
luov890351
125196441336783613606731
T:
mqdss64
10424500?13596851?15278230?
T:
redgemss192v2
11004683?14348618?17340327?
T:
redgemss192
147090461471309614716843
T:
gravitysphincss
150092151502154415031304picnicl3ur
166311321700724217021809
T:
rainbow1acompres363232
179033871791706517928586picnic3l1
201845912024987320306277picnicl5fs
212269212123363321243447
T:
luov8117404
18124680?21743818?28028561?
T:
redgemss256
18557670?21854307?27238223?
T:
redgemss256v2
249220112495221325961197picnicl5ur
262798052629117626592915
T:
gravitysphincsm
267807202678349926979080aimer192s
313036383133094931613193
T:
gravitysphincsl
320229133204829432077599
T:
sphincsf128harakasimple
375895053761557437696906
T:
sphincsf192harakasimple
384871453850297838523717picnic3l3
402294244026423940298474
T:
sphincsf128harakarobust
427063644272529342814591
T:
luov4849242
492744724934254549446613
T:
sphincsf192harakarobust
501298985019033350256911
T:
sphincs256
505549425075610351394803aimer256s
647680366493915565009307picnic3l5
897199568976419889804515
T:
sphincsf256harakasimple
100517826101458443101649018
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
241975981244674649246934397
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
322933388534660
T:
rainbow1aclassic363232
795437988880143T!!!dilithium2aes
857318709187630
T:
falcon512tree
909169226194126
T:
mqsignlr2567246
915569551699728
T:
mqsignrr2567246
102200103454104416
T:
falcon512dyn
103382103567104097
T:
qtesla1
108051108319108432T!!!dilithium2
107006110405112610
T:
gravitysphincss
115805116096116649dilithium3aes
135924136491136777haetae2
146444148183152880
T:
luov863256pc
173267174203175058
T:
falcon1024tree
176618176948181046T!!!dilithium3
176164177377177948dilithium5aes
186285187442188049ed25519
207049207495208178
T:
qtesla3f
207474208487209156
T:
falcon1024dyn
210568211307212066
T:
qtesla3s
213742214082214468haetae3
235932239348242810
T:
rainbow3cclassic683248
235036243976253884
T:
redgemss128v2
246959247590250334haetae5
245124255138265581
T:
bluegemss128
260745269548278934
T:
gemss128
270748279080292766
T:
redgemss128
279656280184284937T!!!dilithium5
288759306070320871
T:
bluegemss128v2
304578309340317918
T:
gemss128v2
363825366770373168
T:
mqsignrr25611272
365931368568374778
T:
mqsignlr25611272
361861369584371677
T:
pass769
432609434583436407
T:
pass863
436419442978447350
T:
luov890351pc
470763477986484993
T:
gravitysphincsm
516065517830518665
T:
qtesla1p
591948593417595136
T:
ed448goldilocks
591286599634606884
T:
rainbow5cclassic963664
591742605277611640
T:
luov8117404pc
611551618703639213
T:
sphincss128harakasimple
625105631605636650
T:
gravitysphincsl
670058679982701419
T:
redgemss192
679516688950700362
T:
gemss192
695857711354731456
T:
bluegemss192
706969723305734036
T:
gemss192v2
726342746095759766
T:
bluegemss192v2
733730749007764412
T:
mqsignlr25614896
749704753014766552
T:
mqsignrr25614896
742599760344775232
T:
redgemss192v2
904922921116942520
T:
sphincss128harakarobust
925672932053945214
T:
sphincss192harakasimple
129621613202781340662
T:
sphincss256harakasimple
144440714466021448884aimer128f
143479814669831496468
T:
gemss256
142515714726141494425
T:
redgemss256
145816414797161495809
T:
sphincss192harakarobust
146318614833721493759
T:
sphincsf128harakasimple
146492214960301539532
T:
bluegemss256
148539314991051503874
T:
donald2048
150923215158161527736
T:
sphincs256
149262215263751552053
T:
redgemss256v2
151370415476251569039
T:
bluegemss256v2
154430615810941611361
T:
gemss256v2
198166720085502040589
T:
sphincss256harakarobust
214572521713462199776
T:
sphincsf128harakarobust
231730723294042345840
T:
sphincsf192harakasimple
243626424434912450026
T:
qtesla3p
252550325274582530062mqsignrr2567246
250176025287032552628
T:
sphincsf256harakasimple
255792525597862569150mqsignlr2567246
258560325923622618203mqsignlr25611272
264587826490202694790mqsignrr25611272
296195329634922964848
T:
luov863256
300855030107563033850picnicl1full
337074433960433423162
T:
mqdss48
354026435525383617603mqsignrr25614896
356822235799303653798mqsignlr25614896
356224735916703607267aimer192f
361113836453703669485
T:
sphincsf192harakarobust
378689638278073870911
T:
sphincsf256harakarobust
383002138328723853865picnicl1fs
403966340933254176328
T:
sphincss128shake256simple
491871749328784951782picnicl1ur
587300058782475885219picnicl3full
586303359436946038124
T:
sphincss192shake256simple
687538768833496884636aimer256f
770942677829977908327
T:
sphincss256shake256simple
781524079230948068219
T:
sphincss128shake256robust
848056490080369174188
T:
mqdss64
963408096419129647601picnicl3fs
976926197953209810846picnicl5full
970372998193109993040
T:
sphincsf128shake256simple
105163651052153710550653
T:
luov890351
110055791101166811167784aimer128s
114997911169877911849967
T:
sphincss192shake256robust
126058311261728112625573picnicl3ur
134097651362838313675182
T:
rainbow1acompres363232
136209091366814913905849
T:
rainbow1acyclicc363232
142906811430642914323739picnic3l1
150493481533964815490098
T:
sphincss256shake256robust
154832541563628815817412
T:
sphincsf192shake256simple
154805831580993715943936
T:
sphincsf256shake256simple
169864431702245717914953picnicl5fs
180624801814144218168539
T:
luov8117404
188145181900030919328010
T:
sphincsf128shake256robust
197633621977851119805635
T:
pqrsa15
209345062096562820996337picnicl5ur
269849552723751127333691aimer192s
299382642995394529964437
T:
luov4849242
299966113019755330613970
T:
sphincsf192shake256robust
303896213040653630423404picnic3l3
303981863084836531246610
T:
sphincsf256shake256robust
483024484836852548849406picnic3l5
503324715035034850426152aimer256s
698601846994891770103946
T:
picnic2l1fs
778331707812097578147850
T:
luov6468330
800404218006660680080668
T:
rainbow3ccyclicc683248
805084888089584682144844
T:
rainbow3ccompres683248
149782112149835394149920946
T:
luov8086399
159498741159756708160012407
T:
picnic2l3fs
178349885178605326179727840
T:
rainbow5ccyclicc963664
179125838179224363181571661
T:
rainbow5ccompres963664
279613036279792440280121568
T:
picnic2l5fs