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; Comet Lake (806ec); 2019 Intel Core i3-10110U; 2 x 2100MHz; comet, 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: (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
293329442985picnicl1full
349635073671picnic3l1
407741064135picnicl3full
412241714234picnic3l3
525552895343
T:
picnic2l1fs
529253125370picnicl5full
530753385407picnic3l5
536353935426picnicl1ur
548355165575picnicl1fs
847185348629picnicl3ur
850685508888
T:
picnic2l3fs
853786008648picnicl3fs
111411121511606picnicl5fs
110751126011667
T:
picnic2l5fs
114361159111765picnicl5ur
457344584945912ed25519
470164709747311aimer128f
470784712647337aimer128s
506905085251075T!!!dilithium2aes
799478043180668dilithium3aes
822818252582956T!!!dilithium2
114464114649115245aimer192s
120241120416120634aimer192f
121215121565122168dilithium5aes
149384149775150217T!!!dilithium3
153464153711153969
T:
ed448goldilocks
226514227355228272
T:
pass769
226854227944228617T!!!dilithium5
255465257179258689
T:
pass863
274827275025275221aimer256f
303527303860304389aimer256s
450109452353457311
T:
donald1024
684112684998685837
T:
sphincsf128harakasimple
417934?817786?2025535?haetae2
857989860622863120
T:
edons128k08n72nu8l4mu3
874170876048878810
T:
mqdss48
886636893467899249
T:
sphincsf128harakarobust
110998611175091124100
T:
sphincsf192harakasimple
645322?1191501?2608238?haetae3
119430011950391195592
T:
sphincsf192harakarobust
137916313894971400951
T:
donald2048
1273444?1678349?2477858?
T:
qtesla1
1095083?1726693?4682592?haetae5
204404220470882050817
T:
mqdss64
239622124048482406509
T:
sphincs256
256779725752692581459
T:
edons128ref
258597525891572592252
T:
sphincsf256harakasimple
318501331942333204326
T:
sphincsf256harakarobust
443481644355524438751
T:
sphincsf128shake256simple
471877947518084789073
T:
luov863256
3441710?5045708?6714780?
T:
qtesla3f
658179165822346583067
T:
sphincsf192shake256simple
5120157?6784988?10086880?
T:
qtesla3s
5741175?7267923?8061276?
T:
qtesla1p
757276075785427583802
T:
mqsignlr2567246
784044978624117893821
T:
luov863256pc
797975379805818025019
T:
sphincsf128shake256robust
102833061033381910392932
T:
rainbowbinary256181212
119421341195554111973321
T:
sphincsf192shake256robust
128509211285976212869189
T:
mqsignrr2567246
166632051728562118974702
T:
falcon512dyn
173571051735850717366911
T:
sphincsf256shake256simple
179847451813008118174260
T:
rainbow1aclassic363232
171755111841481520755355
T:
falcon512tree
197068521985086719899117
T:
luov890351
204122962047618020541452
T:
luov4849242
206137462065829920719833
T:
rainbow1acyclicc363232
206035912065882920711118
T:
rainbow1acompres363232
246829822468738424693228
T:
sphincss128harakasimple
256326102564308425678503
T:
sphincss128harakarobust
313320363141253931580757
T:
luov890351pc
317763403177797031806731
T:
sphincsf256shake256robust
333903503343783233487529
T:
mqsignlr25611272
335109873357148933651712
T:
luov8117404
365645483660985836627733
T:
sphincss192harakasimple
384312603848505938698091
T:
sphincss192harakarobust
418458554195969642083632
T:
sphincss256harakasimple
37006752?43414913?49854422?
T:
qtesla3p
448592424599112746639542
T:
rainbowbinary16242020
520229875349514956022882
T:
falcon1024dyn
545398865458150854660604
T:
mqsignrr25611272
563979825640318356408177
T:
sphincss256harakarobust
53820677?58103975?67673539?
T:
falcon1024tree
579737095843120858493045
T:
luov8117404pc
675512876771572667796245
T:
luov6468330
700211517014421570324129
T:
bluegemss128
751035427512115875177887
T:
gemss128
844205218443332484458416
T:
redgemss128
867907428711582587187064
T:
mqsignlr25614896
931879729323194693275002
T:
gemss128v2
956844199570397595749174
T:
bluegemss128v2
984264439846836398543931
T:
redgemss128v2
111245213111306519111430076mqsignlr2567246
113369023114256849114618979
T:
rainbow3cclassic683248
117079738117425786117789748
T:
rainbow3ccompres683248
118052682118132542118217268
T:
rainbow3ccyclicc683248
129395714129704448130119698
T:
mqsignrr25614896
134137754134354876134583656
T:
luov8086399
142055889142062181142070013
T:
sphincss128shake256simple
151764025151836589152107563mqsignrr2567246
173981888174081286174209167
T:
sflashv2
208638596208676526208689233
T:
sphincss192shake256simple
254913253254936151255123474
T:
sphincss128shake256robust
257904145258358562259754814
T:
gemss192
261492724261828756262246735
T:
redgemss192
263386220265034305265467015
T:
redgemss192v2
281403447282891951283633705
T:
sphincss256shake256simple
329777956331996263332816252
T:
bluegemss192
333312859334276111335127255
T:
rainbow5cclassic963664
345414694346550340351949334
T:
rainbow5ccyclicc963664
361081460361245491362249585
T:
rainbow5ccompres963664
380007753380038401380081950
T:
sphincss192shake256robust
380341146381899590398714821mqsignlr25611272
432686326433596172433889982
T:
gemss192v2
437567899437975174438890341
T:
bluegemss192v2
507588578507677364511582021
T:
sphincss256shake256robust
539147950539247478539625064mqsignrr25611272
775496596777976723781112481
T:
bluegemss256
777199622781291983788527213
T:
redgemss256
780851609783217106784919786
T:
redgemss256v2
789910945790399563791935602
T:
gemss256
858193335867502844889064600mqsignlr25614896
107192007210750646141077409173
T:
gravitysphincss
124097783612456088621247143255mqsignrr25614896
126573333812748113671279637183
T:
gemss256v2
128238969512946349391303592037
T:
bluegemss256v2
373678940138487715013953109745
T:
pqrsa15
171485325251715584043317203571272
T:
gravitysphincsl
343043206683431055992234313300530
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
174361769618368
T:
rainbowbinary256181212
349703569136687
T:
rainbowbinary16242020
483114834248405ed25519
937079505096330
T:
rainbow1acyclicc363232
9378795156102245
T:
rainbow1aclassic363232
102069102339103093
T:
sflashv2
102679105707107785
T:
mqsignlr2567246
140252141336143967
T:
mqsignrr2567246
160952161287161504
T:
ed448goldilocks
112645?169550?249676?T!!!dilithium2aes
118689?199449?284248?T!!!dilithium2
156724?229957?339135?dilithium3aes
254743255566256087
T:
mqsignlr25611272
167008?265593?387471?dilithium5aes
185569?281099?482687?T!!!dilithium3
272522?286365?811176?
T:
pass863
194764?342130?678886?
T:
qtesla1
379139382346383604
T:
mqsignrr25611272
385702389981392753
T:
donald1024
400333401773404084
T:
rainbow3cclassic683248
278401?408092?500429?T!!!dilithium5
403444408773411612
T:
falcon512tree
407675409666411513
T:
luov863256pc
413371414740416247
T:
rainbow3ccyclicc683248
234564?465628?697383?
T:
pass769
500526502260504349
T:
mqsignlr25614896
403082?579162?1241276?
T:
qtesla3f
389959?671004?1761167?haetae2
706087711097712889
T:
mqsignrr25614896
715469716266717371mqsignlr2567246
733759739267743119
T:
falcon512dyn
506948?823536?1481371?
T:
qtesla1p
813556824371833591
T:
falcon1024tree
548119?866359?1696618?
T:
qtesla3s
914404916003918197
T:
rainbow5cclassic963664
913849920483925149
T:
donald2048
953176955324960600
T:
rainbow5ccyclicc963664
118750312013851205338
T:
luov890351pc
122916812298381230580aimer128f
128126212838111287301mqsignrr2567246
141641514283441448382
T:
edons128k08n72nu8l4mu3
144561614474041450259mqsignlr25611272
1047029?1497113?3620417?haetae5
149519915032571507343
T:
falcon1024dyn
903600?1638148?2381477?haetae3
175345417567801758786
T:
luov8117404pc
247604724774482484388mqsignrr25611272
309691630987503101323aimer192f
319242732013623217889
T:
edons128ref
329847733005073321019
T:
luov863256
345254535155203519094mqsignlr25614896
358227335838603586419picnicl1full
3398051?3958362?4983987?
T:
redgemss128v2
3308700?3994432?4848951?
T:
redgemss128
2281407?4091141?6563058?
T:
qtesla3p
471992547215074724277picnicl1fs
472270947285624731746mqsignrr25614896
488179849199644939216
T:
mqdss48
593562959372125940685picnicl1ur
661984566285506669180aimer256f
688607068909506918549picnicl3full
922015292245929229270
T:
gravitysphincss
7825087?9491388?11101001?
T:
redgemss192
949971995086459510310aimer128s
8923524?10491506?12187486?
T:
redgemss192v2
107056101075807910823907
T:
luov890351
109061651091338911030794picnicl3fs
113741991143799511781096
T:
mqdss64
115370861154116511557291picnicl5full
142492381427901414285396picnicl3ur
12649696?15059763?18043784?
T:
redgemss256
166133431661814216791063
T:
rainbow1acompres363232
167675361677420416781722
T:
gravitysphincsm
169967611701120817024548picnic3l1
15207611?17707550?22181212?
T:
redgemss256v2
184447221846265618547868
T:
luov8117404
184966871863601718643710picnicl5fs
194678681947907619599541
T:
gravitysphincsl
231752932318966523230276aimer192s
237645402384590223870759picnicl5ur
240733612409825024121147
T:
sphincsf128harakasimple
323219013236176232390455
T:
sphincsf192harakasimple
329084773295680233008200
T:
sphincsf128harakarobust
365347253655949636580185picnic3l3
367272593675924836777823
T:
sphincsf192harakarobust
421656434237091942690177
T:
sphincs256
456406974566705445691400
T:
luov4849242
476092064766171647693269aimer256s
624574086254872662598634picnic3l5
659747716600210766025531
T:
sphincsf256harakasimple
881837098825736688296208
T:
sphincsf256harakarobust
99345248100285529101609608
T:
rainbow3ccompres683248
120158216120230097121208709
T:
pqrsa15
101689737?121853023?161804270?
T:
bluegemss128v2
142266854142309169142401703
T:
luov6468330
144507877144626204144829548
T:
sphincsf128shake256simple
120121774?146855142?192522900?
T:
bluegemss128
153830576154088261154129671
T:
picnic2l1fs
185627138185744179185891164
T:
sphincsf192shake256simple
241339670241949070242109318
T:
rainbow5ccompres963664
248801549249014051249251616
T:
sphincsf128shake256robust
283202571283588206283822777
T:
luov8086399
263507005?315980209?368291673?
T:
bluegemss192v2
331043518331429390331865845
T:
sphincsf192shake256robust
306432023?367264096?489661071?
T:
bluegemss192
409052927409238345409394257
T:
sphincsf256shake256simple
453910085454004549454119019
T:
sphincss128harakasimple
472755723472842161472939109
T:
picnic2l3fs
519195885521010530521369380
T:
sphincss128harakarobust
447985740?535828955?623983978?
T:
bluegemss256v2
469471792?562028658?748829283?
T:
bluegemss256
580982500581551077582175977
T:
sphincss256harakasimple
721985832722375053724986640
T:
sphincsf256shake256robust
628619324?770274134?1024147818?
T:
gemss128v2
803558974803859617804112851
T:
sphincss256harakarobust
983969752985065162985800055
T:
sphincss192harakasimple
997888911999216381999359474
T:
picnic2l5fs
762614360?1055389510?1206763291?
T:
gemss128
123161742912328201411234419824
T:
sphincss192harakarobust
177892681321342751442153637496
T:
gemss192v2
228103948522812202392281982055
T:
sphincss128shake256simple
1990196848?2388900066?2794686675?
T:
gemss192
344567475734524719203476080676
T:
sphincss256shake256simple
381747644438185899243819095339
T:
sphincss128shake256robust
3271062303?3952858633?4611339024?
T:
gemss256v2
3342189381?4010558880?5336903187?
T:
gemss256
475891581947595423754759846793
T:
sphincss192shake256simple
594108889859418381955942110947
T:
sphincss256shake256robust
790583647879076630267908120589
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
147681490915079
T:
rainbowbinary256181212
269182743028394
T:
rainbowbinary16242020
367373788638853
T:
rainbow1aclassic363232
609996115161355T!!!dilithium2aes
733597449676649
T:
gravitysphincss
849658614487009
T:
falcon512tree
870648734087722dilithium3aes
898869016690349T!!!dilithium2
889329054791440
T:
mqsignlr2567246
904159116292055
T:
mqsignrr2567246
968809768898871
T:
falcon512dyn
100474100949101435
T:
qtesla1
116687117459117853
T:
sflashv2
123516123783124217haetae2
129086129294129683dilithium5aes
138249139944143056
T:
luov863256pc
146651147065147289T!!!dilithium3
163358164406165329ed25519
168829170064171422
T:
rainbow3cclassic683248
171182172081173934
T:
falcon1024tree
193510193900194339haetae3
194600196243196997
T:
falcon1024dyn
200922201374202051
T:
qtesla3f
209005209415210517
T:
qtesla3s
229633230066230497T!!!dilithium5
231688232234232660haetae5
267231275747283410
T:
bluegemss128
291247295331298897
T:
donald1024
292691296324300767
T:
gravitysphincsm
297268297723298435
T:
mqsignrr25611272
294485298940304572
T:
redgemss128v2
299778300448300971
T:
mqsignlr25611272
294901303816311807
T:
gemss128
314271316469318679
T:
pass769
350810352342353591
T:
rainbow5cclassic963664
351414352998400904
T:
luov890351pc
355921359342362740
T:
pass863
359012363812370295
T:
redgemss128
392490400135405706
T:
gravitysphincsl
397806415317424132
T:
gemss128v2
407447417720422868
T:
bluegemss128v2
464811468830478500
T:
edons128k08n72nu8l4mu3
480229482617483911
T:
qtesla1p
497657508258522469
T:
sphincss128harakasimple
480633508860571524
T:
luov8117404pc
510738511849512953
T:
ed448goldilocks
516104526761547724
T:
mqsignrr25614896
549247551660552917
T:
mqsignlr25614896
655739669996690382
T:
redgemss192
687558700799715946
T:
redgemss192v2
696681711678730118
T:
sphincss128harakarobust
704704720046732753
T:
bluegemss192
708515729162748618
T:
gemss192
738321752043773909
T:
gemss192v2
744171754591769550
T:
sphincss192harakasimple
776590789498801415
T:
edons128ref
782039791292814092
T:
bluegemss192v2
792786799578809021
T:
donald2048
9788579923351003509
T:
sphincss256harakasimple
113221911433171154065
T:
sphincss192harakarobust
116240511813741198130
T:
sphincsf128harakasimple
119251011928411193373aimer128f
127784412836041290459
T:
sphincs256
126323113000221356958
T:
gemss256
127344213100491352356
T:
bluegemss256
136484513992251457540
T:
redgemss256
139368314304881500621
T:
redgemss256v2
142048914561351492681
T:
gemss256v2
146292714814051500820
T:
sphincss256harakarobust
145788314961481548742
T:
bluegemss256v2
163037816622181685817
T:
sphincsf128harakarobust
186998218926901906935
T:
sphincsf192harakasimple
188548619059981925786
T:
sphincsf256harakasimple
225642922613112269462
T:
qtesla3p
239655823986792399965mqsignrr2567246
241141524118562412366mqsignlr25611272
243218724345532436446mqsignrr25611272
243591224373572438379mqsignlr2567246
264613226507672651813
T:
luov863256
276179127895052808946
T:
sphincsf192harakarobust
282750628326152848401picnicl1full
287291729014402928936
T:
sphincsf256harakarobust
303907630431743043940aimer192f
309893731172943140890
T:
mqdss48
330305433379663358450mqsignlr25614896
335962033611173362658mqsignrr25614896
342665834937193590973
T:
sphincss128shake256simple
392156839349793941678picnicl1fs
490954249239834938352picnicl1ur
553286855366365543494picnicl3full
576487458631635949693
T:
sphincss192shake256simple
648893664910666505990aimer256f
652675066845706762817
T:
sphincss256shake256simple
656036767232586847882
T:
sphincss128shake256robust
764899777092187771415
T:
mqdss64
826104784779668607896
T:
sphincsf128shake256simple
906633090768359165893picnicl3fs
924144192561029266839picnicl5full
932208693512169361327
T:
luov890351
943090494363289441427aimer128s
98606601002632110206376
T:
sphincss192shake256robust
117820471178851411826380picnicl3ur
126182511287136612982588
T:
sphincss256shake256robust
133693971342107313584214
T:
rainbow1acompres363232
134292751345934613468701
T:
rainbow1acyclicc363232
133703051353106213661192
T:
sphincsf192shake256simple
135220111353543013547560picnic3l1
153162021532406815348069picnicl5fs
153653631554176615716600
T:
sphincsf256shake256simple
160566831606808616192990
T:
luov8117404
160297741634556216517245
T:
sphincsf128shake256robust
171415681717373417257957
T:
pqrsa15
195607741968112619708111picnicl5ur
230770932309834023147140aimer192s
259307882615274726665008
T:
sphincsf256shake256robust
258900122619890926408063
T:
sphincsf192shake256robust
288527962886837028887590picnic3l3
317934943180751331822928
T:
luov4849242
457539534578912745846023picnic3l5
474488574754065547553528aimer256s
669058936697495266999876
T:
picnic2l1fs
802577788031481380411745
T:
luov6468330
808444128094718583245564
T:
rainbow3ccompres683248
809580948141234481680489
T:
rainbow3ccyclicc683248
150480092150591657150654867
T:
picnic2l3fs
164225880164674663164738130
T:
luov8086399
180813873181265180182311698
T:
rainbow5ccompres963664
180023875181935970184481657
T:
rainbow5ccyclicc963664
267544638267873816268149282
T:
picnic2l5fs