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

[Page version: 20241120 00:41:17]

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.


Test results

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
401140164034picnicl1full
434543644435picnic3l1
525552895343
T:
picnic2l1fs
575557625779picnicl3full
615061636228picnic3l3
616961916265picnicl1ur
617261916240picnicl1fs
752875607615picnicl5full
760176527766picnic3l5
850685508888
T:
picnic2l3fs
101461019610292picnicl3fs
101241021410314picnicl3ur
110751126011667
T:
picnic2l5fs
129121299313308picnicl5fs
132051348013670picnicl5ur
229062297723084
T:
lattisigns512
456984575545836ed25519
470034706947115aimer128f
473294738647481aimer128s
507245087851101T!!!dilithium2aes
799518018880672dilithium3aes
829598308383475T!!!dilithium2
114516114696114834aimer192s
120344120436120723aimer192f
120942121078121409dilithium5aes
149630149827150105T!!!dilithium3
153464153711153969
T:
ed448goldilocks
190387192086193599nccsign1aes
225356226195227151T!!!dilithium5
226589227502228503
T:
pass769
240647243010245567nccsign1
248003250441252264nccsign3aes
247277256052260454
T:
hector
256790257465259312
T:
pass863
274822275245275937aimer256f
303608303889304455aimer256s
328417330644333171nccsign3
391826394546396104nccsign5aes
450109452353457311
T:
donald1024
269016?485801?984985?haetae2
500095502898506200nccsign5
684112684998685837
T:
sphincsf128harakasimple
440466?774869?1378252?haetae3
857989860622863120
T:
edons128k08n72nu8l4mu3
874170876048878810
T:
mqdss48
886636893467899249
T:
sphincsf128harakarobust
110998611175091124100
T:
sphincsf192harakasimple
497316?1177094?2133405?haetae5
119430011950391195592
T:
sphincsf192harakarobust
137916313894971400951
T:
donald2048
1273444?1678349?2477858?
T:
qtesla1
204404220470882050817
T:
mqdss64
238520723868242389705
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
723029273420927348173mqsignlr2567246
744529775356307545353
T:
mqsignlr2567246
784044978624117893821
T:
luov863256pc
797975379805818025019
T:
sphincsf128shake256robust
957164195847339619123
T:
mqsignrr2567246
9964666998385810002768mqsignrr2567246
102833061033381910392932
T:
rainbowbinary256181212
119421341195554111973321
T:
sphincsf192shake256robust
166632051728562118974702
T:
falcon512dyn
173571051735850717366911
T:
sphincsf256shake256simple
171755111841481520755355
T:
falcon512tree
197068521985086719899117
T:
luov890351
200881062022556620284895
T:
rainbow1acyclicc363232
204122962047618020541452
T:
luov4849242
204523932052842920566516
T:
rainbow1aclassic363232
207982032082503920851890
T:
rainbow1acompres363232
246829822468738424693228
T:
sphincss128harakasimple
256326102564308425678503
T:
sphincss128harakarobust
313320363141253931580757
T:
luov890351pc
317763403177797031806731
T:
sphincsf256shake256robust
330303113307067733098443mqsignlr25611272
335109873357148933651712
T:
luov8117404
338910043439859234429679
T:
mqsignlr25611272
365645483660985836627733
T:
sphincss192harakasimple
384312603848505938698091
T:
sphincss192harakarobust
400816754023975640294278mqsignrr25611272
417229944179871141871748
T:
mqsignrr25611272
418458554195969642083632
T:
sphincss256harakasimple
37006752?43414913?49854422?
T:
qtesla3p
448592424599112746639542
T:
rainbowbinary16242020
520229875349514956022882
T:
falcon1024dyn
563979825640318356408177
T:
sphincss256harakarobust
53820677?58103975?67673539?
T:
falcon1024tree
579737095843120858493045
T:
luov8117404pc
675512876771572667796245
T:
luov6468330
700211517014421570324129
T:
bluegemss128
751035427512115875177887
T:
gemss128
826548268404558484610332mqsignlr25614896
844205218443332484458416
T:
redgemss128
857280898612678086320679
T:
mqsignlr25614896
931879729323194693275002
T:
gemss128v2
956844199570397595749174
T:
bluegemss128v2
984264439846836398543931
T:
redgemss128v2
113490610113858250114392282
T:
rainbow3cclassic683248
114876159115344455115586352mqsignrr25614896
116946059117443823119011619
T:
mqsignrr25614896
118407868118783219119207799
T:
rainbow3ccompres683248
119355356120797746120981728
T:
rainbow3ccyclicc683248
134137754134354876134583656
T:
luov8086399
142055889142062181142070013
T:
sphincss128shake256simple
173981888174081286174209167
T:
sflashv2
208638596208676526208689233
T:
sphincss192shake256simple
254913253254936151255123474
T:
sphincss128shake256robust
257904145258358562259754814
T:
gemss192
261492724261828756262246735
T:
redgemss192
263386220265034305265467015
T:
redgemss192v2
281403447282891951283633705
T:
sphincss256shake256simple
329777956331996263332816252
T:
bluegemss192
332054449333469426334679299
T:
rainbow5cclassic963664
347224726348370769348476661
T:
rainbow5ccyclicc963664
366476231367211294370968279
T:
rainbow5ccompres963664
380007753380038401380081950
T:
sphincss192shake256robust
432686326433596172433889982
T:
gemss192v2
437567899437975174438890341
T:
bluegemss192v2
507588578507677364511582021
T:
sphincss256shake256robust
775496596777976723781112481
T:
bluegemss256
777199622781291983788527213
T:
redgemss256
780851609783217106784919786
T:
redgemss256v2
789910945790399563791935602
T:
gemss256
107192007210750646141077409173
T:
gravitysphincss
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
483254839548518ed25519
962779709698924
T:
rainbow1aclassic363232
98408100942101672
T:
mqsignlr2567246
102069102339103093
T:
sflashv2
82645?121863?196145?T!!!dilithium2aes
123558124735126699mqsignlr2567246
134598135749137083
T:
rainbow1acyclicc363232
136336138989140562
T:
mqsignrr2567246
160952161287161504
T:
ed448goldilocks
160831163038165000mqsignrr2567246
118309?190847?272058?T!!!dilithium2
149447?218347?358574?dilithium3aes
214112?235879?378196?dilithium5aes
251220252499254140
T:
mqsignlr25611272
267088276262287516
T:
hector
183501?284978?390940?T!!!dilithium3
311520313922315471mqsignlr25611272
194764?342130?678886?
T:
qtesla1
129293?357114?643151?
T:
lattisigns512
376026378444380479
T:
mqsignrr25611272
385702389981392753
T:
donald1024
396727399905401926
T:
rainbow3cclassic683248
401724?405399?742795?nccsign1
403444408773411612
T:
falcon512tree
407675409666411513
T:
luov863256pc
333369?410122?698744?T!!!dilithium5
409703412180414454
T:
rainbow3ccyclicc683248
438154440901442319mqsignrr25611272
234391?464802?698919?
T:
pass769
502026504804506258
T:
mqsignlr25614896
345724?511834?651734?nccsign1aes
273542?534253?556657?
T:
pass863
403082?579162?1241276?
T:
qtesla3f
436146?605604?823539?nccsign3aes
613264615450617473mqsignlr25614896
695579703426706414
T:
mqsignrr25614896
733759739267743119
T:
falcon512dyn
531493?784048?1231599?nccsign3
811008813630817695mqsignrr25614896
506948?823536?1481371?
T:
qtesla1p
813556824371833591
T:
falcon1024tree
548119?866359?1696618?
T:
qtesla3s
917574919218921540
T:
rainbow5cclassic963664
913849920483925149
T:
donald2048
704118?980076?1321709?nccsign5aes
836465?1157473?1565195?nccsign5
115422811645851167341
T:
rainbow5ccyclicc963664
118750312013851205338
T:
luov890351pc
122943812304191231116aimer128f
141641514283441448382
T:
edons128k08n72nu8l4mu3
928349?1475187?2607924?haetae2
149519915032571507343
T:
falcon1024dyn
175345417567801758786
T:
luov8117404pc
998150?1818018?3062698?haetae3
1073858?2375713?4096095?haetae5
309743130995123101533aimer192f
319242732013623217889
T:
edons128ref
329847733005073321019
T:
luov863256
3398051?3958362?4983987?
T:
redgemss128v2
3308700?3994432?4848951?
T:
redgemss128
407413740757294080820picnicl1full
2281407?4091141?6563058?
T:
qtesla3p
488179849199644939216
T:
mqdss48
503648850404035043422picnicl1fs
629903063023646305385picnicl1ur
661466966186626626257aimer256f
803214580399338055905picnicl3full
922015292245929229270
T:
gravitysphincss
945422994565959476127aimer128s
7825087?9491388?11101001?
T:
redgemss192
8923524?10491506?12187486?
T:
redgemss192v2
107056101075807910823907
T:
luov890351
113741991143799511781096
T:
mqdss64
119027771194514411987017picnicl3fs
134789251348451313531323picnicl5full
12649696?15059763?18043784?
T:
redgemss256
153070961531835815325173picnicl3ur
167675361677420416781722
T:
gravitysphincsm
168187101682344816848739
T:
rainbow1acompres363232
174522731747421117505685picnic3l1
15207611?17707550?22181212?
T:
redgemss256v2
184447221846265618547868
T:
luov8117404
194678681947907619599541
T:
gravitysphincsl
200196742005682420137219picnicl5fs
231816632318503123377351aimer192s
240733612409825024121147
T:
sphincsf128harakasimple
251328492518003525194116picnicl5ur
323219013236176232390455
T:
sphincsf192harakasimple
329084773295680233008200
T:
sphincsf128harakarobust
367272593675924836777823
T:
sphincsf192harakarobust
376592443769686237712807picnic3l3
417814894197183942032055
T:
sphincs256
456406974566705445691400
T:
luov4849242
476091644764127747697574aimer256s
647083966473838764764516picnic3l5
659747716600210766025531
T:
sphincsf256harakasimple
881837098825736688296208
T:
sphincsf256harakarobust
100764834100893190101090995
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
241980423242223243246999380
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
406754124841491
T:
lattisigns512
412514232042925
T:
rainbow1aclassic363232
607526091061080T!!!dilithium2aes
733597449676649
T:
gravitysphincss
849658614487009
T:
falcon512tree
865958712388080
T:
mqsignlr2567246
872078734387571dilithium3aes
857608739488026mqsignlr2567246
879618916790399
T:
mqsignrr2567246
884788958190226mqsignrr2567246
900069010990242T!!!dilithium2
968809768898871
T:
falcon512dyn
100474100949101435
T:
qtesla1
116687117459117853
T:
sflashv2
118598118959119437haetae2
128770129040129227dilithium5aes
138249139944143056
T:
luov863256pc
146764146919147121T!!!dilithium3
163871164843165624ed25519
168805170558171486
T:
rainbow3cclassic683248
171182172081173934
T:
falcon1024tree
194600196243196997
T:
falcon1024dyn
200351200857201593haetae3
200922201374202051
T:
qtesla3f
209005209415210517
T:
qtesla3s
229300229637230080T!!!dilithium5
231543233046234189nccsign1aes
239649240236241223haetae5
271147273250275152nccsign1
267231275747283410
T:
bluegemss128
291767292698293610nccsign3aes
293702294263294845
T:
mqsignrr25611272
294178294719295421
T:
mqsignlr25611272
294300294883295353mqsignrr25611272
294633295316295682mqsignlr25611272
291247295331298897
T:
donald1024
292691296324300767
T:
gravitysphincsm
294485298940304572
T:
redgemss128v2
294901303816311807
T:
gemss128
312813313654314994
T:
pass769
351018352322353295
T:
rainbow5cclassic963664
351414352998400904
T:
luov890351pc
352581355158363157
T:
pass863
356543358644361599nccsign3
359012363812370295
T:
redgemss128
392490400135405706
T:
gravitysphincsl
397806415317424132
T:
gemss128v2
407447417720422868
T:
bluegemss128v2
464811468830478500
T:
edons128k08n72nu8l4mu3
470441473020476036nccsign5aes
480229482617483911
T:
qtesla1p
497657508258522469
T:
sphincss128harakasimple
480633508860571524
T:
luov8117404pc
510738511849512953
T:
ed448goldilocks
521798523646548438
T:
mqsignrr25614896
517940542747556157mqsignlr25614896
544040545386556125
T:
mqsignlr25614896
522154547652556607mqsignrr25614896
554433556656559646nccsign5
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
106188610753241082865
T:
hector
113221911433171154065
T:
sphincss192harakarobust
116240511813741198130
T:
sphincsf128harakasimple
119297111936961195199aimer128f
127024712755391287231
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
264613226507672651813
T:
luov863256
276179127895052808946
T:
sphincsf192harakarobust
287291729014402928936
T:
sphincsf256harakarobust
303837030405553042301aimer192f
309893731172943140890
T:
mqdss48
332887233323383348854picnicl1full
342665834937193590973
T:
sphincss128shake256simple
426081642644754281411picnicl1fs
530622653138285339415picnicl1ur
576487458631635949693
T:
sphincss192shake256simple
648711564982346509827aimer256f
652675066845706762817
T:
sphincss256shake256simple
668850066913116697408picnicl3full
656036767232586847882
T:
sphincss128shake256robust
764899777092187771415
T:
mqdss64
826104784779668607896
T:
sphincsf128shake256simple
932208693512169361327
T:
luov890351
939111293989129400740aimer128s
98606601002632110206376
T:
sphincss192shake256robust
100848091009544310103325picnicl3fs
112449641127057311287383picnicl5full
127651121278332712796493picnicl3ur
126182511287136612982588
T:
sphincss256shake256robust
132741161341397013430460
T:
rainbow1acyclicc363232
133813071344794413456808
T:
rainbow1acompres363232
133703051353106213661192
T:
sphincsf192shake256simple
137369691375834213797643picnic3l1
153653631554176615716600
T:
sphincsf256shake256simple
160566831606808616192990
T:
luov8117404
160297741634556216517245
T:
sphincsf128shake256robust
169797911701372417042218picnicl5fs
171415681717373417257957
T:
pqrsa15
212097992130427521329578picnicl5ur
230833112311561623129247aimer192s
259307882615274726665008
T:
sphincsf256shake256robust
258900122619890926408063
T:
sphincsf192shake256robust
298035062982060629829682picnic3l3
317934943180751331822928
T:
luov4849242
467965794683158546859836picnic3l5
474188894742260447460177aimer256s
669058936697495266999876
T:
picnic2l1fs
802577788031481380411745
T:
luov6468330
806490048090119080957783
T:
rainbow3ccompres683248
808329758263726282744603
T:
rainbow3ccyclicc683248
150480092150591657150654867
T:
picnic2l3fs
164225880164674663164738130
T:
luov8086399
179541985179574284180623152
T:
rainbow5ccyclicc963664
181599066185661637186048694
T:
rainbow5ccompres963664
267544638267873816268149282
T:
picnic2l5fs