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 3 (a20f10); 2020 AMD Ryzen 5 5600X; 6 x 3700MHz; unstable; spawn, supercop-20231215

[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
203520722109picnicl1full
270127382960picnic3l1
281228122849picnicl3full
296030343071picnic3l3
355236263663picnic3l5
358936633737picnicl5full
373737743811
T:
picnic2l1fs
392239594033picnicl1fs
392239594033picnicl1ur
666066976771picnicl3ur
677168086882picnicl3fs
777078078029
T:
picnic2l3fs
925093249472
T:
picnic2l5fs
939895099583picnicl5ur
958396579731picnicl5fs
167241679818278
T:
lattisigns512
378883811038258ed25519
384433866539035dilithium2aes
597186016260791dilithium3aes
686356896869375
T:
ecdonaldp256
936849401794424dilithium5aes
113257113479113997dilithium3
113775114663115218
T:
ecdonaldp224
155992157361158175
T:
ed448goldilocks
158582161468163429
T:
pass769
182965186369191512
T:
pass863
208976210789211233dilithium2
360047362119368150
T:
donald1024
502275507381515484
T:
ecdonaldp160
512080516002530950
T:
ecdonaldk163
522033527139528027
T:
sphincsf128harakasimple
528434532208535797
T:
ecdonaldb163
547378549191552817
T:
ecdonaldp521
560883566729570429dilithium5
563177?570281?1076515?
T:
mqdss48
592740597328598993
T:
sphincsf128harakarobust
606245609131614903
T:
ecdonaldp192
708328715321723202
T:
ecdonaldk233
725718730787744921
T:
ecdonaldb233
789543802530805823
T:
sphincsf192harakasimple
957745965959978909
T:
sphincsf192harakarobust
889628?1182779?1706477?
T:
qtesla1
118925411954331205645
T:
donald2048
120035412075321215228
T:
ecdonaldk283
1268989?1279793?2271393?
T:
ecdonaldb283
130750613131671321529
T:
mqdss64
1805563?1869647?3482736?
T:
qtesla3f
204228920556832075811
T:
ecdonaldk409
215965321692732193323
T:
ecdonaldb409
227361322803102295406
T:
sphincsf256harakasimple
229962423010302314239
T:
sphincs256
228652623016222385353
T:
ecdonaldp384
242061424310852457947
T:
sphincsf256harakarobust
341765334308253877859
T:
luov863256
2759904?3633955?6262435?
T:
qtesla3s
373977537663413793166
T:
sphincsf128shake256simple
444629044644944543711
T:
ecdonaldk571
472408647452504775849
T:
ecdonaldb571
4186143?4786542?5342060?
T:
qtesla1p
564782856757265719756
T:
sphincsf192shake256simple
674221467792146893433
T:
rainbowbinary256181212
710218771763357202198
T:
sphincsf128shake256robust
736751474235697449580
T:
luov863256pc
100595971010584710158609
T:
sphincsf192shake256robust
120832011222690912399440
T:
rainbow1aclassic363232
128804031295403313058299
T:
rainbow1acyclicc363232
128818831296302413054969
T:
rainbow1acompres363232
142905101438430514719340
T:
sphincsf256shake256simple
150729491513100215259614
T:
sphincss128harakasimple
148883931545171816762924
T:
falcon512tree
151311501546329916360993
T:
luov4849242
154724011552190716392961
T:
luov890351
148358161567401416903487
T:
falcon512dyn
182356721827074818413938
T:
sphincss128harakarobust
254772012552230425991390
T:
sphincss192harakasimple
20990174?26015403?30834949?
T:
qtesla3p
258982242641566928340557
T:
luov8117404
275215622764832427895336
T:
sphincsf256shake256robust
287735312886451429043076
T:
luov890351pc
297324972988149629989129
T:
sphincss192harakarobust
300131423008969530497990
T:
sphincss256harakasimple
319411383214056832759874
T:
rainbowbinary16242020
386828343877485339126205
T:
sphincss256harakarobust
388641713897217439307283
T:
gemss128
428923614448661744765930
T:
bluegemss128
455253184581913546610528
T:
redgemss128
465866634723531050093449
T:
falcon1024dyn
460924174814706450815800
T:
falcon1024tree
482548084837694548695848
T:
luov8117404pc
483840124851650948701805
T:
gemss128v2
477869064959986949731256
T:
bluegemss128v2
507160485078594150972384
T:
luov6468330
512198775187203952431109
T:
redgemss128v2
699674077088308372620159
T:
rainbow3cclassic683248
718288037217449472485886
T:
rainbow3ccompres683248
754778177609712376570094
T:
rainbow3ccyclicc683248
9966397799887494100157335
T:
luov8086399
124778023125095668125747534
T:
sphincss128shake256simple
142460323142884417143706816
T:
sflashv2
172711782173473723174274810
T:
sphincss192shake256simple
195236420196378499201531378
T:
redgemss192
197191574200699100201122084
T:
bluegemss192
200844917201136514201816426
T:
gemss192
215406193216182268219461504
T:
redgemss192v2
216543351216978693217518042
T:
gemss192v2
218672664219258670220043699
T:
bluegemss192v2
222926665224708363226320342
T:
rainbow5cclassic963664
224311760224817217225168088
T:
sphincss128shake256robust
230268279230615746231855098
T:
sphincss256shake256simple
233155389236376979238041831
T:
rainbow5ccompres963664
237419602238190201239333131
T:
rainbow5ccyclicc963664
328275359328800611332028343
T:
sphincss192shake256robust
433352769434064242434885457
T:
sphincss256shake256robust
549024648550237730564406029
T:
redgemss256
563831160564702399566550475
T:
bluegemss256
569296208570284589573943334
T:
gemss256
588508458589869725595956151
T:
gemss256v2
588642250592969807605513584
T:
redgemss256v2
596353531598149548600511887
T:
bluegemss256v2
819782360824141330826136074
T:
gravitysphincss
1298946124?2246068794?3709696738?
T:
ronald3072
131927061621320993580413239774750
T:
gravitysphincsl
263914690762645140360026484057025
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
98791002710286
T:
rainbowbinary256181212
205722075721090
T:
rainbowbinary16242020
414034158841958ed25519
522445291053391
T:
rainbow1aclassic363232
734087359373852
T:
sflashv2
883938913389947
T:
rainbow1acyclicc363232
61642?89910?191623?dilithium2aes
968669790298272
T:
ecdonaldp256
162171163059163688
T:
ecdonaldp224
161727163466164391
T:
ed448goldilocks
115662?176527?251378?dilithium3aes
133755?217634?504384?
T:
lattisigns512
234765236319237392
T:
luov863256pc
231213236615240389
T:
rainbow3cclassic683248
162208?237466?325674?dilithium5aes
179117?254449?464942?dilithium3
275539277537279979
T:
donald1024
314241317756322566
T:
rainbow3ccyclicc683248
322270325748329966
T:
falcon512tree
191438?368779?567506?
T:
pass769
223924?441743?675435?
T:
pass863
529359532208536722
T:
ecdonaldp160
542494547119550930
T:
ecdonaldk163
362822?564102?904761?
T:
qtesla1
563214567654571502
T:
ecdonaldb163
602027605431608502
T:
falcon512dyn
639989643578645761
T:
ecdonaldp192
438524?650608?1344469?dilithium2
649794656417662448
T:
falcon1024tree
685795694083699559
T:
rainbow5cclassic963664
747511752395754726
T:
donald2048
755170760424768934
T:
ecdonaldk233
772597778813790468
T:
ecdonaldb233
807747814703826987
T:
rainbow5ccyclicc963664
837014842342849557
T:
ecdonaldp521
579568?897731?1589742?
T:
qtesla3f
947015950752954711
T:
luov890351pc
120960412319521243644
T:
falcon1024dyn
127775812863421292558
T:
ecdonaldk283
133447913423601347429
T:
ecdonaldb283
157601515892981595218
T:
luov8117404pc
1310651?1622006?2131570?dilithium5
934028?1704812?2940353?
T:
qtesla1p
1008287?2025750?4325781?
T:
qtesla3s
220860422143762229731
T:
ecdonaldk409
228741423043602320233
T:
ecdonaldb409
241310324191342431566
T:
ecdonaldp384
296107329763542993522picnicl1full
303832930510203059382
T:
luov863256
2773076?3296626?4157209?
T:
redgemss128
3052056?3660484?4328778?
T:
redgemss128v2
379198238243573844189picnicl1fs
382254438378253850997
T:
mqdss48
471639047480624818140
T:
ecdonaldk571
493568949527834958777picnicl1ur
503906750695925096195
T:
ecdonaldb571
3802860?5123464?8289110?
T:
qtesla3p
558170956385045650159picnicl3full
598282660037316033775
T:
gravitysphincss
699936470421367079765
T:
ronald3072
7575824?8536418?11076061?
T:
redgemss192v2
857774786287708654892picnicl3fs
7544448?8710466?10385567?
T:
redgemss192
916815692064889245523picnicl5full
950507895420049624884
T:
mqdss64
99882241002204210072880
T:
luov890351
102684251033472910410357
T:
rainbow1acompres363232
114303731147969411530273
T:
gravitysphincsm
116197761164327111672871picnicl3ur
136507431367501513704689
T:
gravitysphincsl
145893591462217814752973picnic3l1
12420530?15012047?20063990?
T:
redgemss256
12549919?15152980?16897271?
T:
redgemss256v2
155681571583252215889576picnicl5fs
170382041708334417150795
T:
luov8117404
186892921888857418959836
T:
sphincsf128harakasimple
199640902004068020121673picnicl5ur
231660332347653725294791
T:
sphincsf192harakasimple
231659222361576824376414
T:
sphincsf128harakarobust
294172572964099629874799
T:
sphincsf192harakarobust
300572833045529230607103picnic3l3
307377133077415830906137
T:
luov4849242
399313624009930540261994
T:
sphincs256
518471755202518252446723picnic3l5
573128525770486760634601
T:
rainbow3ccompres683248
613850726152345261714742
T:
sphincsf256harakasimple
684426006871155368863660
T:
sphincsf256harakarobust
975860949765717198290981
T:
luov6468330
99535180?100427583?160461045?
T:
bluegemss128
109631074109826101110364673
T:
picnic2l1fs
100114896?120114284?140219085?
T:
bluegemss128v2
121470149121664584121964950
T:
sphincsf128shake256simple
146331559148620490150652234
T:
rainbow5ccompres963664
157647306158164529159237899
T:
sphincsf192shake256simple
196361627197235012197788199
T:
luov8086399
221558257222557072223564508
T:
sphincsf128shake256robust
196798079?245631567?294010954?
T:
bluegemss192v2
275835296277565157278124116
T:
sphincsf192shake256robust
288617982289328974291074671
T:
sphincss128harakasimple
334759757335598140337398782
T:
sphincsf256shake256simple
281785932?337521548?395080487?
T:
bluegemss192
365400160366966333368591040
T:
picnic2l3fs
388520942389337310391887165
T:
sphincss128harakarobust
418131154419169337420047421
T:
sphincss256harakasimple
387895975466419003470521230
T:
bluegemss256v2
489856172?587627451?687868147?
T:
bluegemss256
611878805612964459613624613
T:
sphincss256harakarobust
623526405624156959624787069
T:
sphincsf256shake256robust
697032973698598554720619733
T:
sphincss192harakasimple
614404462?743607833?868177176?
T:
gemss128
750115800752748276756322772
T:
picnic2l5fs
627070154?783506339?991373338?
T:
gemss128v2
975856056977241447978493712
T:
sphincss192harakarobust
1633690674?1959572244?2285699457?
T:
gemss192v2
199345743619990116542010870672
T:
sphincss128shake256simple
1884422210?2262594067?3015762293?
T:
gemss192
281292118928200753612830792300
T:
sphincss256shake256simple
2776309097?3333364003?4438825139?
T:
gemss256v2
333930764633715212893415671909
T:
sphincss128shake256robust
395390946639712322004030034857
T:
sphincss192shake256simple
3464769947?4151149510?4850754760?
T:
gemss256
506644829551120610445137805644
T:
sphincss256shake256robust
686236502570194729457044531306
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
751176227733
T:
rainbowbinary256181212
142081450414874
T:
rainbowbinary16242020
220152249623199
T:
rainbow1aclassic363232
237542397624272
T:
lattisigns512
477674784147952dilithium2aes
479524939551652
T:
gravitysphincss
666746708167525
T:
ronald3072
691166941269671dilithium3aes
725577363074222
T:
falcon512tree
770717992085877
T:
luov863256pc
841388443485359
T:
sflashv2
845828521185729
T:
falcon512dyn
89281100566110963
T:
rainbow3cclassic683248
101676102453103267
T:
qtesla1
102749103304103785dilithium5aes
117179117290117475dilithium3
136493137048137640ed25519
146150147223147741
T:
falcon1024tree
158841164946169756
T:
redgemss128
155696165020182225
T:
bluegemss128
170607172790174011
T:
falcon1024dyn
175861180671185518
T:
redgemss128v2
175898185777198320
T:
bluegemss128v2
194805201391204795
T:
gemss128
202538206349211677
T:
gemss128v2
215155218929223739
T:
gravitysphincsm
218522219706221260
T:
donald1024
218522221334222370
T:
ecdonaldp256
229400232508233211
T:
qtesla3f
232952233470234839
T:
pass769
233359238317239353
T:
qtesla3s
244903245273247974dilithium2
265179267547269212
T:
pass863
269138274022285233
T:
luov890351pc
292004296592300699
T:
gravitysphincsl
317497318274319643
T:
ecdonaldp224
314315319865327154
T:
rainbow5cclassic963664
352055356939363266
T:
sphincss128harakasimple
375735381433386909
T:
luov8117404pc
469937479890494468
T:
gemss192
467236483035493173
T:
gemss192v2
467902483072493025
T:
bluegemss192
382247?483775?503792?
T:
redgemss192
473896494246509749
T:
bluegemss192v2
500832505235507714
T:
ed448goldilocks
424316509897528582
T:
redgemss192v2
505864512894518037
T:
ecdonaldp160
531468538350547341
T:
sphincss192harakasimple
542087543345548747
T:
qtesla1p
550856560661574314
T:
sphincss128harakarobust
594701598993604099
T:
ecdonaldp192
616457?618825?997890?dilithium5
668997675620683094
T:
donald2048
713434721241728012
T:
sphincss256harakasimple
828504841454856476
T:
sphincsf128harakasimple
886224905945930143
T:
sphincss192harakarobust
902319924593943093
T:
redgemss256v2
928293953675981240
T:
redgemss256
9193029548591025751
T:
gemss256
9411699639241010914
T:
gemss256v2
9439819682901003921
T:
bluegemss256v2
9475709916741038664
T:
bluegemss256
104099510484691053649
T:
ecdonaldk163
109272111019341132274
T:
ecdonaldb163
109379411058931116142
T:
sphincs256
118866212022041224293
T:
sphincss256harakarobust
127117212867491302067
T:
sphincsf128harakarobust
131557213350711379027
T:
sphincsf192harakasimple
145143614618701479667
T:
ecdonaldk233
149180315056781518850
T:
ecdonaldb233
148610515100441527508
T:
sphincsf256harakasimple
158374815924801601249
T:
ecdonaldp521
195915019758371989860
T:
ecdonaldp384
209693821155122145556
T:
sphincsf192harakarobust
220964022404612261995
T:
sphincsf256harakarobust
229425923164962334330picnicl1full
244455324567632477631
T:
mqdss48
248577125011262510709
T:
ecdonaldk283
249398525076752520477
T:
qtesla3p
253279825416412547598
T:
luov863256
259717826120522620118
T:
ecdonaldb283
263935826745822741848
T:
sphincss128shake256simple
303747830681143085911picnicl1fs
384215439196323976871
T:
sphincss192shake256simple
399163440111334030077picnicl1ur
426606342837124301805
T:
ecdonaldk409
441332344606464466344picnicl3full
445875944909864512927
T:
ecdonaldb409
487208649548555016386
T:
sphincss256shake256simple
498649051293475293368
T:
sphincss128shake256robust
627127864349666541415
T:
sphincsf128shake256simple
667480067342226765857
T:
mqdss64
703536570852417123943picnicl3fs
728407973254827362926picnicl5full
743337474990867672246
T:
sphincss192shake256robust
748184476268107683494
T:
rainbow1acyclicc363232
769230077176827815288
T:
rainbow1acompres363232
892299489377948948820
T:
luov890351
910477592124459248002
T:
ecdonaldk571
952383795613189595247picnicl3ur
977795398346009875744
T:
ecdonaldb571
9846921999691910188135
T:
sphincss256shake256robust
100748781016937610295953
T:
sphincsf256shake256simple
101301191019142810335247
T:
sphincsf192shake256simple
117404701182375711891911picnic3l1
123639571260804612785313
T:
sphincsf128shake256robust
125835521268715212745834picnicl5fs
153454911543358815699470
T:
luov8117404
162905081632917316424152picnicl5ur
194530091969754219901486
T:
sphincsf192shake256robust
199508072022612420450751
T:
sphincsf256shake256robust
216411152169631921786488
T:
luov4849242
244298052458379924782785picnic3l3
397564633983786340058790picnic3l5
453795384565544745885254
T:
rainbow3ccompres683248
453095714597379546160164
T:
rainbow3ccyclicc683248
554499765564918455842176
T:
picnic2l1fs
586832215879251958947697
T:
luov6468330
102945692103712036104409449
T:
rainbow5ccyclicc963664
103004337104809345105441712
T:
rainbow5ccompres963664
107286754107601772107935586
T:
luov8086399
129100807129510360130806803
T:
picnic2l3fs
224934951225536460225991819
T:
picnic2l5fs