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-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: 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
370137303987picnicl1full
379139154151picnic3l1
523052435344picnic3l3
530653275495picnicl3full
699071637284picnic3l5
712671997325picnicl5full
913391939385picnicl1fs
954395959885picnicl1ur
106141065710795
T:
picnic2l1fs
167211676116853picnicl3fs
178141803318076picnicl3ur
192461943919564
T:
picnic2l3fs
228102287123123picnicl5ur
228352292723090picnicl5fs
256752577426036
T:
picnic2l5fs
290612914329669
T:
lattisigns512
483524844848620ed25519
640026417364706dilithium2aes
766137692577418aimer128f
833828355284054aimer128s
100210100464101086dilithium3aes
151005151257151769dilithium5aes
151322151621151953dilithium2
197526197950198369aimer192f
200427200662201172
T:
ed448goldilocks
205696206950209099nccsign1aes
211838212107213459aimer192s
206675215658226670
T:
hector
259283260788263270nccsign1
263970266239268759nccsign3aes
286418286723286936dilithium3
292374293620295509
T:
pass769
338216339655342672nccsign3
355442356387357551
T:
pass863
410035412310414200nccsign5aes
444497444856445458dilithium5
521551524613528521nccsign5
550347551076552264aimer256s
570632572204580838aimer256f
248194?579066?970492?haetae2
616668617114618542
T:
sphincsf128harakasimple
724266739705739836
T:
sphincsf128harakarobust
798837801109803884
T:
mqdss48
895642899535924386
T:
sphincsf192harakasimple
470418?984943?1755472?haetae5
101659310258991034188
T:
donald2048
530646?1050599?1950559?haetae3
107416410799841085258
T:
sphincsf192harakarobust
1273188?1679359?2129287?
T:
qtesla1
186523718674111872200
T:
mqdss64
237499523913832430517
T:
sphincsf256harakasimple
292417929332522954154
T:
sphincsf256harakarobust
2808545?4113524?6731898?
T:
qtesla3f
418490041872874191733
T:
sphincs256
662908066360596637606
T:
sphincsf128shake256simple
5929246?6701012?7494511?
T:
qtesla1p
722570272613377351208mqsignlr2567246
733250773492257388044
T:
mqsignlr2567246
817257881917898221604
T:
luov863256
4228863?8233510?9601528?
T:
qtesla3s
847216784997718510380
T:
mqsignrr2567246
849909085060208600860mqsignrr2567246
939239994028969453645
T:
sphincsf192shake256simple
103101601035416910507063
T:
rainbowbinary256181212
121038471210568912149329
T:
sphincsf128shake256robust
125659071258242212588665
T:
luov863256pc
177290081773445317767768
T:
sphincsf192shake256robust
169202981774960919305335
T:
falcon512tree
167845801799071919770177
T:
falcon512dyn
182722051830664118381470
T:
rainbow1aclassic363232
193093551936508519367817
T:
sphincss128harakasimple
198811122002368020104503
T:
rainbow1acompres363232
224502082312730623201283
T:
sphincss128harakarobust
244010202442679024481244
T:
sphincsf256shake256simple
254158672546088025517830
T:
luov4849242
262165122656126228885367
T:
rainbow1acyclicc363232
285733762857463528585281
T:
sphincss192harakasimple
336252263368909933824065mqsignlr25611272
336480363385474234050079
T:
mqsignlr25611272
338726823389938433942607
T:
sphincss192harakarobust
29875107?34912719?44984183?
T:
qtesla3p
368335753688101936930508
T:
luov890351
380898103848816238754186
T:
mqsignrr25611272
381431343851423838928538mqsignrr25611272
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
839501128411283684446314mqsignlr25614896
842799438500296185382269
T:
mqsignlr25614896
981675299830525498378017
T:
luov8117404pc
104272449104584007106740832
T:
mqsignrr25614896
104742704105350469105833187mqsignrr25614896
114182339114441842115393705
T:
rainbow3cclassic683248
120033859120578932121525061
T:
rainbow3ccompres683248
150627156150919898152432275
T:
luov8086399
208573500208610837208714096
T:
sphincss128shake256simple
224680986225459179226053207
T:
rainbow3ccyclicc683248
259951416260255721260703031
T:
redgemss192
268480385268656280269745664
T:
bluegemss192
269269974269365471269760789
T:
redgemss192v2
271517238271814458271964090
T:
gemss192
275095332275253034275653643
T:
gemss192v2
304235197305585317306366331
T:
sphincss192shake256simple
327716187330255483332113110
T:
rainbow5cclassic963664
339632145341272852342896031
T:
rainbow5ccompres963664
370235831371835044373509644
T:
rainbow5ccyclicc963664
386794246386952300387026876
T:
sphincss128shake256robust
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
509015110651176ed25519
911549184792645
T:
rainbow1aclassic363232
113298115196117800
T:
mqsignlr2567246
136138139694144972mqsignlr2567246
153086154993158132
T:
mqsignrr2567246
177312179419191113mqsignrr2567246
207343207412207480
T:
ed448goldilocks
208936210174211857
T:
rainbow1acyclicc363232
219201220353238360
T:
hector
218834?284171?435742?dilithium2
175669?310962?497963?dilithium2aes
169556?322659?462083?dilithium3aes
244201?363220?587831?dilithium5aes
357838368630380438
T:
mqsignlr25611272
345495?369445?1035626?
T:
pass769
171804?409701?648465?
T:
lattisigns512
396908?419638?789137?
T:
pass863
424484433431448246mqsignlr25611272
439991448999459072
T:
rainbow3cclassic683248
471573476693484066
T:
falcon512tree
498075500078504720
T:
luov863256pc
296257?520718?835123?
T:
qtesla1
519625527294537170
T:
mqsignrr25611272
417420?540479?754350?nccsign1aes
556742569323586059mqsignrr25611272
440339?593423?961397?dilithium3
605015?611437?915530?nccsign3
305280?634762?1080208?
T:
qtesla3f
482092?677658?913987?nccsign1
709547717611731955
T:
mqsignlr25614896
559208?785001?936404?dilithium5
514481?791877?1071587?nccsign3aes
801797814170831064mqsignlr25614896
858682864533870642
T:
falcon512dyn
948519957017964983
T:
falcon1024tree
99093410218401038689
T:
mqsignrr25614896
101738110244151032805
T:
donald2048
102816610379421046180
T:
rainbow5cclassic963664
110294211176241132659mqsignrr25614896
115466311642921185644
T:
rainbow5ccyclicc963664
590105?1215184?1969161?
T:
qtesla1p
828628?1258414?1604918?nccsign5aes
698891?1262010?3055559?
T:
qtesla3s
982364?1466978?1962924?nccsign5
145137014722061503766
T:
luov890351pc
153234115340391535553
T:
rainbow3ccyclicc683248
174658617549691764237
T:
falcon1024dyn
219057822053822230457
T:
luov8117404pc
225507422612882272907aimer128f
1077625?2708709?6772996?haetae5
1723006?2779634?4894036?haetae2
1564115?2905209?4913510?haetae3
2730435?3909044?6226923?
T:
qtesla3p
3221779?4130594?4927901?
T:
redgemss128
3859008?5083007?5774709?
T:
redgemss128v2
553874355403655544945picnicl1full
575349657553485758031aimer192f
606831060736536077644
T:
mqdss48
665575366594426678836
T:
luov863256
727623772827577289382
T:
gravitysphincss
823187382376668267834picnicl1fs
108900361091187411004342picnicl1ur
109676341098340510987761picnicl3full
113400041134344711350213aimer256f
10009809?12178373?14146651?
T:
redgemss192
10712950?12434405?14518441?
T:
redgemss192v2
140245051403663314066213
T:
gravitysphincsm
155301181557703315589100
T:
gravitysphincsl
156489131566965415687559
T:
mqdss64
159255841619045116232302
T:
rainbow1acompres363232
173398141736300517377362aimer128s
178968951790832418103726picnicl5full
16984234?19012526?21604418?
T:
redgemss256
201762222035131520378631picnicl3fs
17775700?21086583?24044366?
T:
redgemss256v2
220960572211340722128507
T:
sphincsf128harakasimple
222431182225113622258696
T:
luov890351
259014452591291925923675picnic3l1
263078522633224426846823
T:
sphincsf192harakasimple
268653002688123626910192
T:
sphincsf128harakarobust
273262992738562827481402picnicl3ur
324272513245393132486576
T:
sphincsf192harakarobust
353736993542002235446483picnicl5fs
387782123880244138904710
T:
luov8117404
432885114331940243412625aimer192s
455245694562637945672734picnicl5ur
466361374665751146674826
T:
luov4849242
566723975688104857178569picnic3l3
597256225975905059794441
T:
sphincsf256harakasimple
760171457605511876103429
T:
sphincsf256harakarobust
770774907713243877166857
T:
sphincs256
812661938138215381452227aimer256s
952654199587439496100872picnic3l5
971889749789677799057766
T:
rainbow3ccompres683248
129049730129179870129270247
T:
pqrsa15
116422239?139505809?162987289?
T:
bluegemss128v2
116755912?140012467?186933999?
T:
bluegemss128
140917037141118034141217244
T:
luov6468330
212056034212273297212481604
T:
sphincsf128shake256simple
213390867213421995213484570
T:
picnic2l1fs
242125444242627655243722220
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
300813112632404
T:
rainbow1aclassic363232
475454785348187
T:
lattisigns512
619266382565779
T:
gravitysphincss
820638236582662dilithium2aes
8619187173103174
T:
falcon512tree
9427496883105269mqsignlr2567246
9653498169100350
T:
mqsignlr2567246
99581101425103081
T:
mqsignrr2567246
99427102114115325mqsignrr2567246
101653102434103420
T:
falcon512dyn
107777107968108385
T:
qtesla1
118712118927119314dilithium3aes
139096?151301?246554?
T:
luov863256pc
157982158349158857haetae2
161669161920162213dilithium2
172679173808174644
T:
falcon1024tree
174340174915192452dilithium5aes
181856182688183843ed25519
202666204891209528
T:
rainbow3cclassic683248
206852207981208798
T:
falcon1024dyn
223032223456224132
T:
qtesla3f
225046225486226286
T:
qtesla3s
254629254949256078haetae3
270126272941277328
T:
gravitysphincsm
273141277936285334
T:
redgemss128v2
276046278024316932nccsign1aes
279331279530279805dilithium3
298494299159299503haetae5
322880324587326342nccsign1
331697337344345874
T:
bluegemss128
334415341468350150
T:
redgemss128
335255342636350887
T:
bluegemss128v2
346107346734348406nccsign3aes
342304349797360994
T:
gemss128
341490354311366561
T:
gemss128v2
349151356410369505
T:
mqsignlr25611272
344736357826397468mqsignrr25611272
355430358459370353mqsignlr25611272
359155364986372009
T:
gravitysphincsl
373190378829382273
T:
mqsignrr25611272
392351401371413053
T:
luov890351pc
407919409766411338nccsign3
421833434974442020
T:
sphincss128harakasimple
443777444883446047
T:
pass769
451323451819452344dilithium5
515496521176526911
T:
rainbow5cclassic963664
538693540372541542
T:
pass863
542966546360548110
T:
qtesla1p
538696549669564521
T:
luov8117404pc
549610551155553088nccsign5aes
603333615140622612
T:
sphincss192harakasimple
604589616285633863
T:
sphincss128harakarobust
635729637090639060
T:
ed448goldilocks
648934651364652685nccsign5
722578740458755347
T:
bluegemss192
725400741263768950
T:
gemss192
734894761845787348
T:
bluegemss192v2
750167763823811004mqsignlr25614896
757025769041785917
T:
mqsignrr25614896
771382783955809912
T:
redgemss192
772949789870818932
T:
gemss192v2
769209792516820889mqsignrr25614896
786058802807820506
T:
redgemss192v2
790610810796818875
T:
mqsignlr25614896
855351862846874759
T:
sphincss256harakasimple
935416943251948923
T:
hector
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
196026119703721986377
T:
sphincs256
222734122341592234690aimer128f
236059924024532439667
T:
sphincsf256harakarobust
237408324077712426618
T:
sphincsf192harakarobust
259067925991362605119
T:
qtesla3p
373018638164983872546
T:
sphincss128shake256simple
390078539220643945699
T:
mqdss48
426084442670304308310picnicl1full
557646956519095747127
T:
sphincss192shake256simple
567073956783205700815
T:
luov863256
570019457017045706221aimer192f
671340767427036758452picnicl1fs
718899874122417687260
T:
sphincss128shake256robust
723867474574338715522
T:
sphincss256shake256simple
853941285517348602745picnicl3full
886448589311239015561picnicl1ur
920193693429499489174
T:
sphincsf128shake256simple
105802581065533010750510
T:
mqdss64
107011221088808911081380
T:
sphincss192shake256robust
112485411125670211287537aimer256f
128374881326391813330056
T:
rainbow1acyclicc363232
131804471338615113432234
T:
rainbow1acompres363232
140906001411631514137001picnicl5full
139353421416621214365988
T:
sphincss256shake256robust
147888801492468815089599
T:
sphincsf192shake256simple
148387251509287617604472
T:
sphincsf256shake256simple
171509911723266117244753aimer128s
178719461793399318002595picnicl3fs
177864011795173818152651
T:
sphincsf128shake256robust
198151871982518219834757
T:
pqrsa15
199114161997378119995506
T:
luov890351
214323752144790521464949picnic3l1
232726872336683323431627picnicl3ur
283372762869608128978511
T:
sphincsf192shake256robust
284368782874578728944248
T:
sphincsf256shake256robust
307848573113241531260350picnicl5fs
339107123392374333949888
T:
luov4849242
342790163429533434409217
T:
luov8117404
383067633840577138430558picnicl5ur
431211354312439543189719aimer192s
467291924676399046964190picnic3l3
734178887399745174233607picnic3l5
789773717949431581302290
T:
rainbow3ccompres683248
808519388094195381011386aimer256s
799037558142776882637390
T:
rainbow3ccyclicc683248
887885078897793489002654
T:
luov6468330
107460197107508359107536496
T:
picnic2l1fs
168722340168822346168933163
T:
luov8086399
177781924178486543189313458
T:
rainbow5ccyclicc963664
181445084181734979183295330
T:
rainbow5ccompres963664
245593169245692051248094417
T:
picnic2l3fs
433451937433623747435978647
T:
picnic2l5fs