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; Haswell+AES (306c3); 2013 Intel Core i7-4770; 4 x 3400MHz; speed2supercop, 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
310831283160picnicl1full
326432883308picnic3l1
440444284472picnicl3full
451245484580picnic3l3
469247164772
T:
picnic2l1fs
470847444792picnicl1ur
475248004896picnicl1fs
574458085864picnicl5full
571658926604picnic3l5
875692089744
T:
picnic2l3fs
918492089264picnicl3fs
928493849428picnicl3ur
117841183611976
T:
picnic2l5fs
124081247612652picnicl5ur
127721286413148picnicl5fs
489764901649112aimer128f
543645446454560aimer128s
570285714457376ed25519
625326281663128T!!!dilithium2aes
943369494895960T!!!dilithium2
101448102120103888dilithium3aes
113288113344113520aimer192s
113360113520116988aimer192f
126456126880129340
T:
ecdonaldp256
155228155944158136dilithium5aes
169804170152172552
T:
ecdonaldp224
170876172116176828T!!!dilithium3
174972175236175436
T:
ed448goldilocks
242260252720254308
T:
pass769
268764276504281492T!!!dilithium5
295100297820307736
T:
pass863
299028299372299776aimer256s
299352299636300068aimer256f
642992646984653788
T:
donald1024
787532789088790864
T:
mqdss48
796008801008807392
T:
edons128k08n72nu8l4mu3
803236811844829212
T:
ecdonaldp160
869904871168878444
T:
ecdonaldp521
870624872960882232
T:
ecdonaldk163
896128898512906768
T:
ecdonaldb163
899268900116901552
T:
sphincsf128harakasimple
924896927184937428
T:
ecdonaldp384
973728979208991944
T:
ecdonaldp192
445552?1020300?1593676?haetae2
117244411767481188312
T:
ecdonaldk233
118358011838721189876
T:
sphincsf128harakarobust
120484812109321219372
T:
ecdonaldb233
145507214567921457072
T:
sphincsf192harakasimple
1216392?1612824?2352896?
T:
qtesla1
174916417505081751036
T:
sphincsf192harakarobust
180483218064001809436
T:
mqdss64
848028?1873860?3944368?haetae5
195746419609001978580
T:
ecdonaldk283
205655220690642087244
T:
ecdonaldb283
215686821680442180416
T:
donald2048
714576?2341232?2926508?haetae3
243305624386882465236
T:
edons128ref
274453227619802771984
T:
sphincs256
313848831502443164080
T:
sphincsf128shake256simple
326574032747443288288
T:
ecdonaldk409
345186834628883482704
T:
ecdonaldb409
348850034905523503172
T:
sphincsf256harakasimple
2726108?4011616?6599732?
T:
qtesla3f
458891246013164618520
T:
sphincsf256harakarobust
471788047231084736176
T:
sphincsf192shake256simple
508996451070125124848
T:
luov863256
4065256?5433088?8006636?
T:
qtesla3s
563001656361765643372
T:
sphincsf128shake256robust
5684964?6457540?7274520?
T:
qtesla1p
706090070726087097316
T:
ecdonaldk571
754894875627487648464
T:
ecdonaldb571
824832083870568630668
T:
3icp
846192084713008485992
T:
sphincsf192shake256robust
101410721027338410350092
T:
luov863256pc
104607561049014010546460
T:
mqsignlr2567246
123630441236899212388244
T:
sphincsf256shake256simple
125052921253465612569904
T:
rainbowbinary256181212
147035001472480814762304
T:
mqsignrr2567246
166988601671792416738748
T:
rainbow1aclassic363232
170690361711489617135964
T:
rainbow1acyclicc363232
181743081823876418369644
T:
rainbow1acompres363232
181850601868717621399760
T:
falcon512tree
191864201923917619294564
T:
luov4849242
14814620?19822920?27248156?
T:
rwb0fuz1024
182614602005078421918136
T:
falcon512dyn
211323922118132021230832
T:
luov890351
221085602211809222221392
T:
sphincsf256shake256robust
15337600?26689356?37485156?
T:
ronald512
286167242877641228869520
T:
tts6440
291425042957097629872684
T:
sphincss128harakasimple
378683243790324038112228
T:
sphincss128harakarobust
29109840?41415968?51344640?
T:
qtesla3p
420097804250145242651804
T:
luov890351pc
447553724476991644781796
T:
sphincss192harakasimple
447305084485621645296784
T:
mqsignlr25611272
37015220?45409456?61194508?
T:
ronald768
462872724733927647715144
T:
luov8117404
555260005559059655765804
T:
sphincss192harakarobust
558006965588249657636916
T:
sphincss256harakasimple
555131005599935256713920
T:
rainbowbinary16242020
565127205827810462392500
T:
falcon1024dyn
567218925967782864695652
T:
falcon1024tree
625263966259420463826784
T:
bluegemss128
632447566327235263338104
T:
mqsignrr25611272
637429726384178864171708
T:
luov6468330
641563606417550464212588
T:
gemss128
659316366625733666831640
T:
rainbow5640
691154486912917269315304
T:
sphincss256harakarobust
705133487053846070616456
T:
redgemss128
707153167113124471325208
T:
redgemss128v2
707506327123525672192580
T:
luov8117404pc
49071856?75031076?117624576?
T:
ronald1024
754894327581619278916328
T:
gemss128v2
764027567645314880105388
T:
bluegemss128v2
103367608103481488104810876
T:
rainbow3cclassic683248
104051700104068912104599404
T:
sphincss128shake256simple
105124308105376852105890712
T:
rainbow3ccyclicc683248
106507340106638780107473852
T:
mqsignlr25614896
107244516107896400107988628
T:
rainbow3ccompres683248
110744192?111676220?139822680?mqsignlr2567246
119824396120342792120972864
T:
luov8086399
122452364124756572127272392
T:
rainbow6440
148534976149410116158154000mqsignrr2567246
149324268149499608149748620
T:
mqsignrr25614896
154842876154950616155106064
T:
sphincss192shake256simple
161410852161520452169767348
T:
sflashv2
181745192181759876181791460
T:
sphincss128shake256robust
203735992203851716203900528
T:
sphincss256shake256simple
257265596258039448259380688
T:
redgemss192
260916812262198724262865648
T:
redgemss192v2
265406688265466764265537748
T:
gemss192
270396912270446976270579976
T:
sphincss192shake256robust
227918800?289651684?417042072?
T:
ronald1536
311254872311369256311463928
T:
rainbow5cclassic963664
320652324320707928321178844
T:
rainbow5ccyclicc963664
342827356343424024343674780
T:
rainbow5ccompres963664
344704832344962300345401048
T:
bluegemss192
358106428359458312360403456
T:
sphincss256shake256robust
377275992377550908379585880mqsignlr25611272
379453604379741728379997632
T:
gemss192v2
383251288383423208383650020
T:
bluegemss192v2
361160128?499796904?691330316?
T:
ronald2048
522558508524082528585763084mqsignrr25611272
734821700736784524739846180
T:
redgemss256v2
740049432740557236744721968
T:
redgemss256
766753320771648216779895728
T:
bluegemss256
864037668864303764871273004mqsignlr25614896
105274554010556863721058887328
T:
gemss256
113679456411480131521150250840
T:
gemss256v2
115516269611634160441164373756
T:
bluegemss256v2
119948111012065142361207436724mqsignrr25614896
179712878817973474761797554348
T:
gravitysphincss
1729857176?2631457330?4022811404?
T:
ronald3072
444944213246586135244786470068
T:
pqrsa15
4406800336?6854896392?9341273976?
T:
ronald4096
287901778762879176423828792929412
T:
gravitysphincsl
575348606565754457970057787642932
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
190401914019480
T:
rainbowbinary256181212
312083131231660
T:
tts6440
371683748443468
T:
rainbowbinary16242020
600326013660236ed25519
637046480066584
T:
rainbow5640
818088275283900
T:
rainbow1acyclicc363232
825848300084304
T:
rainbow1aclassic363232
864528782493136
T:
rainbow6440
95920101520111232
T:
sflashv2
99576102176103200
T:
mqsignlr2567246
132408134616139312
T:
mqsignrr2567246
179656180332180664
T:
ecdonaldp256
182880183008183128
T:
ed448goldilocks
143692?195860?343448?T!!!dilithium2aes
149700?239568?343352?T!!!dilithium2
258364258964259516
T:
ecdonaldp224
267592270244273492
T:
mqsignlr25611272
152036?297136?1004656?
T:
3icp
196340?312296?408732?dilithium3aes
249104?345696?595712?dilithium5aes
342876?355864?694176?
T:
pass863
361660368680435792
T:
luov863256pc
389480391824394964
T:
mqsignrr25611272
392332397884403372
T:
falcon512tree
398396401396450996
T:
rainbow3cclassic683248
408008412616417872
T:
rainbow3ccyclicc683248
305316?439680?673608?T!!!dilithium3
280816?454540?761340?
T:
qtesla1
470132474736482296
T:
ronald512
350356?493200?613116?T!!!dilithium5
504068507492511408
T:
donald1024
520284521296525756
T:
mqsignlr25614896
285996?558180?864672?
T:
pass769
270104?596996?880996?
T:
qtesla3f
699268701380711172mqsignlr2567246
741588748204753948
T:
mqsignrr25614896
769988775968796356
T:
falcon512dyn
795332803168811068
T:
ronald768
791644809608867604
T:
falcon1024tree
870172877440891440
T:
ecdonaldp160
928652935004944504
T:
ecdonaldk163
933156937752943600
T:
rainbow5cclassic963664
936880942704950876
T:
rainbow5ccyclicc963664
949488951672956472
T:
ecdonaldb163
970312979440989444
T:
rwb0fuz1024
605060?993304?1862260?
T:
qtesla3s
103096810395481047480
T:
ecdonaldp192
759088?1080072?1726632?haetae2
108553610925001105772
T:
ronald1024
109480010978481117664
T:
ecdonaldp384
785696?1165708?2167380?
T:
qtesla1p
124226812510721257744mqsignrr2567246
123678812624441279812
T:
luov890351pc
126828412841041318596
T:
ecdonaldk233
129088412983681312192
T:
ecdonaldb233
131856413191441324412
T:
ecdonaldp521
132948413364801380792
T:
edons128k08n72nu8l4mu3
135822813657641372632
T:
donald2048
143550414427521444344aimer128f
144779614585521517956mqsignlr25611272
1029400?1462016?2740512?haetae3
156010015683881575896
T:
falcon1024dyn
728104?1719548?3729948?haetae5
179652818242802195900
T:
luov8117404pc
207240820765962085728
T:
ecdonaldk283
216996821724122187896
T:
ecdonaldb283
247377624824482514508mqsignrr25611272
289247629083322931704
T:
ronald1536
2397324?3299292?5914576?
T:
qtesla3p
335508833713043400680mqsignlr25614896
338341633962203423496
T:
edons128ref
340879234097683420288aimer192f
349862035105403528196
T:
ecdonaldk409
367223636736283689852picnicl1full
369078837020643715240
T:
ecdonaldb409
368822037038803717852
T:
luov863256
369536837194723736852
T:
ronald2048
454342445583884578636picnicl1fs
3967564?4688492?5792364?
T:
redgemss128v2
475600047731004803596mqsignrr25614896
4072180?4976112?6131776?
T:
redgemss128
496761252913125307440
T:
mqdss48
583220058460685856416picnicl1ur
692396869369246951736aimer256f
714772071628207168924picnicl3full
754054475757527605016
T:
ecdonaldk571
801215280299808067688
T:
ecdonaldb571
108846601090364810945128aimer128s
110671681108340811101820picnicl3fs
119275761193496411938968
T:
luov890351
9949096?11952804?13853792?
T:
redgemss192v2
120264321203146012036432picnicl5full
10413492?12241484?15027648?
T:
redgemss192
128380241285518012887856
T:
ronald3072
127724361289499212954856
T:
mqdss64
140026681404710814084720
T:
rainbow1acompres363232
145773201460589614645592picnicl3ur
147269081473850414815876
T:
gravitysphincss
175772041759507617629204picnic3l1
192428281926444019307476picnicl5fs
16350516?20266716?23513316?
T:
redgemss256
206387162066972820683696
T:
luov8117404
16968860?21924192?27602252?
T:
redgemss256v2
245493162456709224576664picnicl5ur
256054962561215225717636aimer192s
262355002625520426274276
T:
gravitysphincsm
270646522713723627168036
T:
ronald4096
313333363135750431374628
T:
gravitysphincsl
319936403204616832210552
T:
sphincsf128harakasimple
375672803758088837607456picnic3l3
420419084206362442078040
T:
sphincsf192harakasimple
430165884307185243159776
T:
luov4849242
433038844337926843478172
T:
sphincsf128harakarobust
491306724935959649462628
T:
sphincs256
498244044983900849882316aimer256s
527841485283464452859388
T:
sphincsf192harakarobust
634725806350184063540168picnic3l5
837802328385970484828068
T:
rainbow3ccompres683248
900730569014625290238288
T:
sphincsf256harakasimple
104788980104951300105086108
T:
sphincsf128shake256simple
121960608122069936122203584
T:
sphincsf256harakarobust
131868916132389160132470456
T:
luov6468330
136539076136674764136946716
T:
sphincsf192shake256simple
146066496146129060146169912
T:
pqrsa15
156864696157047980157183628
T:
picnic2l1fs
134379332?161440264?188449708?
T:
bluegemss128v2
145610212?174745296?204838620?
T:
bluegemss128
180002524180244180180487176
T:
sphincsf128shake256robust
210056728210087964210778412
T:
rainbow5ccompres963664
240463268240734528249915648
T:
sphincsf192shake256robust
265407312265448144265544048
T:
luov8086399
292838372292986488293131676
T:
sphincsf256shake256simple
334275556?335279544?468145120?
T:
bluegemss192v2
474109016474985152479059332
T:
picnic2l3fs
409778360?490184820?573460188?
T:
bluegemss192
508599828509459156510017368
T:
sphincsf256shake256robust
543142304545823096547350308
T:
sphincss128harakasimple
535766836?642854768?855188112?
T:
bluegemss256v2
731299220732474068735300304
T:
sphincss128harakarobust
650286892?780313916?1039638720?
T:
bluegemss256
786256564786817976797329984
T:
sphincss256harakasimple
997652788997990092998881316
T:
picnic2l5fs
841066640?1010045008?1186977980?
T:
gemss128v2
102376290410242541881026423940
T:
sphincss256harakarobust
919074732?1103040128?1300401080?
T:
gemss128
125242221612527255441255320812
T:
sphincss192harakasimple
167142364016723625561674982756
T:
sphincss128shake256simple
171341081617163400881717271396
T:
sphincss192harakarobust
248937513624956134962503422920
T:
sphincss256shake256simple
273177787627325626202754173336
T:
sphincss128shake256robust
2325563024?2790852336?3258654604?
T:
gemss192v2
2805664712?3367147536?4485328714?
T:
gemss192
353363471635346579563550812860
T:
sphincss192shake256simple
418730704041920700564227411932
T:
sphincss256shake256robust
3625361480?4328047944?5759651876?
T:
gemss256v2
563408217256346525165640995088
T:
sphincss192shake256robust
5018900204?6021382740?7051433352?
T:
gemss256
Cycles to verify 59 bytes
25%50%75%system
801681448284
T:
rwb0fuz1024
157321592016368
T:
rainbowbinary256181212
295402982430220
T:
rainbowbinary16242020
322243256432968
T:
ronald512
326163306833536
T:
ronald768
332083327233536
T:
3icp
350723632437948
T:
rainbow1aclassic363232
382403853638940
T:
ronald1024
407324086840984
T:
rainbow5640
480244830049104
T:
rainbow6440
516445170851776
T:
tts6440
514165176452172
T:
ronald1536
683286878069224
T:
ronald2048
718807447283476
T:
mqsignlr2567246
746127671288660
T:
mqsignrr2567246
770607816478916
T:
falcon512tree
782847840478700T!!!dilithium2aes
934729476095168
T:
falcon512dyn
99732100340100728
T:
qtesla1
107312107516107800
T:
sflashv2
107488107752108500T!!!dilithium2
108156109732113540
T:
gravitysphincss
115808116128118364dilithium3aes
116636117132118104
T:
ronald3072
124156130468139268
T:
luov863256pc
132172132720133224haetae2
155024156496157860
T:
falcon1024tree
172232173344174208dilithium5aes
175240175624180680T!!!dilithium3
179780180468181396
T:
ronald4096
186704187816189044ed25519
189400190560191268
T:
falcon1024dyn
203148204188205236
T:
qtesla3f
205952206900208124
T:
qtesla3s
206924207396208044haetae3
210672214196219736
T:
rainbow3cclassic683248
222808231632238736
T:
redgemss128v2
241396250332256536
T:
gemss128
253792254636255620haetae5
250108257648266440
T:
bluegemss128
251600257716265588
T:
redgemss128
278200278396278712T!!!dilithium5
282636295080299916
T:
bluegemss128v2
293684295172296308
T:
mqsignlr25611272
294656297016300108
T:
mqsignrr25611272
295984301484312968
T:
gemss128v2
349876355920360656
T:
luov890351pc
356624358348373792
T:
pass769
381564381884382552
T:
ecdonaldp256
400800403684409772
T:
donald1024
414844417788419964
T:
edons128k08n72nu8l4mu3
425944428672430092
T:
pass863
453524464544487436
T:
rainbow5cclassic963664
469356469620470172
T:
ecdonaldp224
465116473100480920
T:
gravitysphincsm
496008496980500716
T:
qtesla1p
494768506988549772
T:
luov8117404pc
576736579984585348
T:
mqsignlr25614896
592332593992595316
T:
ed448goldilocks
593528599184603520
T:
mqsignrr25614896
601132619160631288
T:
redgemss192
610008623428636032
T:
sphincss128harakasimple
624376633144645880
T:
gravitysphincsl
617080643392656752
T:
gemss192
640284670292703536
T:
bluegemss192
651360674828713276
T:
gemss192v2
662932680444692064
T:
redgemss192v2
712848723360736104
T:
bluegemss192v2
858416863384870960
T:
ecdonaldp160
898860902436905712
T:
edons128ref
926516943280960776
T:
sphincss128harakarobust
935648952208961880
T:
sphincss192harakasimple
100591210135401028040
T:
ecdonaldp192
120509212224681234748
T:
donald2048
121204412395681270296
T:
gemss256v2
126500412799641306776
T:
redgemss256
130802013278361344140
T:
sphincss256harakasimple
132303213454561381376
T:
redgemss256v2
132730813488481410180
T:
bluegemss256
134108013837401405856
T:
gemss256
137660013860881395504
T:
sphincs256
140790414098881419236aimer128f
138572014109961446868
T:
bluegemss256v2
141739214414721458276
T:
sphincsf128harakasimple
147020014896441520668
T:
sphincss192harakarobust
175738817590401768040
T:
ecdonaldk163
180562018093241825384
T:
ecdonaldb163
194939220041962020624
T:
sphincss256harakarobust
214463621712242201044
T:
sphincsf128harakarobust
226975222756242285820
T:
qtesla3p
234093623553202373420
T:
sphincsf192harakasimple
239461224037402491520
T:
ecdonaldk233
239748024076322419552
T:
ecdonaldp384
2399968?2428440?3403064?mqsignlr25611272
240668024296802466928mqsignrr25611272
243493224358282445940mqsignlr2567246
244700824541922467476
T:
ecdonaldb233
246437624729162485720
T:
ecdonaldp521
242024824921762494908mqsignrr2567246
250604025339282567272
T:
sphincsf256harakasimple
295140029537642960976
T:
luov863256
294050829612202963680picnicl1full
335449633562643367396aimer192f
329990033597643483064
T:
sphincss128shake256simple
330016433729483411492mqsignrr25614896
340388434291403445196mqsignlr25614896
329413634877483531052
T:
mqdss48
362996036531483666908picnicl1fs
364239636758203719092
T:
sphincsf192harakarobust
371046437507883811344
T:
sphincsf256harakarobust
400050040085684019852
T:
ecdonaldk283
419927242130204226160
T:
ecdonaldb283
472901247430644762200picnicl1ur
558308856762285744736
T:
sphincss192shake256simple
583759658436045859928picnicl3full
626632865137286645092
T:
sphincss128shake256robust
643788465372446640216
T:
sphincss256shake256simple
673282867515886766956
T:
ecdonaldk409
682639268399566862292aimer256f
708136070903287105428
T:
ecdonaldb409
803166481140368210088
T:
sphincsf128shake256simple
876678088277528890380
T:
mqdss64
913230891460169179660picnicl3fs
933110094572769659816
T:
sphincss192shake256robust
981100498249889853132picnicl5full
105075881051498010520468
T:
luov890351
107357401073954410743552aimer128s
107534161076860410796344
T:
rainbow1acompres363232
108615321087491610882224
T:
rainbow1acyclicc363232
120164441202674412056112picnicl3ur
123210001247571212661788
T:
sphincss256shake256robust
127847601290004013038712
T:
sphincsf192shake256simple
128171001293838013045268
T:
sphincsf256shake256simple
140792241409353614113192picnic3l1
145752241459301214631892
T:
ecdonaldk571
155441161556140815634764
T:
ecdonaldb571
153534321556530815887244
T:
sphincsf128shake256robust
160553961617636416201960picnicl5fs
180260401805163218069428
T:
luov8117404
205031042055710020571340picnicl5ur
216818602204679622096680
T:
pqrsa15
245937562478163624983872
T:
sphincsf192shake256robust
247218682504262025427316
T:
sphincsf256shake256robust
257466762576894025902108aimer192s
299772642999714030023332
T:
luov4849242
312655163152422031672008picnic3l3
475678204761407247700200picnic3l5
497841924980151649851120aimer256s
647471486477778064910272
T:
rainbow3ccompres683248
660980926613770466180636
T:
rainbow3ccyclicc683248
669289166703836467074320
T:
picnic2l1fs
775385567763096077675804
T:
luov6468330
145873092145967008146952792
T:
rainbow5ccyclicc963664
146692604146720576146752908
T:
rainbow5ccompres963664
148766568148872228149385320
T:
luov8086399
154883444155074116155292064
T:
picnic2l3fs
271283608271569376271966308
T:
picnic2l5fs