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; Core 2 45nm (10676); 2007 Intel Xeon X5450; 8 x 2992MHz; unstable; gcc14, supercop-20220506

[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: mqqsig160, mqqsig192, mqqsig224, mqqsig256, ntrumls401x, ntrumls439x, ntrumls593x, ntrumls743x, qtesla128, qtesla192, qtesla256, rainbowbinary16242020

Cycles to generate a key pair
25%50%75%system
729273357405picnicl1full
733974717699picnic3l1
955896279703picnicl3full
9608968910015picnic3l3
126221265212803picnicl5full
126091266212877picnic3l5
174691752117592picnicl1ur
174861756717633picnicl1fs
190791913119231
T:
picnic2l1fs
314573151531683picnicl3ur
320863223132681picnicl3fs
346213470534861
T:
picnic2l3fs
446014497045382picnicl5ur
450114541646072picnicl5fs
466714674746917
T:
picnic2l5fs
987989890799108ed25519
329674330347331354
T:
ed448goldilocks
475329476334477453dilithium2
568291570263571186
T:
pass769
688987691877693267
T:
pass863
852443853747854736dilithium3
102061010244321029363dilithium2aes
107232310764881080722
T:
edons128k08n72nu8l4mu3
131531813157011316401dilithium5
145787214598541462778
T:
mqdss48
183078118450921865605
T:
donald2048
184449418499981853496dilithium3aes
2275605?2987563?3768779?
T:
qtesla1
309867031069813117506dilithium5aes
339538534022393408374
T:
mqdss64
342394234329523457670
T:
edons128ref
4679946?6839297?6901299?
T:
qtesla3f
738504675032987528048
T:
3icp
766497676791537690431
T:
sphincsf128sha256simple
5086905?9607866?14295584?
T:
qtesla3s
112117961123268111265746
T:
sphincsf192sha256simple
9181890?11952292?14776934?
T:
qtesla1p
120946661209607112101038
T:
sphincsf128harakasimple
122915601230201912350905
T:
sphincsf128shake256simple
147668851479557714832282
T:
sphincsf128sha256robust
150287051504570715050743
T:
sphincs256
178423971784984017853203
T:
sphincsf192harakasimple
180859121809287618099132
T:
sphincsf192shake256simple
200313732006808220135105
T:
rainbowbinary256181212
214633722148245521556147
T:
sphincsf192sha256robust
219196672192383921973553
T:
sphincsf128harakarobust
234341712348282423491674
T:
sphincsf128shake256robust
234211662383503923870512
T:
tts6440
243678102437677124430790
T:
rainbow1aclassic363232
246850212470446224755936
T:
rainbow1acompres363232
252227672524535525260932
T:
rainbow1acyclicc363232
259006242595849526027543
T:
luov4849242
297273632974466029764494
T:
sphincsf256sha256simple
324048053250920132637134
T:
sphincsf192harakarobust
337954203385127333924042
T:
luov863256
344035243440628634424055
T:
sphincsf192shake256robust
22354062?34787319?54558145?
T:
rwb0fuz1024
367865474064045445201148
T:
falcon512tree
384087524080062446462607
T:
falcon512dyn
473392634736856247369902
T:
sphincsf256harakasimple
476236274762777947966239
T:
sphincsf256shake256simple
46520603?55059564?67835280?
T:
qtesla3p
789174787911131679219805
T:
luov6468330
795245657979653082838589
T:
rainbow5640
798788947997266180147132
T:
sphincsf256sha256robust
863314288634392186359331
T:
sphincsf256harakarobust
914479159147896891541708
T:
sphincsf256shake256robust
109560859112154324125909152
T:
falcon1024tree
108767243116871406129232848
T:
falcon1024dyn
127388909127612229127778218
T:
luov890351
143143314143326643143413776
T:
rainbow3cclassic683248
155197493155483116156176155
T:
rainbow3ccompres683248
157554784162313450165073728
T:
rainbow3ccyclicc683248
164264093165112060165441625
T:
luov8086399
174990945176459612184081208
T:
rainbow6440
209702578209738297209908686
T:
redgemss128v2
242818841242972869246215002
T:
sphincss128sha256simple
248819972248993863249221693
T:
luov8117404
330912195330980017331148550
T:
sflashv2
347563616347915948348015083
T:
bluegemss128v2
356428830358588538358651384
T:
sphincss192sha256simple
385762553385786629385838534
T:
sphincss128harakasimple
388288834388386826388523170
T:
gemss128v2
393411236393648605393923188
T:
sphincss128shake256simple
445316139446131232448899725
T:
rainbow5cclassic963664
475572839475856156476626891
T:
sphincss128sha256robust
475641802476273036476916889
T:
rainbow5ccompres963664
475881981477274993479430790
T:
sphincss256sha256simple
477319605477894158479537941
T:
rainbow5ccyclicc963664
570293007570304847570319731
T:
sphincss192harakasimple
580970483581131802581501253
T:
sphincss192shake256simple
694990549697215070699206105
T:
sphincss192sha256robust
698333720698444973700522423
T:
sphincss128harakarobust
748118691748190175748558981
T:
sphincss128shake256robust
756421224756453051756480905
T:
sphincss256harakasimple
760286285761912165762024237
T:
sphincss256shake256simple
103434513910369772511039662769
T:
sphincss192harakarobust
110184548511032747051103319766
T:
sphincss192shake256robust
129389757712965516721348944179
T:
sphincss256sha256robust
138044949613805451801380780711
T:
sphincss256harakarobust
138579620013890767771394465684
T:
redgemss192v2
138906040513903738381391737903
T:
redgemss128
146248524114627877781467697210
T:
sphincss256shake256robust
170797654217086462841709426834
T:
gemss192v2
173564722317364679181738370469
T:
bluegemss192v2
185080590718611162711872720159
T:
rainbow1a
197996872119820009411985384049
T:
bluegemss128
272118194727361726362767345217
T:
gemss128
435493380844531645984470529430
T:
gui184
456991875445848637164682478139
T:
redgemss256v2
542042593454402865025453494342
T:
bluegemss256v2
555957250755823322655593360069
T:
redgemss192
672400124067301904596750319849
T:
rainbow1c
756030122075764295637587858244
T:
bluegemss192
776361242977647324547764904763
T:
rainbow1b
790146130880949022538278379697
T:
pqrsa15
99914515811016434723810436788593
T:
gemss192
154347954211548574402615507314529
T:
redgemss256
180106386651805150047918140110684
T:
rainbow4a
201502320522016976903920304640863
T:
bluegemss256
322042963643221793740632219319544
T:
rainbow3b
713316393367133580341171346751466
T:
rainbow3c
756769146587575822420376075249537
T:
rainbow6a
Cycles to sign 59 bytes
25%50%75%system
274192754827688
T:
rainbowbinary256181212
278182804728439
T:
tts6440
661936753275372
T:
rainbow5640
103895104041104319ed25519
110939111475116953
T:
rainbow6440
193159193504193773
T:
sflashv2
201385202275204260
T:
rainbow1acyclicc363232
202808204962211284
T:
rainbow1aclassic363232
338977341272345102
T:
ed448goldilocks
149574?402332?786463?
T:
3icp
647837?658448?1322685?
T:
pass769
790085792599799124
T:
rainbow1a
106807110693971072255
T:
rainbow3cclassic683248
107680910880491099971
T:
falcon512tree
108477010897401096377
T:
rainbow3ccyclicc683248
580296?1107558?2434341?
T:
qtesla1
834876?1489453?2834205?
T:
qtesla3f
801152?1590283?2413831?
T:
pass863
169929017233771739466
T:
rwb0fuz1024
1378233?1730209?2438601?dilithium2
172163617345871744896
T:
falcon512dyn
179273217963491801733
T:
edons128k08n72nu8l4mu3
181567018299311842237
T:
donald2048
1486534?1987497?2953599?dilithium2aes
218088821933762206273
T:
falcon1024tree
247350824821232495381
T:
rainbow5cclassic963664
248309625142362533622
T:
rainbow5ccyclicc963664
253070625400722572405
T:
rainbow1c
2061343?2586595?5060955?
T:
qtesla1p
1427982?2619537?4647391?dilithium3
1366034?2829579?5761248?
T:
qtesla3s
282802328299532858285
T:
rainbow4a
2172416?3023337?4718491?dilithium5
331711933202983324414
T:
rainbow1b
353283535523603562187
T:
falcon1024dyn
3002176?3718829?5246102?dilithium3aes
475196047669824789218
T:
edons128ref
3978127?5805410?7672347?dilithium5aes
607757660847926090746
T:
rainbow6a
743117074391957444130
T:
rainbow3b
923632892395269257933
T:
rainbow3c
6454192?10334218?15020216?
T:
qtesla3p
124703291249026512513077
T:
luov863256
163881491640486416756970
T:
rainbow1acompres363232
185445571855805218583664picnicl1full
230707162311558423150595picnicl1fs
308120083085693131003103picnicl1ur
349238163500815735223655picnicl3full
433603574372589143874737
T:
luov890351
545092435459421154696066picnicl3fs
549529535503440755186252picnicl5full
549357945504255955164705
T:
luov4849242
47710713?58592958?63964272?
T:
redgemss128
58294989?69987179?80800780?
T:
redgemss128v2
772018557724029177382357picnicl3ur
818711158200385482802418
T:
luov8117404
819512578268409482939935
T:
mqdss48
921524149265340092726156picnicl5fs
952757819543648895646765picnic3l1
101641919101666372103120967
T:
rainbow3ccompres683248
123439834123888661124123309picnicl5ur
110374623?131118474?170842943?
T:
redgemss192
139220969?160927955?192080915?
T:
redgemss256
166554686166779894167171637
T:
luov6468330
174028644?207845327?246399062?
T:
redgemss192v2
214113413214831851215533716picnic3l3
241552252242261559242578207
T:
sphincsf128sha256simple
262659596263415180263721709
T:
mqdss64
268829689269447180270949386
T:
rainbow5ccompres963664
270728652272081076272816188
T:
pqrsa15
281393502282064066283666546
T:
sphincs256
315601899316171608317514701
T:
sphincsf192sha256simple
345542965345736684347670429picnic3l5
378338279378486451378698298
T:
luov8086399
312187677?386222798?490253794?
T:
redgemss256v2
389414994389659335390078564
T:
sphincsf128shake256simple
444987010445599746446053671
T:
sphincsf128sha256robust
447797269448050938448362946
T:
sphincsf128harakasimple
452636695452882884453338345
T:
picnic2l1fs
493280649493617658493843096
T:
sphincsf192shake256simple
520788422521225286521426610
T:
sphincsf192harakasimple
596373198598565639601332046
T:
sphincsf192sha256robust
708349760708832718709411804
T:
sphincsf128shake256robust
721363616723079058725420835
T:
sphincsf256sha256simple
766319203766717248767123565
T:
sphincsf128harakarobust
918559572919065659919648966
T:
sphincsf192shake256robust
944812765945745647947711459
T:
sphincsf192harakarobust
109120250110915642891092895885
T:
sphincsf256shake256simple
128719576012874573191287653454
T:
sphincsf256harakasimple
129674770212970154801297434470
T:
picnic2l3fs
187045818218732948441876994665
T:
sphincsf256sha256robust
202229097620235044112025385987
T:
sphincsf256shake256robust
227272119322731328922273668964
T:
sphincsf256harakarobust
274787635627483573382748720172
T:
picnic2l5fs
1128700446?2914005301?4888014547?
T:
gui184
2483251222?2970472688?3474892638?
T:
bluegemss128
2599458855?3119949603?3639757145?
T:
bluegemss128v2
363099647436361116273640564279
T:
sphincss128sha256simple
588207443358826305075884531351
T:
sphincss128shake256simple
625663964562611204516267794886
T:
sphincss256sha256simple
659780276966049978106622084659
T:
sphincss128sha256robust
720679604972084543787214061158
T:
sphincss128harakasimple
6110078941?7323961058?8548057593?
T:
bluegemss192
789955606379127626169486113103
T:
bluegemss192v2
878869101387983475879005332663
T:
sphincss192sha256simple
7403269348?8888762397?10369183183?
T:
bluegemss256
910111220491121286109115731630
T:
sphincss256shake256simple
104690631461046993258110472931425
T:
sphincss128shake256robust
114476652781144809304611448678664
T:
sphincss256harakasimple
120903502221209134213412107228107
T:
sphincss128harakarobust
122789081431228330468112294224673
T:
sphincss192shake256simple
158189210311586693112615895402183
T:
sphincss256sha256robust
158945825901590282977415907819862
T:
sphincss192sha256robust
161198214421613026608816132049228
T:
sphincss192harakasimple
13707020316?16451971998?21917158762?
T:
bluegemss256v2
166755837331668134667316726136103
T:
sphincss256shake256robust
200160176452001887743620020052546
T:
sphincss256harakarobust
16708308502?20045955255?23388540097?
T:
gemss128v2
213940247462139483433021401215305
T:
sphincss192shake256robust
19066933823?22881642149?26693969761?
T:
gemss128
288730285622887672903628878167282
T:
sphincss192harakarobust
45168516308?56459715692?67751691381?
T:
gemss192v2
54782089498?65715918600?76697701708?
T:
gemss192
Cycles to verify 59 bytes
25%50%75%system
127811306213420
T:
rwb0fuz1024
237672388424705
T:
rainbowbinary256181212
297493051730771
T:
3icp
339753443035126
T:
rainbow5640
438154431244715
T:
tts6440
446764504945993
T:
rainbow6440
775978086882205
T:
rainbow1aclassic363232
134361136220137604
T:
falcon512tree
162556162698162857
T:
sflashv2
182078184271184781
T:
falcon512dyn
204637205134205927
T:
qtesla1
274354275476276150
T:
falcon1024tree
367166369422371129ed25519
385492386519387240
T:
falcon1024dyn
461584477963495444
T:
redgemss128v2
480781482529505372
T:
qtesla3f
529996532637534152
T:
rainbow1a
546126546889548652dilithium2
566300568144570236
T:
edons128k08n72nu8l4mu3
577911579125581239
T:
qtesla3s
620136631890648390
T:
gemss128v2
628271635590647141
T:
bluegemss128v2
672917687584698559
T:
gui184
791423794763796773
T:
rainbow3cclassic683248
850917853080856597
T:
pass769
880071880636881263dilithium3
100703610099701013817dilithium2aes
104081810434951045890
T:
pass863
112268911266921132235
T:
ed448goldilocks
116177811643321167703
T:
qtesla1p
121668512191141223332
T:
edons128ref
142867414303841431747dilithium5
159348516157431640835
T:
gemss192v2
174807117535801756815dilithium3aes
189618319285641972902
T:
bluegemss192v2
197411719832891999648
T:
rainbow5cclassic963664
192892919900582029990
T:
redgemss192v2
204829920589732066468
T:
rainbow1c
210445621165052131968
T:
donald2048
226928422745242286753
T:
rainbow4a
230091723031452306190
T:
rainbow1b
305223130578643068899dilithium5aes
359620036286553657169
T:
sphincs256
402187141125074192460
T:
sphincss128sha256simple
410283741726464248358
T:
bluegemss256v2
4173960?4577100?5324633?
T:
redgemss256v2
549520655055565510759
T:
rainbow6a
554095055505845564804
T:
qtesla3p
630463163108786320794
T:
rainbow3b
626765863533556474846
T:
sphincss192sha256simple
648469066381856743943
T:
sphincss128shake256simple
754199076781717802445
T:
sphincss128harakasimple
781790578193487822530
T:
rainbow3c
806466382139388432184
T:
sphincss128sha256robust
838119684805388570232
T:
sphincss256sha256simple
955430595954999610130
T:
rainbow1acyclicc363232
947324796464669843859
T:
sphincss192shake256simple
9743952985117510055998
T:
rainbow1acompres363232
98910001006536810187465
T:
sphincsf128sha256simple
103353181033841610378758
T:
luov863256
112140681128722611403948
T:
sphincss192harakasimple
123383531247844712666829
T:
sphincss256shake256simple
125987161282404113054348
T:
sphincss192sha256robust
125525001303179413302219
T:
sphincss128shake256robust
134491011349548413514338picnicl1full
137495491402887914190187
T:
sphincss128harakarobust
155380421570675915985298
T:
sphincss256harakasimple
155261321578207516123394
T:
sphincsf128shake256simple
159562751616112016335582
T:
sphincsf192sha256simple
164771161664293216807423
T:
sphincsf256sha256simple
173621891763629017869034
T:
sphincsf128harakasimple
178876791791161917969675picnicl1fs
185097231891041619241498
T:
sphincss192shake256robust
197622921991750820217185
T:
sphincsf128sha256robust
210546712124125221386151
T:
sphincss192harakarobust
236025062362478123754561picnicl1ur
238478422412224324714631
T:
sphincss256sha256robust
243134562455842424867198
T:
sphincss256shake256robust
248074642506030525303643
T:
sphincsf192shake256simple
252044442540882925771278
T:
sphincsf256shake256simple
254468812548840225592045picnicl3full
269670102722143427532893
T:
sphincsf192harakasimple
288750452915827629444456
T:
sphincss256harakarobust
290373642929462629490136
T:
sphincsf256harakasimple
305410753102922331517601
T:
sphincsf128shake256robust
317915273222176232584315
T:
sphincsf128harakarobust
322912203249705532887833
T:
sphincsf192sha256robust
334112653346810533519787
T:
pqrsa15
365122573665561336800338
T:
gemss128
376487623767429937695927
T:
luov4849242
390258083920837739327044
T:
redgemss128
393783483951480040181063
T:
bluegemss128
389557353953701339691235
T:
luov890351
404924194053485540630020picnicl5full
426293124270701642775087picnicl3fs
469152034731543247602606
T:
sphincsf256sha256robust
491829524975211150072752
T:
sphincsf192shake256robust
498205725012144550705347
T:
sphincsf256shake256robust
507198565136010051722563
T:
sphincsf192harakarobust
539220165449388954924388
T:
sphincsf256harakarobust
565648525675172158100480
T:
rainbow3ccompres683248
568348715695368157265136
T:
rainbow3ccyclicc683248
591278435918543059300020picnicl3ur
604780986118071761814020
T:
mqdss48
736144377369895173923398
T:
luov8117404
739651117450919274597633picnicl5fs
797931097991903980110138picnic3l1
982943359889302199016056
T:
luov6468330
100117027100485846100720322picnicl5ur
112273457117574752118610195
T:
gemss192
118605413119423739121243394
T:
bluegemss192
120374009123977976125870696
T:
redgemss192
127666988127980102128248365
T:
rainbow5ccompres963664
128029759128285546128313150
T:
rainbow5ccyclicc963664
177548171177666435177864001picnic3l3
193591647195569516197819284
T:
mqdss64
219568511219923792220474699
T:
luov8086399
222055635222261842222451852
T:
picnic2l1fs
249301839249755253250135995
T:
bluegemss256
269866028270051442270381651picnic3l5
273306090274768189276196995
T:
redgemss256
498375889498693269499004225
T:
picnic2l3fs
880686762881291048882230517
T:
picnic2l5fs