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-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: 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
364136563850picnicl1full
362436643841picnic3l1
511151315232picnic3l3
512251585282picnicl3full
647765276807picnicl5full
672967697027picnic3l5
868687228860picnicl1fs
878688218925picnicl1ur
106141065710795
T:
picnic2l1fs
162411626816476picnicl3fs
167171751417613picnicl3ur
192461943919564
T:
picnic2l3fs
222972234722660picnicl5fs
221652249222729picnicl5ur
256752577426036
T:
picnic2l5fs
484194851848612ed25519
640586434264696dilithium2aes
763117642376767aimer128s
766107689877476aimer128f
100617101013101314dilithium3aes
150674151115151787dilithium2
150925151340151893dilithium5aes
197341197864198553aimer192f
200427200662201172
T:
ed448goldilocks
211485211696212821aimer192s
285687286095286474dilithium3
291083292812294451
T:
pass769
355949356686358482
T:
pass863
443982444479445100dilithium5
511834512311512808aimer256s
511774512818514938aimer256f
616668617114618542
T:
sphincsf128harakasimple
724266739705739836
T:
sphincsf128harakarobust
798837801109803884
T:
mqdss48
895642899535924386
T:
sphincsf192harakasimple
101659310258991034188
T:
donald2048
107416410799841085258
T:
sphincsf192harakarobust
870715?1330151?1853517?haetae2
1273188?1679359?2129287?
T:
qtesla1
186523718674111872200
T:
mqdss64
762221?1998073?3226865?haetae3
1235262?2250352?4280432?haetae5
237499523913832430517
T:
sphincsf256harakasimple
292417929332522954154
T:
sphincsf256harakarobust
2808545?4113524?6731898?
T:
qtesla3f
418243041843384188014
T:
sphincs256
662908066360596637606
T:
sphincsf128shake256simple
5929246?6701012?7494511?
T:
qtesla1p
725868672662697279532
T:
mqsignlr2567246
817257881917898221604
T:
luov863256
4228863?8233510?9601528?
T:
qtesla3s
939239994028969453645
T:
sphincsf192shake256simple
103101601035416910507063
T:
rainbowbinary256181212
110868741109697911108132
T:
mqsignrr2567246
121038471210568912149329
T:
sphincsf128shake256robust
125659071258242212588665
T:
luov863256pc
177290081773445317767768
T:
sphincsf192shake256robust
169202981774960919305335
T:
falcon512tree
167845801799071919770177
T:
falcon512dyn
183015761861246218690457
T:
rainbow1aclassic363232
193093551936508519367817
T:
sphincss128harakasimple
194752601973622619816046
T:
rainbow1acyclicc363232
197760821982938520276431
T:
rainbow1acompres363232
224502082312730623201283
T:
sphincss128harakarobust
244010202442679024481244
T:
sphincsf256shake256simple
254158672546088025517830
T:
luov4849242
285733762857463528585281
T:
sphincss192harakasimple
336399373369268933747251
T:
mqsignlr25611272
338726823389938433942607
T:
sphincss192harakarobust
29875107?34912719?44984183?
T:
qtesla3p
368335753688101936930508
T:
luov890351
411294184120339041217294
T:
sphincss256harakasimple
445170064457019044655423
T:
rainbowbinary16242020
455173014553573645549823
T:
sphincss256harakarobust
468637054697979347028869
T:
sphincsf256shake256robust
481904594825538948321674
T:
mqsignrr25611272
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
841757688473991985237738
T:
mqsignlr25614896
981675299830525498378017
T:
luov8117404pc
113412991114887192116133518
T:
rainbow3cclassic683248
118995327121090539123705564
T:
rainbow3ccompres683248
121139382121264789121400679mqsignlr2567246
120163738121614218127106498
T:
rainbow3ccyclicc683248
124527623124684502124879169
T:
mqsignrr25614896
150627156150919898152432275
T:
luov8086399
164304584164537803164670954mqsignrr2567246
208573500208610837208714096
T:
sphincss128shake256simple
259951416260255721260703031
T:
redgemss192
268480385268656280269745664
T:
bluegemss192
269269974269365471269760789
T:
redgemss192v2
271517238271814458271964090
T:
gemss192
275095332275253034275653643
T:
gemss192v2
304235197305585317306366331
T:
sphincss192shake256simple
326950562331264793333341980
T:
rainbow5cclassic963664
351174019356459546358068178
T:
rainbow5ccompres963664
386794246386952300387026876
T:
sphincss128shake256robust
393277145395278086397983522
T:
rainbow5ccyclicc963664
397291864398788972400153748
T:
sphincss256shake256simple
431872509432076867432252798mqsignlr25611272
435556085435609830437075454
T:
bluegemss192v2
571518840573731685575592618
T:
sphincss192shake256robust
591167987591652939592154316mqsignrr25611272
715729595724064943732543078
T:
bluegemss256v2
746183896746730978748368670
T:
sphincss256shake256robust
765168956776355195777259206
T:
redgemss256v2
835580522839037092840359064
T:
redgemss256
847505935847880903857244585
T:
bluegemss256
842595198852030436852486216
T:
gemss256
880478581880767611881178036
T:
gravitysphincss
9950094019990523861007044998
T:
gemss256v2
109107164110913710171091672536mqsignlr25614896
142610579214267965901427218679mqsignrr25614896
382443990739192635704021700559
T:
pqrsa15
141144787521412025107114129341212
T:
gravitysphincsl
286196531632864240384128647816100
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
140591418614401
T:
rainbowbinary256181212
285742889229356
T:
rainbowbinary16242020
511235148652144ed25519
908889140492558
T:
rainbow1aclassic363232
115180115554116473
T:
rainbow1acyclicc363232
121201124409127277
T:
mqsignlr2567246
166541171327175447
T:
mqsignrr2567246
207343207412207480
T:
ed448goldilocks
163916?259545?382315?dilithium2aes
243563?332673?551455?dilithium5aes
278134?345719?520801?dilithium2
249619?347786?576161?dilithium3aes
345326?367827?711678?
T:
pass769
378890387631404700
T:
mqsignlr25611272
471573476693484066
T:
falcon512tree
464280478759487870
T:
rainbow3cclassic683248
492002499458508801
T:
rainbow3ccyclicc683248
498075500078504720
T:
luov863256pc
510631519468534535
T:
mqsignrr25611272
296257?520718?835123?
T:
qtesla1
434805?634397?794759?dilithium3
305280?634762?1080208?
T:
qtesla3f
695116695979698206mqsignlr2567246
666707?720935?969570?dilithium5
720186729869749864
T:
mqsignlr25614896
395808?786901?1177074?
T:
pass863
858682864533870642
T:
falcon512dyn
948519957017964983
T:
falcon1024tree
101738110244151032805
T:
donald2048
100418910317851046395
T:
mqsignrr25614896
105192710667001079359
T:
rainbow5cclassic963664
590105?1215184?1969161?
T:
qtesla1p
121490112319471248146
T:
rainbow5ccyclicc963664
125740712587101260126mqsignrr2567246
698891?1262010?3055559?
T:
qtesla3s
145137014722061503766
T:
luov890351pc
174658617549691764237
T:
falcon1024dyn
176985717727671776243mqsignlr25611272
219057822053822230457
T:
luov8117404pc
1193696?2255921?4359857?haetae2
225813322598302264514aimer128f
2117489?2758519?4639697?haetae3
282457928308832835926mqsignrr25611272
376419237653923768397mqsignlr25614896
2730435?3909044?6226923?
T:
qtesla3p
3221779?4130594?4927901?
T:
redgemss128
1888189?4322018?6754643?haetae5
3859008?5083007?5774709?
T:
redgemss128v2
547630555005805531657picnicl1full
575744057615875824994aimer192f
587303058821625982028mqsignrr25614896
606831060736536077644
T:
mqdss48
665575366594426678836
T:
luov863256
727623772827577289382
T:
gravitysphincss
811458881534318230014picnicl1fs
103413701035978310425438picnicl1ur
107795291078141310787054picnicl3full
112557151125770711264302aimer256f
10009809?12178373?14146651?
T:
redgemss192
10712950?12434405?14518441?
T:
redgemss192v2
140245051403663314066213
T:
gravitysphincsm
155301181557703315589100
T:
gravitysphincsl
156489131566965415687559
T:
mqdss64
158212061619677016482139
T:
rainbow1acompres363232
171299301713447517140282aimer128s
177673301777558917790853picnicl5full
16984234?19012526?21604418?
T:
redgemss256
200001832001713820077429picnicl3fs
17775700?21086583?24044366?
T:
redgemss256v2
220960572211340722128507
T:
sphincsf128harakasimple
222431182225113622258696
T:
luov890351
257500392576081125769766picnic3l1
263078522633224426846823
T:
sphincsf192harakasimple
264151512643067126478426picnicl3ur
268653002688123626910192
T:
sphincsf128harakarobust
324272513245393132486576
T:
sphincsf192harakarobust
347116413473658834761220picnicl5fs
387782123880244138904710
T:
luov8117404
433059574332909343431782aimer192s
440546084407296144104824picnicl5ur
466361374665751146674826
T:
luov4849242
561230765614038256160814picnic3l3
597256225975905059794441
T:
sphincsf256harakasimple
760171457605511876103429
T:
sphincsf256harakarobust
770651877711435277176657
T:
sphincs256
811441438116213581206716aimer256s
934342469370640493876210picnic3l5
97932744100804512100999846
T:
rainbow3ccompres683248
129049730129179870129270247
T:
pqrsa15
116422239?139505809?162987289?
T:
bluegemss128v2
116755912?140012467?186933999?
T:
bluegemss128
140917037141118034141217244
T:
luov6468330
212056034212273297212481604
T:
sphincsf128shake256simple
213390867213421995213484570
T:
picnic2l1fs
237271937242370696244319557
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
291612989530861
T:
rainbow1aclassic363232
619266382565779
T:
gravitysphincss
823098255782744dilithium2aes
8619187173103174
T:
falcon512tree
99258100406104499
T:
mqsignlr2567246
101653102434103420
T:
falcon512dyn
107777107968108385
T:
qtesla1
103213108033115249
T:
mqsignrr2567246
118651119223119824dilithium3aes
139096?151301?246554?
T:
luov863256pc
159426159985160392haetae2
161111161459161899dilithium2
172679173808174644
T:
falcon1024tree
174079174521174940dilithium5aes
181779182375183100ed25519
206852207981208798
T:
falcon1024dyn
210573214861218389
T:
rainbow3cclassic683248
223032223456224132
T:
qtesla3f
225046225486226286
T:
qtesla3s
254616255131255836haetae3
270126272941277328
T:
gravitysphincsm
273141277936285334
T:
redgemss128v2
278739279045279297dilithium3
304981305725306419haetae5
331697337344345874
T:
bluegemss128
334415341468350150
T:
redgemss128
335255342636350887
T:
bluegemss128v2
342304349797360994
T:
gemss128
348624352247362140
T:
mqsignrr25611272
341490354311366561
T:
gemss128v2
359155364986372009
T:
gravitysphincsl
361775376360389046
T:
mqsignlr25611272
392351401371413053
T:
luov890351pc
421833434974442020
T:
sphincss128harakasimple
444052445085446596
T:
pass769
451636452137452498dilithium5
509652515102523619
T:
rainbow5cclassic963664
538052539042540905
T:
pass863
542966546360548110
T:
qtesla1p
538696549669564521
T:
luov8117404pc
603333615140622612
T:
sphincss192harakasimple
604589616285633863
T:
sphincss128harakarobust
635729637090639060
T:
ed448goldilocks
722578740458755347
T:
bluegemss192
725400741263768950
T:
gemss192
742057757972763576
T:
mqsignrr25614896
734894761845787348
T:
bluegemss192v2
771382783955809912
T:
redgemss192
772949789870818932
T:
gemss192v2
786058802807820506
T:
redgemss192v2
793523810647820803
T:
mqsignlr25614896
855351862846874759
T:
sphincss256harakasimple
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
196399319774281986398
T:
sphincs256
222043022224132225252aimer128f
235119623521482353697mqsignrr2567246
239305923941302496303mqsignlr2567246
236059924024532439667
T:
sphincsf256harakarobust
237408324077712426618
T:
sphincsf192harakarobust
259067925991362605119
T:
qtesla3p
262856126333052637724mqsignrr25611272
277005127707512773433mqsignlr25611272
373018638164983872546
T:
sphincss128shake256simple
390078539220643945699
T:
mqdss48
420646042513274281633picnicl1full
485165448531774855406mqsignrr25614896
514251151463395151698mqsignlr25614896
557646956519095747127
T:
sphincss192shake256simple
567073956783205700815
T:
luov863256
570755757135315765765aimer192f
658788966308286635619picnicl1fs
718899874122417687260
T:
sphincss128shake256robust
723867474574338715522
T:
sphincss256shake256simple
844205784478288450050picnicl3full
847989085019958521781picnicl1ur
920193693429499489174
T:
sphincsf128shake256simple
105802581065533010750510
T:
mqdss64
107011221088808911081380
T:
sphincss192shake256robust
111620141116401911166124aimer256f
129791551323709513500040
T:
rainbow1acompres363232
131803921327911113333359
T:
rainbow1acyclicc363232
138808481392838513946289picnicl5full
139353421416621214365988
T:
sphincss256shake256robust
147888801492468815089599
T:
sphincsf192shake256simple
148387251509287617604472
T:
sphincsf256shake256simple
169087391696941316985762picnicl3fs
170669961707312817083387aimer128s
177864011795173818152651
T:
sphincsf128shake256robust
198151871982518219834757
T:
pqrsa15
199114161997378119995506
T:
luov890351
213242742133454321355363picnic3l1
221948392223488222261309picnicl3ur
283372762869608128978511
T:
sphincsf192shake256robust
284368782874578728944248
T:
sphincsf256shake256robust
293543592953449429615971picnicl5fs
339107123392374333949888
T:
luov4849242
342790163429533434409217
T:
luov8117404
371292463724231537260487picnicl5ur
431627424317211943182210aimer192s
466793114671616146733106picnic3l3
733219587338317473806807picnic3l5
808729228088118680895126aimer256s
795361488207575087183394
T:
rainbow3ccyclicc683248
801613358265593883023101
T:
rainbow3ccompres683248
887885078897793489002654
T:
luov6468330
107460197107508359107536496
T:
picnic2l1fs
168722340168822346168933163
T:
luov8086399
177211588182963825185036134
T:
rainbow5ccompres963664
182623992186066061189609190
T:
rainbow5ccyclicc963664
245593169245692051248094417
T:
picnic2l3fs
433451937433623747435978647
T:
picnic2l5fs