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; Raptor Cove (b06a2); 2023 Intel Core i7-13700H, P cores; 6 x 4800MHz; raptor, supercop-20231107

[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
276827772834picnicl1full
304830883161picnic3l1
390039093981picnicl3full
391139354012picnic3l3
400640304213picnicl1fs
403040564228picnicl1ur
414542994457
T:
picnic2l1fs
511651575207picnicl5full
515551925245picnic3l5
754076137731picnicl3ur
818482858527picnicl3fs
104141051110679
T:
picnic2l3fs
105911063611408picnicl5ur
106131065210884picnicl5fs
131721324313346
T:
picnic2l5fs
180701813718319
T:
lattisigns512
341353428634524dilithium2aes
386913918040533ed25519
532865351054076dilithium3aes
755757588276474dilithium2
792057998980768dilithium5aes
128388128994129719
T:
ed448goldilocks
139987140470141186dilithium3
205545206400209779
T:
pass769
217077217754218918dilithium5
239796241572242574
T:
pass863
439555441877447127
T:
sphincsf128harakasimple
512238515429520478
T:
sphincsf128harakarobust
543949546198547786
T:
mqdss48
618623626023637780
T:
edons128k08n72nu8l4mu3
616125637205651694
T:
sphincsf192harakasimple
702148713531724768
T:
donald2048
776586779508784439
T:
sphincsf192harakarobust
904533?1194141?1487608?
T:
qtesla1
125988112644341272389
T:
mqdss64
166205116812111691176
T:
sphincsf256harakasimple
188969719349641988544
T:
edons128ref
207397720967412131207
T:
sphincsf256harakarobust
240122524051052414240
T:
sphincs256
2083034?3064709?4030310?
T:
qtesla3f
324185032469203256749
T:
sphincsf128shake256simple
428284142984064371812
T:
luov863256
479452447995284805331
T:
sphincsf192shake256simple
4364006?4947201?5583223?
T:
qtesla1p
4095050?5102922?7098770?
T:
qtesla3s
595324759653575973613
T:
sphincsf128shake256robust
786080278743767898175
T:
luov863256pc
789073679072607930726
T:
rainbowbinary256181212
885849288818128944185
T:
sphincsf192shake256robust
122124431222801412265657
T:
rainbow1aclassic363232
124562221246226012477474
T:
sphincsf256shake256simple
127743111279685012820506
T:
rainbow1acompres363232
128092331286226012894630
T:
rainbow1acyclicc363232
134471231396048415120903
T:
falcon512tree
139275391406480914203508
T:
sphincss128harakasimple
141307691513432416327531
T:
falcon512dyn
162343821630270516397538
T:
sphincss128harakarobust
189234801902405619171236
T:
luov4849242
199487152010595820244745
T:
sphincss192harakasimple
205436752058804020627263
T:
luov890351
229366712303001523062949
T:
sphincsf256shake256robust
248647352490590324950111
T:
sphincss192harakarobust
268005812686860126956079
T:
sphincss256harakasimple
23863963?27683418?36866059?
T:
qtesla3p
335535173371915733798234
T:
sphincss256harakarobust
350953223512213735273658
T:
luov890351pc
355864133565942035865218
T:
luov8117404
419825664208202042205646
T:
rainbowbinary16242020
438078644519556547774245
T:
falcon1024tree
466083314675121246879697
T:
gemss128v2
445047414686429249919315
T:
falcon1024dyn
483273674841537648584561
T:
redgemss128v2
488855314904654349248685
T:
bluegemss128v2
579344965807922958250463
T:
luov6468330
612797866143623661660493
T:
luov8117404pc
640986026446755364711147
T:
gemss128
662544296645435966688520
T:
bluegemss128
672516756755559267775931
T:
redgemss128
766129237691803377756069
T:
rainbow3cclassic683248
783205107849967178702061
T:
rainbow3ccompres683248
801836358025527580589403
T:
rainbow3ccyclicc683248
102501605102529142103176913
T:
sphincss128shake256simple
114266737114404512114726260
T:
luov8086399
130087157131586108132980365
T:
sflashv2
152427718152462050153167075
T:
sphincss192shake256simple
188747468189264874189395520
T:
sphincss128shake256robust
189398464189765147192708009
T:
redgemss192
199780346199986571200123260
T:
sphincss256shake256simple
222551517222637383222778063
T:
rainbow5ccompres963664
227627418230891259233629507
T:
gemss192v2
230784589231024459232215601
T:
rainbow5cclassic963664
230576440231477301232662805
T:
redgemss192v2
230199706233300656234632803
T:
bluegemss192v2
236523402236641099236828317
T:
rainbow5ccyclicc963664
276676918278935273279910668
T:
gemss192
280619948281230117281399696
T:
sphincss192shake256robust
279301108281293946282961663
T:
bluegemss192
365948774366510147366970178
T:
sphincss256shake256robust
542336918545291408553147823
T:
redgemss256
547817993549067762561104143
T:
bluegemss256
687262813694444389702674868
T:
gemss256v2
697021494698932531709672716
T:
redgemss256v2
699398693706476956713580537
T:
bluegemss256v2
787043911791019706793466539
T:
gemss256
863755637864061655864460614
T:
gravitysphincss
303183880030839735413165948851
T:
pqrsa15
137811641891378595893013799124947
T:
gravitysphincsl
276234965742763244016527637549078
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
115881184512505
T:
rainbowbinary256181212
267032716327858
T:
rainbowbinary16242020
412074160242017ed25519
626736291263316
T:
rainbow1aclassic363232
830168349684498
T:
sflashv2
931069418195966
T:
rainbow1acyclicc363232
63592?106999?184004?dilithium2aes
134311134914135509
T:
ed448goldilocks
110111?153120?238061?dilithium3aes
108083?182362?291326?dilithium2
158413?207790?285301?dilithium5aes
187423?276967?457787?
T:
lattisigns512
271047?282917?552216?
T:
pass769
142553?294923?472702?
T:
qtesla1
220078?312859?429472?dilithium3
314449317821324270
T:
rainbow3cclassic683248
329132334949338059
T:
falcon512tree
334354340310347051
T:
rainbow3ccyclicc683248
347874350279355574
T:
luov863256pc
321946?423254?595153?dilithium5
311322?526333?738839?
T:
qtesla3f
569030572381584018
T:
falcon512dyn
314333?624838?942193?
T:
pass863
660841669125683434
T:
falcon1024tree
493691?688566?1199934?
T:
qtesla1p
706433713683723016
T:
donald2048
395761?736836?1357905?
T:
qtesla3s
750214762339774350
T:
rainbow5cclassic963664
791712848116864498
T:
rainbow5ccyclicc963664
104767010606601100581
T:
edons128k08n72nu8l4mu3
114583611504421161248
T:
luov890351pc
114518711542321162727
T:
falcon1024dyn
163483516448581658359
T:
luov8117404pc
2155117?2421089?4201647?
T:
qtesla3p
2082512?2509332?3013511?
T:
redgemss128
2324287?2654936?3333707?
T:
redgemss128v2
281161228431652870476
T:
edons128ref
348455134882103495685
T:
luov863256
355560435581233562492picnicl1full
353483537672423856521
T:
mqdss48
412048341281864137724picnicl1fs
541417854250225430900picnicl1ur
4780302?5821760?6875765?
T:
redgemss192
608110360890166097815
T:
gravitysphincss
5662771?6559454?7524392?
T:
redgemss192v2
695846169665736980840picnicl3full
870684987581008790099
T:
mqdss64
7793416?8995489?10812016?
T:
redgemss256
101097101011774810124365picnicl3fs
102046941022436610254879
T:
rainbow1acompres363232
9316810?10840689?13560926?
T:
redgemss256v2
114489261145560611475832picnicl5full
115038071152754511551400
T:
luov890351
117197351175041211814931
T:
gravitysphincsm
138568021387213013901038picnicl3ur
140654691409232514156311
T:
gravitysphincsl
153480731537984615421648picnic3l1
160537991609470716130423
T:
sphincsf128harakasimple
177016931770786517763041picnicl5fs
188149091894509319013608
T:
sphincsf192harakasimple
193705441944350019527318
T:
sphincsf128harakarobust
199021291993356319973858
T:
luov8117404
230808442309384023135785picnicl5ur
242566282430744724375791
T:
sphincsf192harakarobust
329070683295391633003256picnic3l3
373606293742269537520819
T:
luov4849242
428667444291135042958532
T:
sphincs256
432841494340401343554600
T:
sphincsf256harakasimple
549000185498328156697835picnic3l5
563636835645375456580447
T:
sphincsf256harakarobust
626172536268009462740087
T:
rainbow3ccompres683248
62001192?74432299?98861566?
T:
bluegemss128v2
66737765?80102367?93591850?
T:
bluegemss128
103938529104060778104203783
T:
pqrsa15
105082790105165022105238439
T:
sphincsf128shake256simple
111418817111757821111883932
T:
luov6468330
134087986134294624134444708
T:
sphincsf192shake256simple
139305092139515068140393485
T:
picnic2l1fs
152368070152489241152841232
T:
rainbow5ccompres963664
184069654184217299184392523
T:
sphincsf128shake256robust
165950498?198396508?231549918?
T:
bluegemss192v2
167018263?200036565?234386002?
T:
bluegemss192
216380112216819745222966205
T:
luov8086399
242803671243039764243760947
T:
sphincsf192shake256robust
269477962270262648271096444
T:
sphincss128harakasimple
290876448291046262291660420
T:
sphincsf256shake256simple
262905086?315531906?368647562?
T:
bluegemss256v2
327441160327811826328766938
T:
sphincss128harakarobust
279353282?334497174?391244343?
T:
bluegemss256
377632904378193379380792038
T:
sphincss256harakasimple
377143614378459118454422433
T:
gemss128v2
415035975415600312416834824
T:
picnic2l3fs
408655911?485202742?573035397?
T:
gemss128
493667350494185116494671309
T:
sphincss256harakarobust
520171527520748590520979567
T:
sphincsf256shake256robust
581797526582897164586204736
T:
sphincss192harakasimple
793395802794219463795883938
T:
sphincss192harakarobust
879929030880954559894281781
T:
picnic2l5fs
1150542148?1382635323?1618700472?
T:
gemss192v2
1181853361?1418490271?1664252222?
T:
gemss192
164300256216442253721650086496
T:
sphincss128shake256simple
1888157114?2265716813?2644601874?
T:
gemss256v2
244156692724444345312445249799
T:
sphincss256shake256simple
281791919928272156782831606430
T:
sphincss128shake256robust
2056674371?2831882754?2868175310?
T:
gemss256
350268371235035392653505130463
T:
sphincss192shake256simple
429880730443085361054311408974
T:
sphincss256shake256robust
588403657858992327125900583818
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
864489989188
T:
rainbowbinary256181212
200092025520476
T:
rainbowbinary16242020
232582446025388
T:
rainbow1aclassic363232
289482924729511
T:
lattisigns512
447664491645095dilithium2aes
532415493656938
T:
gravitysphincss
542725547155803
T:
falcon512tree
630696325763693dilithium3aes
644616511166489
T:
qtesla1
649606544166325
T:
falcon512dyn
706257105271488
T:
sflashv2
831718336183510dilithium2
827688455588930
T:
luov863256pc
922699254593017dilithium5aes
109268110715111273
T:
falcon1024tree
123502130098140400
T:
rainbow3cclassic683248
130169130927131562
T:
falcon1024dyn
130550131321132707ed25519
138497138698139044dilithium3
137702138745139258
T:
qtesla3f
139378140267140984
T:
qtesla3s
223120224848225364dilithium5
234754238223243928
T:
gravitysphincsm
238842251062257955
T:
redgemss128
261608274983291593
T:
bluegemss128v2
266495275976290932
T:
gemss128
275603280026287971
T:
redgemss128v2
275800284752304320
T:
gemss128v2
266172286048303318
T:
bluegemss128
312252313865315063
T:
qtesla1p
315990316726319153
T:
pass769
315807321118326607
T:
gravitysphincsl
328500340434357598
T:
luov890351pc
359428366345380702
T:
rainbow5cclassic963664
365642367353368888
T:
pass863
364612371371379928
T:
sphincss128harakasimple
372223374729380429
T:
edons128k08n72nu8l4mu3
431793434293438172
T:
ed448goldilocks
490423502491514769
T:
luov8117404pc
537344548948554594
T:
sphincss128harakarobust
541212550361564818
T:
sphincss192harakasimple
538349564852611417
T:
redgemss192
618276648468696802
T:
redgemss192v2
654511680457727559
T:
bluegemss192v2
645129683597724565
T:
bluegemss192
662956693428723691
T:
gemss192v2
651611698391728648
T:
gemss192
799892813541871276
T:
sphincss256harakasimple
838978845926854829
T:
donald2048
851456862552876696
T:
sphincsf128harakasimple
875477882640897251
T:
edons128ref
891031909278919100
T:
sphincss192harakarobust
123905612529761272198
T:
sphincss256harakarobust
124728812565421264921
T:
sphincs256
125061612717301293272
T:
sphincsf128harakarobust
121237212722021479549
T:
bluegemss256
123542612784061433530
T:
redgemss256
132852313411901351911
T:
sphincsf192harakasimple
128489513651061504964
T:
bluegemss256v2
1353375?1458142?1856505?
T:
gemss256
138389714662541541364
T:
redgemss256v2
152078415351151545943
T:
sphincsf256harakasimple
151143215785491676589
T:
gemss256v2
158341515889781596124
T:
qtesla3p
217240821908792211360
T:
sphincsf192harakarobust
238100924053122425262
T:
sphincsf256harakarobust
239504824421782501615
T:
sphincss128shake256simple
227095424462092502218
T:
mqdss48
279662227985062814420
T:
luov863256
280481728099232822337picnicl1full
330139233175873327255picnicl1fs
355922736236013688373
T:
sphincss192shake256simple
437444543947354409763picnicl1ur
456875546826854761170
T:
sphincss256shake256simple
454207547058464822010
T:
sphincss128shake256robust
527661953434015465656
T:
sphincsf128shake256simple
559432856018865612236picnicl3full
589479559202945972963
T:
mqdss64
681672669882467109345
T:
sphincss192shake256robust
800313180199738131230
T:
rainbow1acompres363232
801455880259348035029
T:
rainbow1acyclicc363232
831075384014858502624
T:
sphincsf256shake256simple
843609684488428462197picnicl3fs
841409384900618564668
T:
sphincsf192shake256simple
874265888812878999213
T:
sphincss256shake256robust
924094992529319282532picnicl5full
9974190998923310028114
T:
luov890351
102181521037101310512949
T:
sphincsf128shake256robust
112107451125482711285183picnicl3ur
118444781187015711888759picnic3l1
139082041393236613999945
T:
pqrsa15
143847131440772814446420picnicl5fs
162607351638329516578803
T:
sphincsf256shake256robust
163031561643893316568851
T:
sphincsf192shake256robust
171008731712903617171793
T:
luov8117404
187751611879508418855895picnicl5ur
256768102572825425780405picnic3l3
289730072898625129026959
T:
luov4849242
404690324051857940621238picnic3l5
486671564871311448881343
T:
rainbow3ccompres683248
487639254879573748838601
T:
rainbow3ccyclicc683248
651946216529091665459406
T:
picnic2l1fs
732425177331188773410271
T:
luov6468330
109380361109532467109600306
T:
rainbow5ccyclicc963664
109734168109878524110298151
T:
rainbow5ccompres963664
144946722145115278148712356
T:
luov8086399
147985654148156311148276921
T:
picnic2l3fs
261746542262209236262784939
T:
picnic2l5fs