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; Goldmont Plus (706a8); 2019 Intel Celeron N4020; 2 x 1100MHz; gemini, supercop-20240425

[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
716273637850picnic3l1
735773837407picnicl1full
102191025610335picnic3l3
105871060910680picnicl3full
138101382213886picnicl5full
137771392115331picnic3l5
144061451414701
T:
picnic2l1fs
151121517615280picnicl1fs
156481570815811picnicl1ur
296802977329866picnicl3ur
297402982929910picnicl3fs
326093266333058
T:
picnic2l3fs
368893696137518picnicl5fs
369003700737367picnicl5ur
363873919339615
T:
picnic2l5fs
859568609086391ed25519
187703188307191223
T:
ecdonaldp256
216897218742238536
T:
donald512
323431323925324596
T:
ed448goldilocks
336872337668341093
T:
ecdonaldp224
469791471542511768dilithium2
547304548953551600
T:
pass769
606283609213666519
T:
donald1024
681250683836688152
T:
pass863
838788841422912219dilithium3
917914924854989976dilithium2aes
947285948264950969
T:
edons128k08n72nu8l4mu3
966310967746973621
T:
sphincsf128harakasimple
111018411108701112308
T:
sphincsf128harakarobust
111656211257271239695
T:
ecdonaldp160
117169911755701183713
T:
ecdonaldk163
117649011813251274756
T:
ecdonaldp521
121242112161061328099
T:
ecdonaldb163
131631313187421436029dilithium5
133945313480181465525
T:
ecdonaldp192
140171514041201405374
T:
mqdss48
141411414150091424060
T:
sphincsf192harakasimple
161494616207971626647
T:
ecdonaldk233
165517716730391802795dilithium3aes
166448116730511817727
T:
ecdonaldb233
173323317347571737377
T:
sphincsf192harakarobust
209072820956942262821
T:
donald2048
271074827138612717595
T:
ecdonaldk283
275562727741932985470dilithium5aes
285266228584713116369
T:
ecdonaldb283
289128428948742903053
T:
edons128ref
322829632636663265767
T:
mqdss64
1950102?3395524?5011302?
T:
qtesla1
473244247372394742505
T:
ecdonaldk409
497779249863514997319
T:
ecdonaldp384
503540550446705566083
T:
ecdonaldb409
4426710?6493750?8573059?
T:
qtesla3f
9289980933929610708295
T:
3icp
9981425999668110023619
T:
ecdonaldk571
7664459?10110472?15007634?
T:
qtesla3s
8033646?10395789?12839134?
T:
qtesla1p
107270111073199910746394
T:
ecdonaldb571
108522191093191111770944
T:
sphincsf128shake256simple
121777111218166112183350
T:
sphincs256
150847441510552115302853
T:
rainbow1aclassic363232
161989761621391016216430
T:
sphincsf192shake256simple
163310501633616316341895
T:
rainbow1acyclicc363232
164429211644813916453209
T:
rainbow1acompres363232
172354071728770117406580
T:
rainbowbinary256181212
207749072077750620786337
T:
sphincsf128shake256robust
18467365?24630212?39626172?
T:
ronald512
278236662974859833348690
T:
falcon512tree
308589153086149130865182
T:
sphincss128harakasimple
308675993086999030874061
T:
sphincsf192shake256robust
24190038?30926239?41328646?
T:
rwb0fuz1024
28396006?31472702?37254970?
T:
falcon512dyn
354216603546068835562586
T:
sphincss128harakarobust
380058223811064441260718
T:
luov4849242
419431024198019942684893
T:
sphincsf256shake256simple
452288744535890345367096
T:
sphincss192harakasimple
462291034623780646251362
T:
sphincsf256harakasimple
418151614667023447311061
T:
tts6440
501467835020489350235488
T:
luov863256
550982835532036155886513
T:
sphincss192harakarobust
30196281?56138261?70749195?
T:
ronald768
51755580?59766851?67888487?
T:
qtesla3p
787314697873626378909994
T:
sphincsf256shake256robust
813150538141491781580550
T:
rainbowbinary16242020
860193008621405393301335
T:
sphincsf256harakarobust
47566598?91017801?167209583?
T:
ronald1024
8434050391116426103893355
T:
falcon1024dyn
8597183592975394100029770
T:
falcon1024tree
100383061100419587100458689
T:
gemss128
100565819100621720100688915
T:
rainbow3cclassic683248
100567154100714826100766059
T:
rainbow3ccompres683248
100969852101052125108817580
T:
bluegemss128
101613681101683347101815681
T:
redgemss128v2
102428194102490660102518483
T:
redgemss128
105520028105650151105754668
T:
rainbow3ccyclicc683248
103211836108155963108554097
T:
rainbow5640
114768208114998905125834454
T:
luov6468330
144637247144793630156105883
T:
bluegemss128v2
148448992148498570160400656
T:
gemss128v2
187815128188011934188249041
T:
luov890351
212866513213019737232925844
T:
luov8086399
225024474225902368229735677
T:
rainbow6440
159732187?237047315?451288417?
T:
ronald1536
294742854294827534294933359
T:
rainbow5cclassic963664
316793445316846248316899571
T:
sflashv2
316730656316920414317254105
T:
rainbow5ccyclicc963664
316837504317081515317646512
T:
rainbow5ccompres963664
330928371331525699359938572
T:
luov8117404
377224659377300732377381181
T:
sphincss128shake256simple
517664379518278824518737512
T:
redgemss192v2
524554483527365165577058840
T:
bluegemss192v2
525571122527671985528185621
T:
redgemss192
546033763554029094590318643
T:
bluegemss192
552804192554787582556725710
T:
gemss192
559921476560050936560335235
T:
sphincss192shake256simple
530996831574637637576469554
T:
gemss192v2
306857702?652185390?1004614661?
T:
ronald2048
666217851666354841669445012
T:
sphincss128shake256robust
679661191679710878737147384
T:
sphincss256shake256simple
738461029738521968738721939
T:
sphincss256harakasimple
823997674884646221889096089
T:
gui184
103706090910387175521041935454
T:
sphincss192shake256robust
137847151013785737881378652849
T:
sphincss256harakarobust
142588946515421258801542335172
T:
gravitysphincss
160975826616097785681609840463
T:
sphincss256shake256robust
161925450616285259591629881253
T:
redgemss256v2
164147429416469193411649130599
T:
redgemss256
163983202716482582491666569760
T:
gemss256v2
166917316016703090521888973077
T:
bluegemss256v2
168489859216853306791685546932
T:
rainbow1a
168683402817009425821715122716
T:
bluegemss256
170085700817018308321725914219
T:
gemss256
1418799149?2783337888?4099700012?
T:
ronald3072
2965432962?5328043849?8878639826?
T:
ronald4096
602933922060320600036032905470
T:
rainbow1c
615367651963136619926562537480
T:
pqrsa15
657493389065755910136577034331
T:
rainbow1b
125500503921273712321813481176533
T:
gui312
152051084171520713433516387817732
T:
rainbow4a
213282261612321586699923256341491
T:
gravitysphincsl
426451211654265656011846379817378
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
226962304123842
T:
rainbowbinary256181212
394694263143403
T:
tts6440
519185323157545
T:
rainbowbinary16242020
884499017894777
T:
rainbow5640
915049160591699ed25519
140730141491142657
T:
sflashv2
153054153636155236
T:
rainbow1aclassic363232
153479154968156431
T:
rainbow1acyclicc363232
153492155696159074
T:
rainbow6440
253410253678254010
T:
ecdonaldp256
335454335666335850
T:
ed448goldilocks
381046387267419387
T:
donald512
438605439084441119
T:
ecdonaldp224
315080?481935?948267?
T:
3icp
593876599318606036
T:
ronald512
770630778130852491
T:
donald1024
795792796950802113
T:
rainbow3ccyclicc683248
796643798781805707
T:
rainbow3cclassic683248
830194837230845948
T:
falcon512tree
839422840165842117
T:
rainbow1a
109220610957601105841
T:
ronald768
117291711791631301631
T:
ecdonaldp160
123298612354141240363
T:
ecdonaldk163
127567512790531398381
T:
ecdonaldb163
667352?1323108?1370046?
T:
pass769
140554614115351540145
T:
ecdonaldp192
140769714166151428369
T:
rwb0fuz1024
140730714203771537766
T:
falcon512dyn
880267?1441607?2326585?
T:
qtesla1
155385415635591574849
T:
ronald1024
817923?1626966?1672754?
T:
pass863
166616916709031682524
T:
falcon1024tree
170252217049121707010
T:
ecdonaldk233
175328517565451922737
T:
ecdonaldb233
177301917781471828231
T:
edons128k08n72nu8l4mu3
180646418071801960884
T:
ecdonaldp521
180715618103731816730
T:
rainbow5ccyclicc963664
180810318128201818579
T:
rainbow5cclassic963664
1409178?1842623?2922048?
T:
qtesla3f
1346902?1848122?2526229?dilithium2
224874122503902256266
T:
rainbow1c
225807822639842444501
T:
donald2048
1350106?2399427?4741134?
T:
qtesla1p
254989225528752754630
T:
rainbow4a
1930553?2797540?3983125?dilithium2aes
286384228674092873922
T:
ecdonaldk283
288476328862692888858
T:
rainbow1b
287653628906022900673
T:
falcon1024dyn
300648930098453280477
T:
ecdonaldb283
2171222?3493004?5872023?dilithium3
2826253?3884486?5587891?dilithium5
415831041679204181405
T:
edons128ref
438645444109064434597
T:
ronald1536
3852357?4767613?6975350?dilithium5aes
2879746?4772308?6685704?dilithium3aes
505948750641355071667
T:
ecdonaldk409
2681262?5188969?7674247?
T:
qtesla3s
521471652273375236700
T:
ecdonaldp384
535080053567975831904
T:
ecdonaldb409
764959676719337700397
T:
ronald2048
6400820?8098265?9328584?
T:
redgemss128
8947210?9970695?11572284?
T:
redgemss128v2
106159291063475810645101
T:
ecdonaldk571
108784221088049910887281
T:
rainbow1acompres363232
114174401142496911437103
T:
ecdonaldb571
8075893?12264146?18662258?
T:
qtesla3p
132861601442382814442427
T:
gravitysphincss
161997981642353016476950picnicl1fs
189538371914604319541450picnicl1full
213560412139502621441082
T:
ronald3072
218998292211672623849246
T:
gravitysphincsm
244349022468501324928478picnicl1ur
21175690?25999410?31666161?
T:
redgemss192
21506977?26767003?31490296?
T:
redgemss192v2
257323442777017627792546
T:
gravitysphincsl
285225472871992128840408picnicl3full
287371772874476528753405
T:
luov863256
341411633416094134218834
T:
sphincsf128harakasimple
14165974?37753974?73814852?
T:
gui184
37009272?39348720?48423662?
T:
redgemss256v2
408630714088884540919201
T:
sphincsf192harakasimple
408324714095684642154363
T:
mqdss48
410183914104356141071083
T:
sphincsf128harakarobust
32241425?43920482?57754192?
T:
redgemss256
447837604478910344853285picnicl5full
455496884559013745628097
T:
ronald4096
486270974869977648988367picnicl3fs
520944595217302452234476
T:
sphincsf192harakarobust
593519146018439160254653picnicl3ur
619302906408131775209311picnic3l1
657239406579665165889210
T:
rainbow3ccompres683248
677235726774108968398842picnicl5fs
693138356939023375736811
T:
luov4849242
994659669947772399485067
T:
luov890351
98285748118164213119277576picnicl5ur
121726525121809899123477568
T:
mqdss64
138353689139814007140016093picnic3l3
170864390170893183185217150
T:
luov8117404
176713078176889181177107243
T:
rainbow5ccompres963664
217521732217599706238828357
T:
luov6468330
223980517224044154224111641
T:
pqrsa15
225170880228346013262734755picnic3l5
228311628228559607228676989
T:
sphincs256
248219894?297736184?347099260?
T:
bluegemss128
294738361?343470164?373280426?
T:
bluegemss128v2
343684562344103914372178557
T:
sphincsf128shake256simple
431402533432449800472994897
T:
luov8086399
433286482433440063433695242
T:
picnic2l1fs
442500476442707932442858922
T:
sphincsf192shake256simple
577237717577348345577460480
T:
sphincss128harakasimple
623722069624216030624724272
T:
sphincsf128shake256robust
698584355698848505699314477
T:
sphincss128harakarobust
824150588824640556824989060
T:
sphincsf192shake256robust
688853880?825214513?1039096338?
T:
bluegemss192v2
963293734963945825964950781
T:
sphincsf256shake256simple
864073547?1039677148?1382136778?
T:
bluegemss192
126101104212613834641261632993
T:
sphincsf256harakasimple
127851096412788092441280518022
T:
sphincss192harakasimple
757026951?1324730276?2082235394?
T:
gui312
1147015606?1374477762?1727357656?
T:
bluegemss256v2
142464753514259255121426599032
T:
picnic2l3fs
1325452625?1656169880?2143230582?
T:
gemss128v2
172062962117208159131721967700
T:
sphincss192harakarobust
174277350017432666281743853292
T:
sphincsf256shake256robust
1488160513?1784346501?2085945312?
T:
bluegemss256
1554998134?1866355124?2488055263?
T:
gemss128
225673409222575688232449037928
T:
sphincsf256harakarobust
299517304432243782343225124195
T:
picnic2l5fs
4621634519?5543552579?6466905146?
T:
gemss192v2
562552932356262956455626645968
T:
sphincss128shake256simple
5845976259?7014541514?9351469661?
T:
gemss192
811133573581119793088771432370
T:
sphincss256shake256simple
924061193492421435729278474274
T:
sphincss128shake256robust
8029847676?9633822982?12840677353?
T:
gemss256v2
112311123351123221131011233251158
T:
sphincss256harakasimple
118566874391186187205911884349443
T:
sphincss192shake256simple
10571172983?12685631611?16913635637?
T:
gemss256
183630844401836347742018364105569
T:
sphincss256shake256robust
198240714001984455204619846383153
T:
sphincss256harakarobust
200211362202003001995220041657287
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
116421178511965
T:
rwb0fuz1024
196211984620408
T:
rainbowbinary256181212
298993235934388
T:
3icp
406324092541510
T:
ronald512
430724383247164
T:
rainbowbinary16242020
456594598946344
T:
ronald768
488334946450140
T:
rainbow5640
537075420254893
T:
ronald1024
594256010560927
T:
rainbow1aclassic363232
610886569967842
T:
tts6440
645986580266782
T:
rainbow6440
739977438575198
T:
ronald1536
923389596297906
T:
gravitysphincss
100670101323102263
T:
ronald2048
114942116957117387
T:
falcon512tree
122282122512123321
T:
sflashv2
143695145837158088
T:
falcon512dyn
176123176640178631
T:
ronald3072
234199236008236745
T:
falcon1024tree
257265259945284734
T:
donald512
281360281620282059
T:
qtesla1
285422286784288566
T:
ronald4096
294492296273297054
T:
falcon1024dyn
284062296905309186
T:
gui184
312884314341316660ed25519
339196341972344655
T:
rainbow3cclassic683248
364261374134390020
T:
gravitysphincsm
379730380160381028
T:
qtesla3f
382295390855395079
T:
gemss128
394830402967422298
T:
bluegemss128
413086422551458862
T:
gemss128v2
412378429648440931
T:
redgemss128v2
443772453484482060
T:
bluegemss128v2
456642466709474686
T:
redgemss128
496436518745529491
T:
gravitysphincsl
522812527129554912
T:
rainbow1a
534216534897579365dilithium2
536583546038558255
T:
sphincss128harakasimple
597534598149600028
T:
ecdonaldp256
626993631765683278
T:
donald1024
637039637809638930
T:
qtesla3s
636127639169643864
T:
edons128k08n72nu8l4mu3
801784812893825755
T:
sphincss192harakasimple
803691824856843126
T:
sphincss128harakarobust
835734838906841781
T:
pass769
855091856952929255dilithium3
904637908789983515dilithium2aes
925515926855930280
T:
ecdonaldp224
930540933022935597
T:
qtesla1p
932756955277968996
T:
gemss192
944589956145973058
T:
rainbow5cclassic963664
958488972040994514
T:
redgemss192
9711929846841024080
T:
redgemss192v2
9635859967571026663
T:
bluegemss192
99184510171991072290
T:
bluegemss192v2
101777710197671022006
T:
pass863
97104710316521066216
T:
gemss192v2
114506611476351150183
T:
ed448goldilocks
114437411619681274153
T:
ecdonaldp160
117050611720181176543
T:
edons128ref
124181112565561273984
T:
sphincsf128harakasimple
129136413106031332653
T:
sphincss192harakarobust
133607813472901477672
T:
ecdonaldp192
137318513740791374999
T:
rainbow1b
140990614113571533539dilithium5
156379415700561695216dilithium3aes
184912818519371990652
T:
rainbow4a
188059518981511915396
T:
sphincsf128harakarobust
183224919097691962153
T:
gui312
193731919740912023589
T:
gemss256
196148619763981977459
T:
rainbow1c
196836119939022017634
T:
sphincsf192harakasimple
199093920402662085799
T:
bluegemss256
200363220514642103835
T:
gemss256v2
199282520574762106191
T:
redgemss256
205849820907412229098
T:
donald2048
205353920935592143351
T:
redgemss256v2
204210421085372267802
T:
bluegemss256v2
235283423566032362542
T:
ecdonaldk163
243804624427082662478
T:
ecdonaldb163
271162327249102945725dilithium5aes
288705329269072948332
T:
sphincs256
317615332253743252727
T:
sphincsf192harakarobust
326861732711513275609
T:
ecdonaldk233
336806833740843686842
T:
ecdonaldb233
344321334459133739809
T:
ecdonaldp521
427229042835384299201
T:
ecdonaldp384
453402945498134559743
T:
qtesla3p
553847055419375545273
T:
ecdonaldk283
561269056148625616969
T:
rainbow1acompres363232
561177856176565626335
T:
rainbow1acyclicc363232
582064958340956353345
T:
ecdonaldb283
613292263204596434311
T:
sphincss128shake256simple
912016392874779441059
T:
sphincss192shake256simple
977934497913509801564
T:
ecdonaldk409
103821771038899911322312
T:
ecdonaldb409
111930141141087111559279
T:
sphincss128shake256robust
113135521153069412014995
T:
sphincss256shake256simple
130706151309430113149993picnicl1fs
138911341393240914090469picnicl1full
138685861420306615005771
T:
sphincsf128shake256simple
151834591535661815510994
T:
sphincss256harakasimple
174933611772053518027737
T:
sphincss192shake256robust
198462582005823220136160picnicl1ur
206218622064437820663552
T:
ecdonaldk571
216722452173947021901002picnicl3full
221685242221332722244539
T:
ecdonaldb571
223418552252829822709303
T:
sphincsf192shake256simple
224496122268440722902313
T:
sphincsf256shake256simple
268257742683223126837170
T:
luov863256
268514172729808727772319
T:
sphincsf128shake256robust
269255022745817827903215
T:
sphincss256shake256robust
282350372849731428773251
T:
sphincsf256harakasimple
285842682893509829224719
T:
sphincss256harakarobust
286725362907090929578253
T:
mqdss48
333223443334678933372835
T:
pqrsa15
339375523399464234096328
T:
rainbow3ccyclicc683248
340354623410969334160069
T:
rainbow3ccompres683248
344203213468359734713188picnicl5full
387732683891923339106345picnicl3fs
426032304322740643730607
T:
sphincsf256shake256robust
443093044468922945127584
T:
sphincsf192shake256robust
501174235060783550967933picnicl3ur
521736335231577856509398
T:
luov4849242
535636785425700858305235
T:
sphincsf256harakarobust
525684085447514364160348picnic3l1
557834265617176856278612picnicl5fs
770562397722758577328994
T:
rainbow5ccyclicc963664
771843867741422277573997
T:
rainbow5ccompres963664
864193438739785689086333
T:
mqdss64
939145089393081893950005
T:
luov890351
831952219652047097009645picnicl5ur
117176882118319010118514441picnic3l3
149733025149779414163516980
T:
luov6468330
161489166161507616175033102
T:
luov8117404
181525022184236593211783724picnic3l5
253294149253393823253489430
T:
picnic2l1fs
275910793276018160302322657
T:
luov8086399
751729959753335419754030782
T:
picnic2l3fs
148666648715810566761581380761
T:
picnic2l5fs