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 (a50f00); 2021 AMD Ryzen 5 5560U; 6 x 4062MHz; beelink, supercop-20221122

[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
242024282484picnicl1full
248925162875picnic3l1
328232943332picnicl3full
329433023318picnic3l3
397539824006picnicl1ur
401640244046picnicl1fs
400841254348
T:
picnic2l1fs
417042084241picnicl5full
422742464369picnic3l5
636564536761
T:
picnic2l3fs
677768086851picnicl3fs
675768557791picnicl3ur
857586989868
T:
picnic2l5fs
864687048847picnicl5ur
907891869498picnicl5fs
173301741417582
T:
lattisigns512
444804463644887ed25519
518555204452440dilithium2aes
811958155282448dilithium2
821528250483139dilithium3aes
124312124979125483dilithium5aes
144400144809145362dilithium3
156991157485158025
T:
ed448goldilocks
178138179854181319
T:
pass769
204270206080207220
T:
pass863
220348220723222039dilithium5
547718548435551747
T:
sphincsf128harakasimple
641422643303644592
T:
mqdss48
662056663275667439
T:
sphincsf128harakarobust
714876719576724235
T:
edons128k08n72nu8l4mu3
820676823284824656
T:
sphincsf192harakasimple
831814840500853413
T:
donald2048
993341995531998503
T:
sphincsf192harakarobust
1003028?1059020?1683356?
T:
qtesla1
149276914953711497538
T:
mqdss64
200820020146092022772
T:
sphincsf256harakasimple
215900321642192175124
T:
edons128ref
258548525861912591449
T:
sphincsf256harakarobust
262851126356702649377
T:
sphincs256
2065260?3053380?4042619?
T:
qtesla3f
405381740556954091710
T:
luov863256
429405042994144304158
T:
sphincsf128shake256simple
3111052?5107249?7123021?
T:
qtesla3s
4625403?5307172?6507252?
T:
qtesla1p
633895363444986348559
T:
luov863256pc
635771463714886382221
T:
sphincsf192shake256simple
774376977516607759270
T:
sphincsf128shake256robust
782512378384167854511
T:
rainbowbinary256181212
119285771193439911950287
T:
sphincsf192shake256robust
123277291240197212680800
T:
rainbow1aclassic363232
141287271419815114533242
T:
rainbow1acompres363232
150024141578393017428057
T:
falcon512dyn
151247601603751017117884
T:
falcon512tree
162252451629873416478416
T:
luov890351
170651431710138317135392
T:
sphincsf256shake256simple
184509181846350918526566
T:
sphincss128harakasimple
190780771915214819384510
T:
rainbow1acyclicc363232
198342151991691820031583
T:
luov4849242
204856782050565020527642
T:
sphincss128harakarobust
20123954?23834067?29439475?
T:
qtesla3p
242359162426862224355923
T:
luov890351pc
244943172459544624663506
T:
sphincss192harakasimple
299872903002806530107422
T:
sphincss192harakarobust
303285753035671430709884
T:
luov8117404
314779673159751231642242
T:
sphincsf256shake256robust
342135153428424534348389
T:
sphincss256harakasimple
372100553725246637295311
T:
rainbowbinary16242020
411126864112677241146073
T:
sphincss256harakarobust
451497954525435045374678
T:
luov8117404pc
476714514906333252113580
T:
falcon1024dyn
479281644935205450577731
T:
falcon1024tree
495907614961547849700790
T:
gemss128
500131965007874050136964
T:
bluegemss128
515937355167194351759486
T:
redgemss128
554926445560220255668541
T:
gemss128v2
567541135680331256851365
T:
bluegemss128v2
588018035888543859144185
T:
redgemss128v2
596857345980611159916281
T:
luov6468330
768353167781522580087940
T:
rainbow3cclassic683248
807667768091598383983307
T:
rainbow3ccompres683248
847960698629742386857613
T:
rainbow3ccyclicc683248
117803952117977494118190061
T:
luov8086399
137859904138091546138737940
T:
sphincss128shake256simple
153941329153995900154106995
T:
sflashv2
203074901203400301203579680
T:
sphincss192shake256simple
221116352221287694221502933
T:
redgemss192
227221212227297375227425525
T:
gemss192
227335798227861756228285665
T:
bluegemss192
244875453245044390245299990
T:
redgemss192v2
246183755246425510246481835
T:
gemss192v2
249205436249334031250630801
T:
bluegemss192v2
250683915250849566253854723
T:
sphincss128shake256robust
261711354262261683268839673
T:
rainbow5cclassic963664
265156944265961981266679448
T:
rainbow5ccyclicc963664
268329251269322510273272651
T:
rainbow5ccompres963664
270134300270437435272883968
T:
sphincss256shake256simple
380147667380360268380423427
T:
sphincss192shake256robust
504362596505294758505982786
T:
sphincss256shake256robust
634167332636638815638544368
T:
redgemss256
652078105653282536655983679
T:
bluegemss256
656801612657868211667484973
T:
gemss256
681602390683829809685582227
T:
redgemss256v2
680861225687248719697034407
T:
gemss256v2
688634372691874456696374938
T:
bluegemss256v2
898037386898229860898427142
T:
gravitysphincss
323363176533004982673376274043
T:
pqrsa15
143667561071436850329714370816885
T:
gravitysphincsl
287495230722875246864628754362381
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
119331227912543
T:
rainbowbinary256181212
242442481725543
T:
rainbowbinary16242020
488094886048900ed25519
584846355668253
T:
rainbow1aclassic363232
890568930889793
T:
sflashv2
90344?117244?155247?dilithium2aes
157550159370163783
T:
rainbow1acyclicc363232
162745163142163364
T:
ed448goldilocks
94024?175478?419291?
T:
lattisigns512
123436?181204?226668?dilithium3aes
128571?190504?290708?dilithium2
176682?228077?392486?dilithium5aes
271481272869275618
T:
luov863256pc
155136?279841?586376?
T:
qtesla1
199206?293218?375021?dilithium3
308167309699311277
T:
rainbow3cclassic683248
287565?356445?571383?dilithium5
364168369807372782
T:
falcon512tree
310049?419028?798415?
T:
qtesla3f
421032432898441568
T:
rainbow3ccyclicc683248
223077?440542?662935?
T:
pass769
258322?500254?752810?
T:
pass863
392587?604706?995061?
T:
qtesla1p
660831663838667678
T:
falcon512dyn
744577749986755963
T:
falcon1024tree
756543762477768622
T:
luov890351pc
819545823050828443
T:
rainbow5cclassic963664
836103843774849294
T:
donald2048
422788?915276?1396862?
T:
qtesla3s
100443610295441047159
T:
rainbow5ccyclicc963664
104786810620351069388
T:
edons128k08n72nu8l4mu3
112948211336271137377
T:
luov8117404pc
132668913335691340071
T:
falcon1024dyn
248982525013202513396
T:
edons128ref
1879271?2604827?4872805?
T:
qtesla3p
338959433915613414217picnicl1full
361072436122593613543
T:
luov863256
3156846?3734521?4673466?
T:
redgemss128
396624539698763973215
T:
mqdss48
404601440562444057683picnicl1fs
3598417?4206319?5274476?
T:
redgemss128v2
541116254138425416592picnicl1ur
650131165072106513677picnicl3full
687388768865396899519
T:
gravitysphincss
952299995488549577041
T:
mqdss64
954396295735259717320picnicl3fs
8593159?9967098?11795889?
T:
redgemss192v2
8661313?10159898?11605322?
T:
redgemss192
105905451060241810612018picnicl5full
111071041122459511534518
T:
rainbow1acompres363232
116733951167860511683267
T:
luov890351
129222971293927212985198
T:
gravitysphincsm
129774291298046012999338picnicl3ur
153382521538314515872953
T:
gravitysphincsl
160710591623688616249836picnicl5fs
164504511646596516477717picnic3l1
14418231?16598311?19578048?
T:
redgemss256v2
15006279?17628223?23330976?
T:
redgemss256
198827441991846619958275
T:
sphincsf128harakasimple
201998652021059320686605
T:
luov8117404
209270372095491120981653picnicl5ur
241172952415416624213112
T:
sphincsf192harakasimple
244418912448682124544104
T:
sphincsf128harakarobust
303544853038062030412902
T:
sphincsf192harakarobust
351062853513821435193089picnic3l3
401264534031955640546779
T:
luov4849242
461858134625159546416616
T:
sphincs256
517868235186405051945285
T:
sphincsf256harakasimple
594573165954699659582766picnic3l5
656475746586060566409238
T:
rainbow3ccompres683248
679725956804891168100731
T:
sphincsf256harakarobust
114773063114848095115337549
T:
luov6468330
116582284116631994116696695
T:
pqrsa15
120749585120846956121566121
T:
picnic2l1fs
114017163?136696208?159730899?
T:
bluegemss128
139480476139637967139749165
T:
sphincsf128shake256simple
120269992?162065030?185973835?
T:
bluegemss128v2
167708509168093357168514503
T:
rainbow5ccompres963664
178198384178404984178621847
T:
sphincsf192shake256simple
233426522233660642234891260
T:
luov8086399
240436403240702571241048499
T:
sphincsf128shake256robust
317948354318121603318229437
T:
picnic2l3fs
327234103327394134327609717
T:
sphincsf192shake256robust
351415177351893469352229041
T:
sphincss128harakasimple
326477136?391491873?521685818?
T:
bluegemss192
283815440?396250278?453434845?
T:
bluegemss192v2
399505904399911922400255017
T:
sphincsf256shake256simple
406567838406823042407090623
T:
sphincss128harakarobust
479581545480282771480853967
T:
sphincss256harakasimple
590951857591188170591933236
T:
sphincss256harakarobust
451781852?630160996?658242679?
T:
bluegemss256v2
649808730651381820652239102
T:
picnic2l5fs
570916546?712572601?994141857?
T:
gemss128v2
715344142715790751716549560
T:
sphincsf256shake256robust
715923699716679642717946083
T:
sphincss192harakasimple
567173633?792550024?794217681?
T:
bluegemss256
703094154?848813631?1123578382?
T:
gemss128
963248049964816219965891450
T:
sphincss192harakarobust
221641605022181706462218986270
T:
sphincss128shake256simple
1890627543?2272249394?2656695733?
T:
gemss192v2
2226964651?2666547038?3112269699?
T:
gemss192
330764259233270579133360340411
T:
sphincss256shake256simple
376387046037685776773777572454
T:
sphincss128shake256robust
3230026860?3876602145?4521847483?
T:
gemss256v2
460918096546128474814618647892
T:
sphincss192shake256simple
4005186822?4808923916?6404755903?
T:
gemss256
590928915359127687785915357167
T:
sphincss256shake256robust
796527812179683482587971196226
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
926695659993
T:
rainbowbinary256181212
168921712817608
T:
rainbowbinary16242020
245912614728887
T:
rainbow1aclassic363232
286412895429338
T:
lattisigns512
535985381153990dilithium2aes
591926061763123
T:
gravitysphincss
778277821878674
T:
qtesla1
774477822378957
T:
falcon512tree
783627870879127dilithium3aes
805308068180817dilithium2
832168452685395
T:
falcon512dyn
9968299819100934
T:
sflashv2
106378107439108897
T:
luov863256pc
118129118344118695dilithium5aes
132439132626132749dilithium3
141907142651143628
T:
falcon1024tree
157536158112159017
T:
qtesla3f
159032159991160847
T:
qtesla3s
160696161888163032ed25519
161308162947165109
T:
rainbow3cclassic683248
168506169276169943
T:
falcon1024dyn
208337208798209026dilithium5
238957243411249960
T:
redgemss128
242474253697261087
T:
redgemss128v2
257025261169269651
T:
gravitysphincsm
270573272557274791
T:
pass769
307464310299312049
T:
pass863
310558324927341796
T:
gemss128v2
298974325179339048
T:
bluegemss128v2
305485337570362250
T:
bluegemss128
334629339914347277
T:
luov890351pc
322439345315375836
T:
gemss128
350096354845359196
T:
gravitysphincsl
368269369330371366
T:
qtesla1p
369346378887383031
T:
edons128k08n72nu8l4mu3
379098381132387340
T:
rainbow5cclassic963664
397007406362413941
T:
sphincss128harakasimple
460186469444476565
T:
luov8117404pc
560115572549580169
T:
sphincss192harakasimple
572639574551575802
T:
ed448goldilocks
570925583333596418
T:
sphincss128harakarobust
579452592382602555
T:
redgemss192
591801598378607023
T:
edons128ref
615748628844643045
T:
redgemss192v2
785390798845810307
T:
sphincss256harakasimple
638787?839291?863452?
T:
bluegemss192v2
8389238654071005315
T:
gemss192v2
905567914592926878
T:
sphincsf128harakasimple
927455950348956537
T:
sphincss192harakarobust
9691649935831015728
T:
gemss192
9820319941721000637
T:
donald2048
691627?1011472?1044974?
T:
bluegemss192
118428912138451276964
T:
redgemss256
120660012227671263553
T:
redgemss256v2
120120712420661397844
T:
gemss256v2
1191029?1294873?2097259?
T:
gemss256
1256918?1295218?2215646?
T:
bluegemss256v2
130630013201541337050
T:
sphincss256harakarobust
134842213589531382519
T:
sphincsf128harakarobust
138440513947161409684
T:
sphincsf192harakasimple
152212415367521552142
T:
sphincsf256harakasimple
1256494?1586109?2393216?
T:
bluegemss256
160835416206111632159
T:
sphincs256
180169318079621813359
T:
qtesla3p
228258922991802324025
T:
sphincsf192harakarobust
239656724270432464820
T:
sphincsf256harakarobust
247980124874302506748
T:
mqdss48
262251826415562668546picnicl1full
299724430013923002916
T:
luov863256
298976930909393164267
T:
sphincss128shake256simple
313843231422293160965picnicl1fs
425564842598684283299picnicl1ur
443761944987124572264
T:
sphincss192shake256simple
513448251372265141514picnicl3full
560366057152545965127
T:
sphincss128shake256robust
585828859569336092410
T:
sphincss256shake256simple
622476462509096274502
T:
mqdss64
733605773542927359701picnicl3fs
725205974339437519003
T:
sphincsf128shake256simple
835464783840648390085picnicl5full
837886484478018666518
T:
rainbow1acyclicc363232
850296986118378733441
T:
sphincss192shake256robust
874655289156039040701
T:
rainbow1acompres363232
102501841027327010648396picnicl3ur
105181871053845210542208
T:
luov890351
113717251166362811879795
T:
sphincss256shake256robust
116167381174465511983661
T:
sphincsf192shake256simple
118848481206676112222506
T:
sphincsf256shake256simple
126211451263534112655688picnicl5fs
133482141336166813378940picnic3l1
137317511399511914237580
T:
sphincsf128shake256robust
160616511610068616126525
T:
pqrsa15
168897131697061217075255picnicl5ur
181314421814210618156166
T:
luov8117404
222028812242001722640857
T:
sphincsf192shake256robust
230621452328930723521938
T:
sphincsf256shake256robust
270559222708349927103105
T:
luov4849242
284854592852387928552389picnic3l3
460933834612908446168371picnic3l5
517272605201722553809415
T:
rainbow3ccyclicc683248
524255255291604054133997
T:
rainbow3ccompres683248
636406276370441863762607
T:
picnic2l1fs
701427427023746470366709
T:
luov6468330
115262969116704351120689989
T:
rainbow5ccompres963664
118297468118657787119230689
T:
rainbow5ccyclicc963664
129025467129287553131545661
T:
luov8086399
137445781137515793137620061
T:
picnic2l3fs
236156243236300735236649753
T:
picnic2l5fs