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; Kaby Lake (806e9); 2017 Intel Core i3-7100; 2 x 2400MHz; whosthere, supercop-20221122

[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
325432633290picnic3l1
330233123333picnicl1full
441644244446picnicl3full
444344534497picnic3l3
552455535599picnicl1ur
557455945618picnicl1fs
558455945749picnic3l5
563957175915picnicl5full
610561216134
T:
picnic2l1fs
102061023410277picnicl3fs
102701030210383picnicl3ur
103231035810503
T:
picnic2l3fs
141851428214460picnicl5ur
144341453214624picnicl5fs
148221488815210
T:
picnic2l5fs
232512355223690
T:
lattisigns512
474284799448123ed25519
492414940649535dilithium2aes
788667912679376dilithium3aes
801358042980871dilithium2
118303118726119445dilithium5aes
145789146156146702dilithium3
154160154622155417
T:
ed448goldilocks
175768176176178344
T:
donald512
214357215416216542
T:
pass769
220576221246222588dilithium5
245773246961247969
T:
pass863
246806247159248109
T:
ecdonaldp256
289915290729293178
T:
ecdonaldp224
317068317478319757
T:
donald1024
801477803397805970
T:
mqdss48
844411846882856015
T:
donald2048
868937869822875880
T:
ecdonaldp521
105077010993711136879
T:
sphincsf128harakasimple
118909011929591196237
T:
sphincsf128harakarobust
152310115259071532945
T:
ecdonaldk163
1168310?1526624?1942140?
T:
qtesla1
154297115496081553086
T:
edons128k08n72nu8l4mu3
154648515501661556663
T:
ecdonaldb163
156314115725371582942
T:
sphincsf192harakasimple
168554716936631699311
T:
ecdonaldp160
182863618320141834863
T:
mqdss64
204226820484722058116
T:
ecdonaldk233
205429320582352067506
T:
ecdonaldp192
208041820851982093168
T:
ecdonaldb233
202528020955042103925
T:
sphincsf192harakarobust
245213124672342468243
T:
sphincs256
2657321?2689264?3934252?
T:
qtesla3f
303165730401133046776
T:
ecdonaldk283
314813231534273158698
T:
ecdonaldb283
419424841999174213552
T:
sphincsf256harakasimple
441622044222824429450
T:
edons128ref
458206445855264647865
T:
luov863256
462664246700124812043
T:
sphincsf256harakarobust
477589947777974789518
T:
sphincsf128shake256simple
480906148302124849265
T:
ecdonaldk409
489205149070734958749
T:
3icp
502666450521775084371
T:
ecdonaldb409
3985225?5277349?7829874?
T:
qtesla3s
538109753977285417023
T:
ecdonaldp384
5404895?6140686?6894461?
T:
qtesla1p
707167270770717089433
T:
sphincsf192shake256simple
756741375717177580006
T:
luov863256pc
808410681210488124140
T:
sphincsf128shake256robust
947103894975079522435
T:
ecdonaldk571
100645751008046710111073
T:
ecdonaldb571
105107381054055410591887
T:
rainbowbinary256181212
120274481203988812057161
T:
sphincsf192shake256robust
165878891660930416639735
T:
rainbow1aclassic363232
11374028?16771864?30900757?
T:
rwb0fuz1024
168492621687882616888167
T:
rainbow1acompres363232
171530101717185117188182
T:
rainbow1acyclicc363232
189565901895991518961335
T:
sphincsf256shake256simple
185128431934372121113536
T:
falcon512dyn
198006321982737319917391
T:
luov890351
184481992053383321802283
T:
falcon512tree
223012082233950222392076
T:
luov4849242
294188002968110729755198
T:
tts6440
20712277?31572294?47983764?
T:
ronald512
323017343238955432406592
T:
sphincsf256shake256robust
332658123332335933335798
T:
luov890351pc
336103303370588633788775
T:
luov8117404
337774393402365934579535
T:
sphincss128harakasimple
28247455?35480218?40415310?
T:
qtesla3p
377576173808581538424753
T:
sphincss128harakarobust
484824014900304449450127
T:
rainbowbinary16242020
33372947?50243133?80090578?
T:
ronald768
504839875240820553318438
T:
sphincss192harakasimple
552762745547803256664690
T:
rainbow5640
573686645744141657656524
T:
luov8117404pc
564420275785785463096219
T:
falcon1024dyn
558736295801364861069781
T:
falcon1024tree
630635056330749363560550
T:
bluegemss128
645971706465579564697688
T:
redgemss128
663990016649550966658808
T:
sphincss192harakarobust
667043406707143667662661
T:
sphincss256harakasimple
688033986889490369245806
T:
gemss128
689594946909398069184602
T:
gemss128v2
715921827166803071693628
T:
redgemss128v2
733288837341123173515576
T:
bluegemss128v2
745448397524315076433205
T:
sphincss256harakarobust
944576039468694394898571
T:
luov6468330
9631378396442990107225932
T:
rainbow3cclassic683248
993486489941262499712479
T:
rainbow3ccompres683248
50682821?102120820?152643933?
T:
ronald1024
106068176106136721106349540
T:
rainbow3ccyclicc683248
127890912129433607130987404
T:
rainbow6440
140601102141111323141617084
T:
rainbow1b
154565423154693036154969128
T:
sphincss128shake256simple
177452494177862330179048245
T:
rainbow1c
181034164181233072181486111
T:
luov8086399
202047883202059095202104128
T:
sflashv2
226654698227070024227406841
T:
sphincss192shake256simple
260813134260944120260956875
T:
sphincss128shake256robust
173155658?274204581?402824124?
T:
ronald1536
293688839293971974295849927
T:
rainbow5cclassic963664
302682722302795666302966731
T:
sphincss256shake256simple
304512607304802424305018219
T:
rainbow5ccyclicc963664
307427507308059686308998554
T:
rainbow5ccompres963664
311393343312756305313390283
T:
gemss192
313256510314477742317833514
T:
bluegemss192
315511750317327858320078568
T:
redgemss192v2
330213145331618388334129749
T:
redgemss192
362246108365093251365712376
T:
bluegemss192v2
387053799387505962387935111
T:
sphincss192shake256robust
434903776435212307438635930
T:
gemss192v2
278714754?454523833?564687369?
T:
ronald2048
509913364510597728510817678
T:
sphincss256shake256robust
676935025686840196702993453
T:
gui184
951978395954651582960183367
T:
rainbow3b
100137821210041394181009526402
T:
gemss256
103033209310360384711056338409
T:
bluegemss256
103923714010470731561050795727
T:
redgemss256
111325476911133294121113404483
T:
gravitysphincss
119616700711968821631197396786
T:
gemss256v2
121072831512116313351240957377
T:
bluegemss256v2
122874712312298318371230759575
T:
redgemss256v2
898947144?1270827420?2133003690?
T:
ronald3072
164479258716475764751647988802
T:
rainbow3c
213042297021329366952135405478
T:
rainbow1a
2276562772?3469888838?6681715471?
T:
ronald4096
369016755337290365573775822738
T:
rainbow6b
463460106846356980704638263907
T:
rainbow5c
463551835148059122364864850385
T:
pqrsa15
500665887550429924615108986293
T:
gui312
715133021671604016607171316571
T:
rainbow6a
109945861811100950153911033810017
T:
rainbow4a
173086958721731929946317347694953
T:
gravitysphincsl
211817109282132366884021445109093
T:
gui448
346195385003465540929334925584702
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
157931596116162
T:
rainbowbinary256181212
291222926929488
T:
tts6440
337973425635401
T:
rainbowbinary16242020
507775087451043ed25519
547915525158136
T:
rainbow5640
616756257464246
T:
rainbow1a
826268374085243
T:
rainbow1acyclicc363232
843448517886039
T:
rainbow1aclassic363232
95141?96289?170760?
T:
rainbow6440
9554099703109217
T:
sflashv2
114116114918115739
T:
rainbow1c
109192?145938?221835?dilithium2aes
162038162324162447
T:
ed448goldilocks
118406?201287?308617?dilithium2
147089?216129?360120?dilithium3aes
123205?233365?561054?
T:
lattisigns512
233145233578234074
T:
rainbow1b
217203?266775?334076?dilithium5aes
183170?291708?493615?dilithium3
311240311802312447
T:
ecdonaldp256
367899369648371086
T:
rainbow3c
389709391176392637
T:
rainbow3cclassic683248
279538?394794?536796?dilithium5
395627399670401294
T:
ecdonaldp224
425434427238428911
T:
luov863256pc
432772441178450050
T:
donald512
126572?455413?832922?
T:
3icp
452697459008466026
T:
falcon512tree
234384?466249?710212?
T:
pass769
205031?479059?751963?
T:
qtesla1
519116521083523162
T:
rainbow3ccyclicc683248
268759?526073?798967?
T:
pass863
580556582682588200
T:
rainbow6a
578346587772595150
T:
donald1024
303314?616975?1223568?
T:
qtesla3f
717562733130735419
T:
rainbow5c
733883735422736488
T:
rainbow3b
515270?779724?1988828?
T:
qtesla3s
826533840787859707
T:
ronald512
886780892665898434
T:
falcon1024tree
898072905533908899
T:
rainbow5cclassic963664
904955908036918094
T:
rainbow5ccyclicc963664
951940955782961715
T:
falcon512dyn
103510610394461046775
T:
rainbow4a
809436?1112606?1942900?
T:
qtesla1p
110943411168551124460
T:
rwb0fuz1024
111543711197391125148
T:
donald2048
123443012366491240769
T:
luov890351pc
122596512518661274069
T:
ronald768
131571613167391318968
T:
ecdonaldp521
151729415503131571714
T:
ronald1024
158723315903891593237
T:
ecdonaldk163
162181916263921630539
T:
ecdonaldb163
169195616962041704249
T:
edons128k08n72nu8l4mu3
170196717074481711587
T:
rainbow6b
175111217598831768180
T:
ecdonaldp160
182251318250011829667
T:
luov8117404pc
194043619465201953347
T:
falcon1024dyn
213462321371522156737
T:
ecdonaldk233
213731021419652151940
T:
ecdonaldp192
217107721752132178371
T:
ecdonaldb233
316709231743223183227
T:
ecdonaldk283
317864531960123220543
T:
ronald1536
328315232885763297674
T:
ecdonaldb283
340839334146763416781
T:
luov863256
367881236830953988350picnicl1full
2482521?3749269?6457449?
T:
qtesla3p
396648939767203995200
T:
edons128ref
450388145416284571884
T:
ronald2048
495284449657914973930picnicl1fs
505167050762305091933
T:
ecdonaldk409
514504451498345155190
T:
mqdss48
493954452489086059669
T:
redgemss128
526520153024285321104
T:
ecdonaldb409
4700468?5489004?6450493?
T:
redgemss128v2
556948155855705602528
T:
ecdonaldp384
622291362280946231103picnicl1ur
700880070124517020594picnicl3full
948708794938769821646
T:
gravitysphincss
991329699409389961623
T:
ecdonaldk571
101524511020600910261470
T:
ronald3072
105518231057440910590825
T:
ecdonaldb571
111576021118155111249916
T:
luov890351
8570338?11473167?13309788?
T:
redgemss192
115753231159496911600385picnicl5full
118513951187370311886242picnicl3fs
9639778?12617443?14194834?
T:
redgemss192v2
129041261316581813330557
T:
mqdss64
135206331355754514087663
T:
rainbow1acompres363232
153366451534544116365269picnicl3ur
13302688?15976943?18920131?
T:
redgemss256
165638781672842716768813
T:
gravitysphincsm
10440089?18273480?31359132?
T:
gui184
182947651830288618314035picnic3l1
15263097?18369631?22346189?
T:
redgemss256v2
193604271937135519475765
T:
luov8117404
196246531969434219775065
T:
ronald4096
195719461971759419827246
T:
gravitysphincsl
209432232096180120980668picnicl5fs
256270732564798625669755picnicl5ur
366659033719459337759618
T:
sphincsf128harakasimple
383994073843507238696432picnic3l3
410178724137322041928217
T:
sphincsf128harakarobust
429574084318937543463072
T:
sphincs256
457285674583850845941970
T:
sphincsf192harakasimple
586098076002198860335261
T:
sphincsf192harakarobust
605117866055316760587874
T:
luov4849242
648460496487014564900489picnic3l5
816008238167819781853482
T:
rainbow3ccompres683248
104280765104493615104784885
T:
sphincsf256harakasimple
117083964118392354119026788
T:
sphincsf256harakarobust
152857710152910176153019313
T:
pqrsa15
156196884156331637156506915
T:
sphincsf128shake256simple
143628897?172566457?201689998?
T:
bluegemss128v2
144533582?173930750?206339406?
T:
bluegemss128
178828591179141413179222285
T:
picnic2l1fs
200866665201248537201755820
T:
sphincsf192shake256simple
200939109201738864201868879
T:
rainbow5ccompres963664
219710966219950989220281731
T:
luov6468330
254906272255142878255420288
T:
sphincsf128shake256robust
335520011336388305337096295
T:
sphincsf192shake256robust
306865737?367344208?488568346?
T:
bluegemss192v2
309452931?371614891?435186302?
T:
bluegemss192
441521620441762045443547481
T:
luov8086399
444609436444897103445212404
T:
sphincsf256shake256simple
525221401525353837525442566
T:
picnic2l3fs
271050021?542053568?1019008398?
T:
gui312
468417038?561225583?654432540?
T:
bluegemss256v2
478348800?574002363?670198977?
T:
bluegemss256
612207183613549918615830737
T:
sphincss128harakasimple
698082209700357184703703289
T:
sphincss128harakarobust
736621728737374299738060532
T:
sphincsf256shake256robust
904092890905799672909633971
T:
sphincss256harakasimple
861857100?1036155840?1379190527?
T:
gemss128v2
103483285810369465231041793064
T:
sphincss256harakarobust
109249547610930802911093271176
T:
picnic2l5fs
1016458003?1219422415?1425192681?
T:
gemss128
139510669614028048291406562226
T:
sphincss192harakasimple
172351979617266299211732171357
T:
sphincss192harakarobust
2053820991?2060632812?2884002187?
T:
gemss192
246411039324650472052465877762
T:
sphincss128shake256simple
2097132303?2520312656?2935535978?
T:
gemss192v2
369120843636915413663706004537
T:
sphincss256shake256simple
390785495039102988473910595260
T:
sphincss128shake256robust
3427708469?4077573507?4798731258?
T:
gemss256
3318818669?4118063382?4803167855?
T:
gemss256v2
515332599851574039345172413928
T:
sphincss192shake256simple
3705024769?5932711125?10389571141?
T:
gui448
596675171059766192086064268910
T:
sphincss256shake256robust
809132906780927840718102981932
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
913293039522
T:
rwb0fuz1024
133351340413509
T:
rainbowbinary256181212
177271790520127
T:
3icp
255992583726213
T:
rainbow5640
253722604526518
T:
rainbowbinary16242020
319813214632419
T:
tts6440
344553490735478
T:
rainbow6440
362683653836903
T:
lattisigns512
377833832439162
T:
rainbow1aclassic363232
409414172643500
T:
rainbow1a
626966278762943dilithium2aes
721127390175931
T:
gravitysphincss
751367601877893
T:
rainbow1c
788847896379087
T:
sflashv2
799368060881064
T:
ronald512
812818203082470
T:
ronald768
855268602186471
T:
ronald1024
901509031690525dilithium3aes
919969211792312dilithium2
942109479295572
T:
qtesla1
947229515195698
T:
ronald1536
106434107595108695
T:
falcon512tree
107416108051109016
T:
ronald2048
124996126074127658
T:
falcon512dyn
132989133235133574dilithium5aes
136782137901139154
T:
luov863256pc
141440142038142779
T:
ronald3072
149730149909150100dilithium3
165929166852167718ed25519
165094167039168349
T:
rainbow3cclassic683248
185627186570187553
T:
ronald4096
177808189010199722
T:
gui184
194825195513196091
T:
qtesla3s
195771196870197779
T:
qtesla3f
210840212314213154
T:
falcon1024tree
220704221446222390
T:
rainbow1b
232670233076233381dilithium5
228677240573250646
T:
gemss128v2
233760241476251219
T:
bluegemss128v2
248745249539250648
T:
falcon1024dyn
243137249576260291
T:
redgemss128v2
257688264434273941
T:
bluegemss128
270626276373280779
T:
gemss128
281059285304291329
T:
redgemss128
294573297687301740
T:
gravitysphincsm
311253313026314675
T:
donald512
312731313640316472
T:
pass769
357885359557360539
T:
luov890351pc
359173363381366076
T:
rainbow3c
362442363851367715
T:
pass863
390843398832403340
T:
gravitysphincsl
406834411647414854
T:
rainbow4a
429181432367434371
T:
rainbow5cclassic963664
445344448065452153
T:
donald1024
475768479031481505
T:
qtesla1p
484447487450490513
T:
edons128k08n72nu8l4mu3
496750500073529288
T:
luov8117404pc
508353508560509393
T:
ecdonaldp256
512036513746515050
T:
ed448goldilocks
533673552229587763
T:
bluegemss192v2
586907602099624462
T:
gemss192
603521623447648524
T:
bluegemss192
645915647241648720
T:
ecdonaldp224
635277652497674904
T:
redgemss192
640410653738676749
T:
redgemss192v2
666284680972751029
T:
sphincss128harakasimple
722069750986763704
T:
gemss192v2
755072755944758124
T:
rainbow3b
755391759324763527
T:
rainbow6a
742218762811769701
T:
gui312
801262810953825672
T:
rainbow5c
830937879283896689
T:
sphincss128harakarobust
944679951467960196
T:
donald2048
966362970464977240
T:
edons128ref
99605310135981031860
T:
sphincss192harakasimple
113788611650841200221
T:
gemss256v2
115163211963451229340
T:
bluegemss256v2
120944312302931259289
T:
redgemss256v2
128563712907861300754
T:
sphincs256
128422112984361322223
T:
sphincss256harakasimple
131206313244191366563
T:
sphincss192harakarobust
129729713318561351512
T:
gemss256
134850913815451425070
T:
bluegemss256
138585714164221452244
T:
redgemss256
155011015822131610896
T:
sphincsf128harakasimple
172682117556201768448
T:
sphincss256harakarobust
193970319569141970581
T:
ecdonaldp160
194487319569791964206
T:
rainbow6b
195126719939852032843
T:
sphincsf128harakarobust
204162420589212097153
T:
gui448
221321922179722225506
T:
qtesla3p
225422422691022282756
T:
ecdonaldp192
236261623662232369097
T:
ecdonaldp521
247269524941162521739
T:
sphincsf192harakasimple
249018525353682572519
T:
sphincsf256harakasimple
266761526718142675103
T:
luov863256
292430129449033241282picnicl1full
300460430086763016051
T:
ecdonaldk163
306273130675243072433
T:
ecdonaldb163
328335333130613338246
T:
mqdss48
328153433320713390002
T:
sphincsf192harakarobust
333595133932993434575
T:
sphincsf256harakarobust
389958439039773921844picnicl1fs
384490239447804038322
T:
sphincss128shake256simple
407308240828704110718
T:
ecdonaldk233
415182341576974167513
T:
ecdonaldb233
500198850058795036654picnicl1ur
522941352553275285006
T:
ecdonaldp384
547096055432595641023
T:
sphincss192shake256simple
566536556678175673286picnicl3full
609575261042016124184
T:
ecdonaldk283
634709163565726367240
T:
ecdonaldb283
675587268932347066645
T:
sphincss128shake256robust
786244979441228112759
T:
sphincss256shake256simple
869955888040978898850
T:
mqdss64
937430593929409400942picnicl5full
946425094952519510567
T:
luov890351
935740395283739658873
T:
sphincsf128shake256simple
980707298570509905799
T:
ecdonaldk409
9974279998336410004121picnicl3fs
100215041011295010329101
T:
sphincss192shake256robust
102941921031672010335981
T:
ecdonaldb409
105688731059096410850727
T:
rainbow1acompres363232
105829651060545810634247
T:
rainbow1acyclicc363232
128499391287634313627183picnicl3ur
136610601391438614211975
T:
sphincss256shake256robust
144142351443193314449541picnic3l1
149004461504578315123719
T:
sphincsf192shake256simple
153695751558003215751036
T:
sphincsf256shake256simple
163215401633568016347369
T:
luov8117404
170501581738587717633597
T:
sphincsf128shake256robust
177605211778778717808361picnicl5fs
193615801940059319463437
T:
ecdonaldk571
205563142061236020706032
T:
ecdonaldb571
218041382182953121889121picnicl5ur
222303982223949622266830
T:
pqrsa15
273691552758777127785666
T:
sphincsf192shake256robust
271214252765987027889967
T:
sphincsf256shake256robust
302172203027330530520968picnic3l3
463462644643472746499487
T:
luov4849242
479560584798513848042276picnic3l5
640239976412398064298580
T:
rainbow3ccompres683248
640661406413817764270392
T:
rainbow3ccyclicc683248
811706948128889081348348
T:
picnic2l1fs
122528958122725263122851009
T:
luov6468330
144325498144390759144469061
T:
rainbow5ccyclicc963664
144409821144542339144640083
T:
rainbow5ccompres963664
181065034181188158181259988
T:
picnic2l3fs
229250050229883729230903703
T:
luov8086399
318845478319113778325963336
T:
picnic2l5fs