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; Ice Lake (706e5); 2019 Intel Core i3-1035G1; 4 x 1000MHz; icelake2, supercop-20221005

[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: (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
255725862766picnic3l1
258326162707picnicl1full
346834963545picnicl1fs
348034973565picnicl3full
349935273583picnicl1ur
364036663779picnic3l3
3467?3682?5317?
T:
picnic2l1fs
454346365066picnicl5full
478948525022picnic3l5
578959316242
T:
picnic2l3fs
594360226154picnicl3ur
597160366238picnicl3fs
824483298585picnicl5fs
8484?8895?12711?picnicl5ur
839989199065
T:
picnic2l5fs
203422042420495
T:
lattisigns512
395863972439963dilithium2aes
491674940949818ed25519
611836176562108dilithium3aes
743887459675167dilithium2
890238942889874dilithium5aes
135008135546136471dilithium3
145757146151146539
T:
ed448goldilocks
181915?185812?261604?
T:
pass769
205921206379207500dilithium5
212322?215167?310924?
T:
pass863
629935632600636193
T:
sphincsf128harakasimple
654044663761672049
T:
edons128k08n72nu8l4mu3
710453712503716836
T:
mqdss48
711563713830716143
T:
sphincsf128harakarobust
853245863227878264
T:
donald2048
861850865805870785
T:
sphincsf192harakasimple
102435510277201030361
T:
sphincsf192harakarobust
1071075?1436558?2081548?
T:
qtesla1
165546216583771663114
T:
mqdss64
199393520183882045286
T:
edons128ref
230794923162092324106
T:
sphincs256
249047724966612504875
T:
sphincsf256harakasimple
288129328858142891583
T:
sphincsf256harakarobust
304346530536373080575
T:
sphincsf128shake256simple
2289395?3362116?4460522?
T:
qtesla3f
3410658?4576161?7759886?
T:
qtesla3s
455098145838734617110
T:
luov863256
460941546314824665875
T:
sphincsf192shake256simple
4398837?5087678?6408856?
T:
qtesla1p
527438852870755305099
T:
sphincsf128shake256robust
729092073027197314862
T:
luov863256pc
813026881426518203077
T:
sphincsf192shake256robust
915197592293759307793
T:
rainbowbinary256181212
123108271233035812521117
T:
sphincsf256shake256simple
157179721578226315850056
T:
rainbow1aclassic363232
158866721595237515992205
T:
rainbow1acompres363232
159388871599694916125719
T:
rainbow1acyclicc363232
173055571732307417504355
T:
luov890351
174180981798815420349740
T:
falcon512tree
172850191851089719785420
T:
falcon512dyn
196595901968461819726841
T:
sphincss128harakasimple
208744922095690121010774
T:
luov4849242
217465452175856821776766
T:
sphincsf256shake256robust
225817792260005322624250
T:
sphincss128harakarobust
264783552651912526565961
T:
luov890351pc
22306864?28424761?34619307?
T:
qtesla3p
286275452866873128777360
T:
sphincss192harakasimple
297601412978559929950935
T:
luov8117404
319304243197186132011480
T:
sphincss192harakarobust
374197053744419637681402
T:
sphincss256harakasimple
388940513997936340125583
T:
rainbowbinary16242020
440023874404841544084449
T:
sphincss256harakarobust
482365034828521748376988
T:
luov8117404pc
552610695752561362686739
T:
falcon1024dyn
555958425780229760208815
T:
falcon1024tree
627386416289387963005572
T:
luov6468330
662280806639212066498939
T:
gemss128
677813406785216468029308
T:
bluegemss128
737163057375028873881897
T:
redgemss128
860635448610299586246794
T:
gemss128v2
871978528761954189152088
T:
rainbow3cclassic683248
888633528899430389178329
T:
bluegemss128v2
912181989131699091473057
T:
redgemss128v2
940689149423126694384117
T:
rainbow3ccompres683248
943523179544536896004831
T:
rainbow3ccyclicc683248
977064399777038698074649
T:
sphincss128shake256simple
118506903118737354118955600
T:
luov8086399
144573518144826311145977986
T:
sphincss192shake256simple
158504173158661221165845092
T:
sflashv2
168012847168238020168351992
T:
sphincss128shake256robust
197457510197758009200659337
T:
sphincss256shake256simple
262822568263235809263558054
T:
sphincss192shake256robust
266390167266599454266965862
T:
rainbow5cclassic963664
275264679276074531276260892
T:
rainbow5ccompres963664
275064394276868741277615143
T:
rainbow5ccyclicc963664
287170272287397232287713289
T:
gemss192
288434058288913981289654684
T:
bluegemss192
290304326290495972291176414
T:
redgemss192
342553379342988309344254329
T:
sphincss256shake256robust
359611680360318573360753169
T:
gemss192v2
365808295366193627366774799
T:
bluegemss192v2
370482125370960739371857645
T:
redgemss192v2
781378701781794123782305316
T:
gravitysphincss
782963746783978245785090636
T:
gemss256
791153357793011557797812550
T:
bluegemss256
793240553802057428809696451
T:
redgemss256
100298677810042798791006702454
T:
gemss256v2
101900506910203616971027131030
T:
bluegemss256v2
102219441310288053701040448151
T:
redgemss256v2
402301884241597010044232481662
T:
pqrsa15
125034664701250807675112513952988
T:
gravitysphincsl
249928485062502498781325038489774
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
134741363514229
T:
rainbowbinary256181212
251862550925897
T:
rainbowbinary16242020
526285292453200ed25519
676216831469294
T:
rainbow1acyclicc363232
645236837175117
T:
rainbow1aclassic363232
750007705979737
T:
sflashv2
71129?126563?189677?dilithium2aes
153139153530154053
T:
ed448goldilocks
139292?154505?279434?dilithium2
122763?165211?258741?dilithium3aes
130495?177205?328256?dilithium5aes
254364255590258935
T:
luov863256pc
144851?281123?417264?
T:
lattisigns512
174828?292004?504766?
T:
qtesla1
219135?298524?446378?dilithium3
229685?299498?635432?
T:
pass769
303314304687308040
T:
rainbow3cclassic683248
248735?322637?503443?
T:
pass863
357200360299363317
T:
falcon512tree
254285?373511?496671?dilithium5
222152?373823?737533?
T:
qtesla3f
394335395303397433
T:
rainbow3ccyclicc683248
654517662601669703
T:
falcon512dyn
424428?672914?1104323?
T:
qtesla1p
711641720358725172
T:
luov890351pc
715894720548723012
T:
falcon1024tree
746111748735754301
T:
rainbow5cclassic963664
855799861337873421
T:
donald2048
938694941392944793
T:
rainbow5ccyclicc963664
335765?1009387?1610541?
T:
qtesla3s
104399410475591056472
T:
luov8117404pc
110053211102001129700
T:
edons128k08n72nu8l4mu3
130369513090891317480
T:
falcon1024dyn
259876626113492654233
T:
edons128ref
2006160?2671433?4435780?
T:
qtesla3p
279994328019132807534picnicl1full
2778886?3309362?4054673?
T:
redgemss128v2
333811833409363344126
T:
luov863256
342728334300383438739picnicl1fs
2815099?3539991?4053779?
T:
redgemss128
439271243962584403412picnicl1ur
446870044756014483611
T:
mqdss48
542126154296295433360picnicl3full
546152254781945578652
T:
gravitysphincss
6692421?7903996?9212838?
T:
redgemss192
794867179610057974544picnicl3fs
6764309?7988234?9853355?
T:
redgemss192v2
910585191149969124714picnicl5full
104998871050632010515330picnicl3ur
105589671057006810580250
T:
gravitysphincsm
106313791065364610662961
T:
mqdss64
111537551116573311193426
T:
luov890351
10932531?11845337?15118777?
T:
redgemss256v2
125108491267681212899756
T:
rainbow1acompres363232
127340531275742912777575
T:
gravitysphincsl
131183871313153013150316picnic3l1
139802591399599714013254picnicl5fs
11401343?15568116?17491043?
T:
redgemss256
178108881782706717849678picnicl5ur
189239891895966018968949
T:
luov8117404
218152682186429821916691
T:
sphincsf128harakasimple
252338422528593625332348
T:
sphincsf192harakasimple
256313632566679125697345
T:
sphincsf128harakarobust
276067132762447327687831picnic3l3
309422283096922631002065
T:
sphincsf192harakarobust
397620644013282340211045
T:
sphincs256
420911534213355742182169
T:
luov4849242
477209314775897947845444picnic3l5
622437096230305462345351
T:
sphincsf256harakasimple
740113517410712074213015
T:
sphincsf256harakarobust
745006407456308975097084
T:
rainbow3ccompres683248
80975280?96807274?113301591?
T:
bluegemss128v2
100938460101065216101212759
T:
sphincsf128shake256simple
118916543118952374119103267
T:
picnic2l1fs
121205405121748392122393283
T:
luov6468330
105596845?126173540?147409865?
T:
bluegemss128
133043272133399315133660941
T:
sphincsf192shake256simple
141469666141590500141690183
T:
pqrsa15
168730237169119173169540315
T:
sphincsf128shake256robust
178542576179065803179934369
T:
rainbow5ccompres963664
230350822230734074231185041
T:
sphincsf192shake256robust
235569755236115455236706200
T:
luov8086399
208476471?250265396?292152262?
T:
bluegemss192v2
237833607?285680647?379683548?
T:
bluegemss192
291381611291770585292348417
T:
sphincsf256shake256simple
349450214349702351350056210
T:
picnic2l3fs
359755438359952513360154915
T:
sphincss128harakasimple
333153434?398476994?465173401?
T:
bluegemss256v2
427693119427993603428318624
T:
sphincss128harakarobust
390647399?468153037?547634524?
T:
bluegemss256
500838447502094484503688724
T:
sphincsf256shake256robust
509922531510805929511931603
T:
sphincss256harakasimple
508027134?611177059?813885026?
T:
gemss128v2
615446346615754883616090737
T:
sphincss256harakarobust
736484709736707217737111535
T:
picnic2l5fs
629201067?752106107?892409172?
T:
gemss128
789928730790250734790786878
T:
sphincss192harakasimple
967272198968369198968936296
T:
sphincss192harakarobust
1408240036?1423346045?1991329957?
T:
gemss192v2
156123108315640766151568194598
T:
sphincss128shake256simple
1636557936?1965747501?2308913744?
T:
gemss192
242115628024422851642443583319
T:
sphincss256shake256simple
253472152725375899622538050670
T:
sphincss128shake256robust
2385992700?2865356787?3369483417?
T:
gemss256v2
330124120433133404033319529244
T:
sphincss192shake256simple
3004922788?3604399111?4206492958?
T:
gemss256
402104135540252783824028467496
T:
sphincss256shake256robust
549567964755028409405509213749
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
101681027410446
T:
rainbowbinary256181212
187371932019629
T:
rainbowbinary16242020
273622913130591
T:
rainbow1aclassic363232
312273159131899
T:
lattisigns512
510005128251781dilithium2aes
584485988361078
T:
gravitysphincss
713337159472468dilithium3aes
769327760878556
T:
falcon512tree
824848298083819
T:
qtesla1
839298411884457dilithium2
905329197293743
T:
falcon512dyn
905869555699457
T:
sflashv2
99235100008104653
T:
luov863256pc
101776102103103734dilithium5aes
131591133372135725
T:
rainbow3cclassic683248
136936137220137494dilithium3
154171155222156301
T:
falcon1024tree
168293169209170436
T:
qtesla3f
168443169212170524ed25519
168865170008172037
T:
qtesla3s
181731183670186163
T:
falcon1024dyn
215548216023216584dilithium5
246374248826254748
T:
gravitysphincsm
238436249539260801
T:
gemss128
244503252887264403
T:
bluegemss128
252664264881275632
T:
gemss128v2
259181266134270255
T:
redgemss128
259232268278274258
T:
bluegemss128v2
268980?270833?381787?
T:
pass769
259641271816280569
T:
redgemss128v2
273731276675281436
T:
rainbow5cclassic963664
275129288355292491
T:
luov890351pc
309855?314381?443309?
T:
pass863
334266340359344921
T:
gravitysphincsl
375651378909384670
T:
luov8117404pc
379460381611384282
T:
edons128k08n72nu8l4mu3
388937390676391812
T:
qtesla1p
402709411018422561
T:
sphincss128harakasimple
509499511342513470
T:
ed448goldilocks
537019550711564921
T:
gemss192
539298555243568516
T:
bluegemss192
544086555887571090
T:
redgemss192
578177592242602052
T:
gemss192v2
582035592328603605
T:
bluegemss192v2
583018592493605793
T:
sphincss128harakarobust
591186604127616365
T:
redgemss192v2
624866634213641728
T:
sphincss192harakasimple
638852642994645569
T:
edons128ref
849342867678878071
T:
sphincss256harakasimple
957496971473987269
T:
sphincsf128harakasimple
973680983283989067
T:
sphincss192harakarobust
100916510216551034349
T:
donald2048
112469611465801170723
T:
bluegemss256
112860111516401185169
T:
gemss256v2
114508511734051185765
T:
bluegemss256v2
116600511835321203910
T:
gemss256
117167711975221224546
T:
redgemss256v2
119289011978961205396
T:
sphincs256
116692712077281238310
T:
redgemss256
131647613331091351651
T:
sphincss256harakarobust
136581413767081397917
T:
sphincsf128harakarobust
149079915103301526817
T:
sphincsf192harakasimple
164261016700881682282
T:
sphincsf256harakasimple
192370319345821941558
T:
qtesla3p
229624622999842320466picnicl1full
244229524608322480086
T:
sphincsf192harakarobust
253659525528562579751
T:
sphincsf256harakarobust
269361027120462729784picnicl1fs
275040327665662773809
T:
mqdss48
285220928569202864085
T:
luov863256
307567031593163213003
T:
sphincss128shake256simple
357849135835473628499picnicl1ur
452802245376294547359picnicl3full
458008946694304791982
T:
sphincss192shake256simple
595066960678626248230
T:
sphincss128shake256robust
597242260705106236459
T:
sphincss256shake256simple
649948365150376522294picnicl3fs
697056570094647056651
T:
mqdss64
759993476307147644092picnicl5full
753582476445297852974
T:
sphincsf128shake256simple
880006488092078821755picnicl3ur
896697490275089201958
T:
sphincss192shake256robust
975620997684859804946
T:
rainbow1acompres363232
983984798675739877153
T:
rainbow1acyclicc363232
100757131008338510101688
T:
luov890351
106089271063022210648897picnic3l1
112167771124923411598067picnicl5fs
115965961180474312018730
T:
sphincss256shake256robust
120328531220074412346056
T:
sphincsf192shake256simple
121716751229744312439584
T:
sphincsf256shake256simple
144376801474856715070602
T:
sphincsf128shake256robust
149466031498449515014108picnicl5ur
172675821728036217351704
T:
luov8117404
178953791791257117938842
T:
pqrsa15
226402482267539422704243picnic3l3
230441452342129023720514
T:
sphincsf192shake256robust
237639402409603324352484
T:
sphincsf256shake256robust
310740973110043831242915
T:
luov4849242
368536833693460437007472picnic3l5
480788334812039948177145
T:
picnic2l1fs
592622545930151759812005
T:
rainbow3ccompres683248
597774136087868561180556
T:
rainbow3ccyclicc683248
763274657655065376763661
T:
luov6468330
108159740108241715108359132
T:
picnic2l3fs
131066477131421101132484702
T:
rainbow5ccyclicc963664
131128930131926883134837453
T:
rainbow5ccompres963664
146976693147249153147568293
T:
luov8086399
189963352190108938190273731
T:
picnic2l5fs