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; Zen (800f11); 2017 AMD Ryzen 5 1600; 6 x 3200MHz; rumba5, supercop-20240909

[Page version: 20240912 11:46:05]

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: old (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
375737914087picnic3l1
384539144070picnicl1full
528853145495picnicl3full
524153465459picnic3l3
691069517238picnic3l5
691169807262picnicl5full
912891759346picnicl1fs
952395679726picnicl1ur
106141065710795
T:
picnic2l1fs
167991686017034picnicl3fs
178441798518052picnicl3ur
192461943919564
T:
picnic2l3fs
228572291323199picnicl5fs
230262341723760picnicl5ur
256752577426036
T:
picnic2l5fs
483454866449595ed25519
638526425064706dilithium2aes
766137692577418aimer128f
833828355284054aimer128s
100546100850102737dilithium3aes
150656151035151504dilithium5aes
151185151593151983dilithium2
197526197950198369aimer192f
200427200662201172
T:
ed448goldilocks
205154206891208771nccsign1aes
211838212107213459aimer192s
258344260711263649nccsign1
265118267487270017nccsign3aes
286452286762287306dilithium3
292555295216326219
T:
pass769
339412341751344229nccsign3
355317356518357700
T:
pass863
409735412812417087nccsign5aes
444433444980445551dilithium5
523140525759529293nccsign5
550347551076552264aimer256s
570632572204580838aimer256f
616668617114618542
T:
sphincsf128harakasimple
248885?659925?1320402?haetae2
724266739705739836
T:
sphincsf128harakarobust
798837801109803884
T:
mqdss48
895642899535924386
T:
sphincsf192harakasimple
101659310258991034188
T:
donald2048
107416410799841085258
T:
sphincsf192harakarobust
727416?1369271?1886962?haetae5
1273188?1679359?2129287?
T:
qtesla1
1045997?1690687?2720969?haetae3
186523718674111872200
T:
mqdss64
237499523913832430517
T:
sphincsf256harakasimple
292417929332522954154
T:
sphincsf256harakarobust
2808545?4113524?6731898?
T:
qtesla3f
418289441853204188177
T:
sphincs256
662908066360596637606
T:
sphincsf128shake256simple
5929246?6701012?7494511?
T:
qtesla1p
728082973124117381769mqsignlr2567246
729976673556017436969
T:
mqsignlr2567246
817257881917898221604
T:
luov863256
4228863?8233510?9601528?
T:
qtesla3s
852219085526678596945mqsignrr2567246
851845986241118686261
T:
mqsignrr2567246
939239994028969453645
T:
sphincsf192shake256simple
103101601035416910507063
T:
rainbowbinary256181212
121038471210568912149329
T:
sphincsf128shake256robust
125659071258242212588665
T:
luov863256pc
177290081773445317767768
T:
sphincsf192shake256robust
169202981774960919305335
T:
falcon512tree
167845801799071919770177
T:
falcon512dyn
181668831882767319078979
T:
rainbow1aclassic363232
193093551936508519367817
T:
sphincss128harakasimple
193050231948446419553055
T:
rainbow1acyclicc363232
195082111961035419914848
T:
rainbow1acompres363232
224502082312730623201283
T:
sphincss128harakarobust
244010202442679024481244
T:
sphincsf256shake256simple
254158672546088025517830
T:
luov4849242
285733762857463528585281
T:
sphincss192harakasimple
338726823389938433942607
T:
sphincss192harakarobust
344852343465015634807602mqsignlr25611272
346899543480719134923460
T:
mqsignlr25611272
29875107?34912719?44984183?
T:
qtesla3p
368335753688101936930508
T:
luov890351
388832653909292239471391mqsignrr25611272
387152443926139939662368
T:
mqsignrr25611272
411294184120339041217294
T:
sphincss256harakasimple
445170064457019044655423
T:
rainbowbinary16242020
455173014553573645549823
T:
sphincss256harakarobust
468637054697979347028869
T:
sphincsf256shake256robust
51407537?53342606?64440840?
T:
falcon1024dyn
516008005441312258446853
T:
falcon1024tree
564141725732362857732764
T:
gemss128
574267395771601860112907
T:
redgemss128
577950015782792457882558
T:
luov890351pc
570900505798062259497523
T:
bluegemss128
606663856081218860883540
T:
luov8117404
629366266298907063029087
T:
gemss128v2
640564336416390464299765
T:
bluegemss128v2
785174237854447378569299
T:
redgemss128v2
784686047862005178741318
T:
luov6468330
845354188473612384991502
T:
mqsignlr25614896
862136428671614087349193mqsignlr25614896
981675299830525498378017
T:
luov8117404pc
105005928105527887105909550
T:
mqsignrr25614896
108512532109209051109531353mqsignrr25614896
113419011117167537117467240
T:
rainbow3cclassic683248
121707465124584823125712670
T:
rainbow3ccompres683248
135366735136550406137134741
T:
rainbow3ccyclicc683248
150627156150919898152432275
T:
luov8086399
208573500208610837208714096
T:
sphincss128shake256simple
259951416260255721260703031
T:
redgemss192
268480385268656280269745664
T:
bluegemss192
269269974269365471269760789
T:
redgemss192v2
271517238271814458271964090
T:
gemss192
275095332275253034275653643
T:
gemss192v2
304235197305585317306366331
T:
sphincss192shake256simple
327161304333103626334034416
T:
rainbow5cclassic963664
356136026361437689362121732
T:
rainbow5ccompres963664
386794246386952300387026876
T:
sphincss128shake256robust
393360862394276893397250006
T:
rainbow5ccyclicc963664
397291864398788972400153748
T:
sphincss256shake256simple
435556085435609830437075454
T:
bluegemss192v2
571518840573731685575592618
T:
sphincss192shake256robust
715729595724064943732543078
T:
bluegemss256v2
746183896746730978748368670
T:
sphincss256shake256robust
765168956776355195777259206
T:
redgemss256v2
835580522839037092840359064
T:
redgemss256
847505935847880903857244585
T:
bluegemss256
842595198852030436852486216
T:
gemss256
880478581880767611881178036
T:
gravitysphincss
9950094019990523861007044998
T:
gemss256v2
382443990739192635704021700559
T:
pqrsa15
141144787521412025107114129341212
T:
gravitysphincsl
286196531632864240384128647816100
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
140591418614401
T:
rainbowbinary256181212
285742889229356
T:
rainbowbinary16242020
509875115051225ed25519
920669445497133
T:
rainbow1aclassic363232
124887125949127473
T:
rainbow1acyclicc363232
125051?134861?159135?
T:
mqsignlr2567246
141878143266147907mqsignlr2567246
120491?181217?303304?dilithium2aes
191756197154204248mqsignrr2567246
207343207412207480
T:
ed448goldilocks
188521214564225390
T:
mqsignrr2567246
219619?346681?499841?dilithium2
344635?368545?710512?
T:
pass769
376541397672429474
T:
mqsignlr25611272
239482?402874?634153?dilithium3aes
319277?403285?546105?dilithium5aes
417832?420539?639409?nccsign1aes
442287450553462604
T:
rainbow3cclassic683248
471573476693484066
T:
falcon512tree
498075500078504720
T:
luov863256pc
485553506813535015mqsignlr25611272
482316?508326?916915?nccsign1
296257?520718?835123?
T:
qtesla1
575594577421579057
T:
rainbow3ccyclicc683248
573543599406633255
T:
mqsignrr25611272
305280?634762?1080208?
T:
qtesla3f
441222?640503?1035599?dilithium3
631425666589760640mqsignrr25611272
685895689883700819
T:
mqsignlr25614896
561321?776256?1029846?dilithium5
396906?785224?1202181?
T:
pass863
828870841540865343mqsignlr25614896
858682864533870642
T:
falcon512dyn
624135?939839?1201343?nccsign3
729063?949140?1288826?nccsign3aes
948519957017964983
T:
falcon1024tree
99126210028071030857
T:
mqsignrr25614896
101738110244151032805
T:
donald2048
103151010433251061957
T:
rainbow5cclassic963664
828699?1173669?1605630?nccsign5aes
590105?1215184?1969161?
T:
qtesla1p
122378212433961275382
T:
rainbow5ccyclicc963664
698891?1262010?3055559?
T:
qtesla3s
124153513023471359954mqsignrr25614896
985808?1378433?1479473?nccsign5
145137014722061503766
T:
luov890351pc
174658617549691764237
T:
falcon1024dyn
219057822053822230457
T:
luov8117404pc
225507422612882272907aimer128f
1886853?2700204?5133503?haetae5
1562585?2896293?3573365?haetae3
1721001?3306899?5419008?haetae2
2730435?3909044?6226923?
T:
qtesla3p
3221779?4130594?4927901?
T:
redgemss128
3859008?5083007?5774709?
T:
redgemss128v2
554128955433815544584picnicl1full
575349657553485758031aimer192f
606831060736536077644
T:
mqdss48
665575366594426678836
T:
luov863256
727623772827577289382
T:
gravitysphincss
820564082290988263673picnicl1fs
108937651089991412361458picnicl3full
109346951096587610996465picnicl1ur
113400041134344711350213aimer256f
10009809?12178373?14146651?
T:
redgemss192
10712950?12434405?14518441?
T:
redgemss192v2
140245051403663314066213
T:
gravitysphincsm
155301181557703315589100
T:
gravitysphincsl
156489131566965415687559
T:
mqdss64
158678821606431416105462
T:
rainbow1acompres363232
173398141736300517377362aimer128s
178994691790637017913912picnicl5full
16984234?19012526?21604418?
T:
redgemss256
204509562046122920587623picnicl3fs
17775700?21086583?24044366?
T:
redgemss256v2
220960572211340722128507
T:
sphincsf128harakasimple
222431182225113622258696
T:
luov890351
259553712601420926083015picnic3l1
263078522633224426846823
T:
sphincsf192harakasimple
268653002688123626910192
T:
sphincsf128harakarobust
274751302753500727588285picnicl3ur
324272513245393132486576
T:
sphincsf192harakarobust
354055923545325935490937picnicl5fs
387782123880244138904710
T:
luov8117404
432885114331940243412625aimer192s
451323924519793646015586picnicl5ur
466361374665751146674826
T:
luov4849242
568496215712957057257082picnic3l3
597256225975905059794441
T:
sphincsf256harakasimple
760171457605511876103429
T:
sphincsf256harakarobust
771234977717468477244646
T:
sphincs256
812661938138215381452227aimer256s
952214869575202895918256picnic3l5
98785280100901660102019882
T:
rainbow3ccompres683248
129049730129179870129270247
T:
pqrsa15
116422239?139505809?162987289?
T:
bluegemss128v2
116755912?140012467?186933999?
T:
bluegemss128
140917037141118034141217244
T:
luov6468330
212056034212273297212481604
T:
sphincsf128shake256simple
213390867213421995213484570
T:
picnic2l1fs
241939361243325185244479564
T:
rainbow5ccompres963664
261216600261407472261831121
T:
sphincsf192shake256simple
282515266282805279283259509
T:
luov8086399
368287780368759401369154792
T:
sphincss128harakasimple
371083673371255210371410290
T:
sphincsf128shake256robust
332826048?395207571?465629114?
T:
bluegemss192v2
442174535447940156456352220
T:
sphincss128harakarobust
380658208?457084472?607411777?
T:
bluegemss192
481001351481263487481668407
T:
sphincsf192shake256robust
553499485553783117554070080
T:
sphincss256harakasimple
567594705567957707572530414
T:
sphincsf256shake256simple
611459045612385610615451435
T:
picnic2l3fs
652738036652905350653493290
T:
sphincss256harakarobust
558948191?669858027?781526935?
T:
bluegemss256v2
643850999?772186152?1027710875?
T:
bluegemss256
823098003823571110823895027
T:
sphincss192harakasimple
608736403?908731794?1060496668?
T:
gemss128
735049525?1028578024?1322012927?
T:
gemss128v2
105646761210568008551059599522
T:
sphincsf256shake256robust
107339295710742799631074796744
T:
sphincss192harakarobust
126963961012707853971274030611
T:
picnic2l5fs
2184773102?2621579930?3055852795?
T:
gemss192v2
2090030965?3133364942?3655731285?
T:
gemss192
333896208933397775153340718179
T:
sphincss128shake256simple
3867043485?4638186049?5419067973?
T:
gemss256v2
485693116648593367874869672087
T:
sphincss256shake256simple
4542641233?5456037697?6363225635?
T:
gemss256
578705830357884121935790145367
T:
sphincss128shake256robust
690779193469114378986932004608
T:
sphincss192shake256simple
871429605887436470458745246526
T:
sphincss256shake256robust
119141793751192283522311964988200
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
108211089511124
T:
rainbowbinary256181212
203312058021026
T:
rainbowbinary16242020
298183132735322
T:
rainbow1aclassic363232
619266382565779
T:
gravitysphincss
822808243882752dilithium2aes
8619187173103174
T:
falcon512tree
101653102434103420
T:
falcon512dyn
107777107968108385
T:
qtesla1
118762119168120981dilithium3aes
106772?119284?153638?mqsignlr2567246
112222127148136422mqsignrr2567246
118728?128530?155358?
T:
mqsignlr2567246
133536?149576?173335?
T:
mqsignrr2567246
139096?151301?246554?
T:
luov863256pc
158028158450158842haetae2
161627161820162209dilithium2
172679173808174644
T:
falcon1024tree
174059174697175475dilithium5aes
181643182746183210ed25519
204307207036210881
T:
rainbow3cclassic683248
206852207981208798
T:
falcon1024dyn
223032223456224132
T:
qtesla3f
225046225486226286
T:
qtesla3s
254681255370255789haetae3
270126272941277328
T:
gravitysphincsm
273141277936285334
T:
redgemss128v2
277181278058279695nccsign1aes
279460280262280631dilithium3
298822299477301318haetae5
324246326005328130nccsign1
331697337344345874
T:
bluegemss128
334415341468350150
T:
redgemss128
335255342636350887
T:
bluegemss128v2
342304349797360994
T:
gemss128
348561350276352409nccsign3aes
341490354311366561
T:
gemss128v2
359155364986372009
T:
gravitysphincsl
392351401371413053
T:
luov890351pc
414381415916418714nccsign3
421833434974442020
T:
sphincss128harakasimple
401197440759485457
T:
mqsignlr25611272
443328445227446921
T:
pass769
424476450695489896
T:
mqsignrr25611272
451285451502451885dilithium5
427676453742478999mqsignlr25611272
415096?457913?541412?mqsignrr25611272
512972517440525432
T:
rainbow5cclassic963664
539834541098543688
T:
pass863
542966546360548110
T:
qtesla1p
538696549669564521
T:
luov8117404pc
550646551698554592nccsign5aes
603333615140622612
T:
sphincss192harakasimple
604589616285633863
T:
sphincss128harakarobust
635729637090639060
T:
ed448goldilocks
650624653270655866nccsign5
722578740458755347
T:
bluegemss192
725400741263768950
T:
gemss192
734894761845787348
T:
bluegemss192v2
756653773159799658
T:
mqsignlr25614896
771382783955809912
T:
redgemss192
772746787525800530
T:
mqsignrr25614896
772949789870818932
T:
gemss192v2
786058802807820506
T:
redgemss192v2
828762862543910050mqsignlr25614896
855351862846874759
T:
sphincss256harakasimple
9119199682001097367mqsignrr25614896
965787979786991784
T:
sphincsf128harakasimple
9773199867471001209
T:
sphincss192harakarobust
120086312114941223979
T:
donald2048
124915912695221287748
T:
sphincss256harakarobust
131598313864481439284
T:
gemss256v2
140086514152901439381
T:
sphincsf128harakarobust
141247014693181492523
T:
redgemss256v2
143264414887151516405
T:
bluegemss256v2
151675615326531544144
T:
sphincsf192harakasimple
153081015634531596831
T:
redgemss256
152907815870651630087
T:
gemss256
160234216133821638290
T:
sphincsf256harakasimple
153240316270411681701
T:
bluegemss256
196083819766311988676
T:
sphincs256
222734122341592234690aimer128f
236059924024532439667
T:
sphincsf256harakarobust
237408324077712426618
T:
sphincsf192harakarobust
259067925991362605119
T:
qtesla3p
373018638164983872546
T:
sphincss128shake256simple
390078539220643945699
T:
mqdss48
426310043000734311352picnicl1full
557646956519095747127
T:
sphincss192shake256simple
567073956783205700815
T:
luov863256
570019457017045706221aimer192f
671751767302246753715picnicl1fs
718899874122417687260
T:
sphincss128shake256robust
723867474574338715522
T:
sphincss256shake256simple
854042286133179982334picnicl3full
884061888914208911022picnicl1ur
920193693429499489174
T:
sphincsf128shake256simple
105802581065533010750510
T:
mqdss64
107011221088808911081380
T:
sphincss192shake256robust
112485411125670211287537aimer256f
129243931308963513123314
T:
rainbow1acompres363232
131111921315696313427558
T:
rainbow1acyclicc363232
140791901412077714141232picnicl5full
139353421416621214365988
T:
sphincss256shake256robust
147888801492468815089599
T:
sphincsf192shake256simple
148387251509287617604472
T:
sphincsf256shake256simple
171509911723266117244753aimer128s
172700751731849917336181picnicl3fs
177864011795173818152651
T:
sphincsf128shake256robust
198151871982518219834757
T:
pqrsa15
199114161997378119995506
T:
luov890351
214650772149038521532413picnic3l1
231669462333866923395347picnicl3ur
283372762869608128978511
T:
sphincsf192shake256robust
284368782874578728944248
T:
sphincsf256shake256robust
307488833078830731074634picnicl5fs
339107123392374333949888
T:
luov4849242
342790163429533434409217
T:
luov8117404
383066143842038539004011picnicl5ur
431211354312439543189719aimer192s
469011624716159347821417picnic3l3
739450767409849474250649picnic3l5
808519388094195381011386aimer256s
802226428201489583763784
T:
rainbow3ccompres683248
819621188237103683646137
T:
rainbow3ccyclicc683248
887885078897793489002654
T:
luov6468330
107460197107508359107536496
T:
picnic2l1fs
168722340168822346168933163
T:
luov8086399
180235065182556656183485143
T:
rainbow5ccyclicc963664
183139102183559888183775323
T:
rainbow5ccompres963664
245593169245692051248094417
T:
picnic2l3fs
433451937433623747435978647
T:
picnic2l5fs