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; Coffee Lake (906ea); 2018 Intel Xeon E-2124; 4 x 3300MHz; r24000, supercop-20240909

[Page version: 20241006 02:11:55]

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.


Test results

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
403840484070picnicl1full
434643884481picnic3l1
526952975339
T:
picnic2l1fs
571957315758picnicl3full
602360396084picnicl1ur
607060886121picnicl1fs
616961816204picnic3l3
743874477535picnic3l5
747475057667picnicl5full
784978948201
T:
picnic2l3fs
966997359918picnicl3ur
969797489784picnicl3fs
107181077711017
T:
picnic2l5fs
129431299813427picnicl5ur
127951325513534picnicl5fs
448374498745122ed25519
458064588246110aimer128s
459984608646220aimer128f
506685085851261T!!!dilithium2aes
787717899479401dilithium3aes
820678234082774T!!!dilithium2
108454108733109766aimer192s
109064109541109845aimer192f
120837121251121615dilithium5aes
147502147887148679T!!!dilithium3
152870153153153632
T:
ed448goldilocks
182883184499185915nccsign1aes
208392209009210241
T:
pass769
224559224873225486T!!!dilithium5
233500235305237605nccsign1
244632246572247611nccsign3aes
254948255919256777
T:
pass863
273694274074274704aimer256f
274909275344276022aimer256s
311730313311314977nccsign3
387540389412391624nccsign5aes
469726472320474352nccsign5
258670?531983?1060255?haetae2
776759778771780203
T:
sphincsf128harakasimple
457366?781800?1642684?haetae5
830576832632833411
T:
mqdss48
303838?839431?1794432?haetae3
880543895078901984
T:
donald2048
941799943212945259
T:
sphincsf128harakarobust
977950982710983299
T:
sphincsf192harakasimple
139562814021861407228
T:
sphincsf192harakarobust
848051?1587235?2281581?
T:
qtesla1
193749919396901942589
T:
mqdss64
231245623151302319615
T:
sphincs256
298197529836532985832
T:
sphincsf256harakasimple
311277031141723116201
T:
sphincsf128shake256simple
387136838731503883530
T:
sphincsf256harakarobust
462426246307654669153
T:
luov863256
466445846658484682212
T:
sphincsf192shake256simple
3368725?4958314?8148377?
T:
qtesla3f
554875455498785596664
T:
sphincsf128shake256robust
5456572?6184377?6923162?
T:
qtesla1p
720164772176797237684mqsignlr2567246
739244074049497432148
T:
mqsignlr2567246
761949676395557651562
T:
luov863256pc
4921505?8050472?12785100?
T:
qtesla3s
831132683135648316584
T:
sphincsf192shake256robust
959494696131579634269
T:
mqsignrr2567246
985282499037679927176mqsignrr2567246
107227691074677410802588
T:
rainbowbinary256181212
124667171247190712479025
T:
sphincsf256shake256simple
169645781735672519137815
T:
falcon512dyn
167322861743020119132049
T:
falcon512tree
181311191826274918308670
T:
rainbow1aclassic363232
182581501833558118359367
T:
luov890351
185340281855736919301319
T:
rainbow1acompres363232
186660561873191218882396
T:
rainbow1acyclicc363232
218458502185137221905858
T:
sphincsf256shake256robust
220057742207251522168342
T:
luov4849242
261273662615393426194122
T:
sphincss128harakasimple
300385443006377830087824
T:
sphincss128harakarobust
300351733015908030239220
T:
sphincss192harakasimple
307678633078621030808283
T:
luov890351pc
329510803296789532986530
T:
luov8117404
337061183372871633782743
T:
mqsignlr25611272
336714513376175433854746mqsignlr25611272
414325604167015741847555mqsignrr25611272
32650660?41731334?48119403?
T:
qtesla3p
417611574204494242185333
T:
mqsignrr25611272
438925454397464044217915
T:
sphincss192harakarobust
470285194762722948037569
T:
rainbowbinary16242020
512840985326846056729735
T:
falcon1024dyn
538201815385414753901044
T:
luov8117404pc
540513415417700054272840
T:
sphincss256harakarobust
521742945434076157021919
T:
falcon1024tree
548408685486549454889608
T:
sphincss256harakasimple
658025316596390466081676
T:
luov6468330
666600686668555866720406
T:
gemss128v2
686720116869435768721335
T:
bluegemss128v2
689944316903592969056428
T:
gemss128
730364127308241273130994
T:
redgemss128v2
742777737429234374320681
T:
bluegemss128
753445067536002075397052
T:
redgemss128
846539638490930785191011
T:
mqsignlr25614896
849402028509850485278240mqsignlr25614896
104457378104542067105387820
T:
rainbow3cclassic683248
105071096105095339105112573
T:
sphincss128shake256simple
106861307107031386107204194
T:
rainbow3ccyclicc683248
108114777108314103108418732
T:
rainbow3ccompres683248
117552671117840769118082215
T:
mqsignrr25614896
122310433124304982124647752mqsignrr25614896
129581019129855026130003870
T:
luov8086399
148371197148383096148410587
T:
sphincss192shake256simple
180829907180838563180851392
T:
sphincss128shake256robust
204558138204569926204585739
T:
sphincss256shake256simple
247839873248080834248293986
T:
redgemss192
266278271268411886268593449
T:
sphincss192shake256robust
303522066303644531303948235
T:
rainbow5cclassic963664
304148946304440111304801854
T:
bluegemss192
329127344329173150329244991
T:
gemss192
331657369331955248332426618
T:
rainbow5ccyclicc963664
335045823335273990335532383
T:
rainbow5ccompres963664
345208901345304155345599857
T:
gemss192v2
348324575348842347349029928
T:
redgemss192v2
349964338350291370350822004
T:
bluegemss192v2
353723907353752119353783625
T:
sphincss256shake256robust
703308471710501611710737180
T:
gemss256
728042361728758662729990189
T:
bluegemss256
729832144730914360732290813
T:
redgemss256
102104671810219072761023537726
T:
gemss256v2
102318967810366178861038492944
T:
redgemss256v2
103690190810393686621043830879
T:
bluegemss256v2
106830385710702978551070957006
T:
gravitysphincss
373821524738398644583987196581
T:
pqrsa15
170954031501709622190117099897792
T:
gravitysphincsl
343963586453439818636434413576549
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
173161754818236
T:
rainbowbinary256181212
331853345834729
T:
rainbowbinary16242020
473534747547613ed25519
863418680589006
T:
rainbow1aclassic363232
99469102165105791
T:
mqsignlr2567246
118834121226122727mqsignlr2567246
136531139038141684
T:
mqsignrr2567246
138699140330143160
T:
rainbow1acyclicc363232
111436?151951?267980?T!!!dilithium2aes
160617160798160975
T:
ed448goldilocks
157296160910165423mqsignrr2567246
117103?186987?235044?T!!!dilithium2
148296?237847?318185?dilithium3aes
268951282096297807
T:
mqsignlr25611272
231016?282726?469540?T!!!dilithium3
314210321053323661mqsignlr25611272
226046?323258?467503?dilithium5aes
209381?333993?776309?
T:
qtesla1
353380356625360711
T:
luov863256pc
387214390790393849
T:
falcon512tree
387511391421395632
T:
mqsignrr25611272
392722396177399615
T:
rainbow3cclassic683248
397881399738401969
T:
rainbow3ccyclicc683248
401357?408111?589632?nccsign1
220605?430021?450328?
T:
pass769
333000?436676?547978?T!!!dilithium5
459522469674499612mqsignrr25611272
330246?489094?624892?nccsign1aes
499999506354512623
T:
mqsignlr25614896
274325?539735?552465?
T:
pass863
265916?573779?923731?
T:
qtesla3f
603234607135612118mqsignlr25614896
442075?669299?967349?nccsign3aes
705084708683714344
T:
falcon512dyn
715165720950725285
T:
mqsignrr25614896
490829?760304?1418610?
T:
qtesla1p
778507782586792051
T:
falcon1024tree
535616?784862?994894?nccsign3
398133?840904?1610708?
T:
qtesla3s
875289881035884251mqsignrr25614896
878409882177885145
T:
rainbow5cclassic963664
881427888697894619
T:
donald2048
664940?916877?1304453?nccsign5aes
960708962692965250
T:
rainbow5ccyclicc963664
786489?1093784?1524204?nccsign5
118596211891991194377
T:
luov890351pc
124186412424491243002aimer128f
606273?1428058?2661770?haetae5
637706?1432960?2779276?haetae2
142980414405481515669
T:
falcon1024dyn
169746017012961704476
T:
luov8117404pc
959861?1751647?3340842?haetae3
328694232883943294518
T:
luov863256
329302032938223294713aimer192f
3204637?3621884?4728147?
T:
redgemss128v2
2867579?3694086?5251415?
T:
qtesla3p
3309654?3898297?4650644?
T:
redgemss128
410411241060934109837picnicl1full
506689150703005098412picnicl1fs
479664551200175129124
T:
mqdss48
632253263249806325887picnicl1ur
654905465623066563761aimer256f
801893080201438022058picnicl3full
887886688842808887912
T:
gravitysphincss
7820972?9315509?11355478?
T:
redgemss192
952520295277979545253aimer128s
9150237?10407833?12584927?
T:
redgemss192v2
105576441057755010583966
T:
luov890351
113022151131811912342122
T:
mqdss64
118599871188357411893326picnicl3fs
135142161352181713548340picnicl5full
11927494?14588989?17311170?
T:
redgemss256
13436394?15044796?18321123?
T:
redgemss256v2
152022031520456215207381picnicl3ur
151991551522654415558624
T:
rainbow1acompres363232
158894201590397415911203
T:
gravitysphincsm
177388221775125417769699picnic3l1
184042261841251318431172
T:
luov8117404
187889051884422418887448
T:
gravitysphincsl
200483012005282320101693picnicl5fs
245536872455659424558955aimer192s
251617952519693425270083picnicl5ur
272035002722157427239075
T:
sphincsf128harakasimple
286650542868329428700189
T:
sphincsf192harakasimple
343166353438073334471264
T:
sphincsf128harakarobust
381646013822626438288637picnic3l3
409813824105925341447318
T:
sphincs256
421469334222050042329668
T:
sphincsf192harakarobust
437245064374934743788725
T:
luov4849242
476360094769251547730868aimer256s
646365096487749664957506picnic3l5
746047287467612674941289
T:
sphincsf256harakasimple
898290179024347190355494
T:
rainbow3ccompres683248
99772867100148179100245132
T:
sphincsf256harakarobust
103654836103806999103935402
T:
sphincsf128shake256simple
119766567119844654119903776
T:
pqrsa15
98791947?121373252?155734616?
T:
bluegemss128v2
134531351134671336134785125
T:
sphincsf192shake256simple
114506262?138947590?183208667?
T:
bluegemss128
141769282142039506142332506
T:
luov6468330
155026740155104138155345934
T:
picnic2l1fs
176865350177130014177383763
T:
sphincsf128shake256robust
217458802217764430218730462
T:
rainbow5ccompres963664
235624471235855568236124304
T:
sphincsf192shake256robust
255269151?256345077?356255303?
T:
bluegemss192v2
282221890282768951283192216
T:
luov8086399
295428794295647488295923138
T:
sphincsf256shake256simple
294752938?353449983?412376157?
T:
bluegemss192
454990432455093651455248579
T:
picnic2l3fs
477811741479024870479231593
T:
sphincss128harakasimple
503657598504841412505164207
T:
sphincsf256shake256robust
434115860?520467584?607506393?
T:
bluegemss256v2
362745951?541806871?722124175?
T:
bluegemss256
577886467578073706578970221
T:
sphincss128harakarobust
604340529?725026178?846413714?
T:
gemss128v2
741460360741573182742541752
T:
sphincss256harakasimple
770222596770391127772976148
T:
sphincss256harakarobust
712508723?855061155?1003094625?
T:
gemss128
863955662866402076867110862
T:
sphincss192harakasimple
955732682955926479956308182
T:
picnic2l5fs
133247616913357566481335995903
T:
sphincss192harakarobust
168922620616893988241689711553
T:
sphincss128shake256simple
1404376549?2084156203?2455176617?
T:
gemss192v2
2025290786?2430179926?2835019021?
T:
gemss192
250229379525024902492504989695
T:
sphincss256shake256simple
272506800027252746682725599651
T:
sphincss128shake256robust
264794845031770671133206561496
T:
gemss256v2
3397147345?3405764212?4755616693?
T:
gemss256
340131680134066124923407986583
T:
sphincss192shake256simple
414101691841414598744174499899
T:
sphincss256shake256robust
555839580155632148995564200767
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
144251449414619
T:
rainbowbinary256181212
240292432424847
T:
rainbowbinary16242020
312093198732847
T:
rainbow1aclassic363232
611476137561573T!!!dilithium2aes
672006871771102
T:
gravitysphincss
751257626277059
T:
falcon512tree
806608157684107mqsignlr2567246
825888433686674
T:
mqsignlr2567246
832428584188693
T:
mqsignrr2567246
866648683787016dilithium3aes
840708775692967mqsignrr2567246
892139026991516
T:
falcon512dyn
903079036690594T!!!dilithium2
990049934399963
T:
qtesla1
122595123987125191haetae2
130159130423130799dilithium5aes
131668134952137322
T:
luov863256pc
146520146661147013T!!!dilithium3
150062151191151958
T:
falcon1024tree
164641165237166069ed25519
180562181515183118
T:
falcon1024dyn
181875183610186511
T:
rainbow3cclassic683248
189978190817196065haetae3
199632200075200906
T:
qtesla3f
202664203226204042
T:
qtesla3s
223561224490226382nccsign1aes
224415227287229782haetae5
228417228726229402T!!!dilithium5
262590268606274531
T:
redgemss128
268727270688272069nccsign1
283003288888293956
T:
gravitysphincsm
288116289513291587
T:
pass769
285524293210300414
T:
bluegemss128
284897293549303914
T:
redgemss128v2
294554295461297143nccsign3aes
301170303191305350
T:
mqsignrr25611272
302143305755314115mqsignlr25611272
301019312751315669
T:
gemss128
319308342704386631
T:
mqsignlr25611272
348856351907353243
T:
pass863
354932356073358683nccsign3
361487369751380154
T:
bluegemss128v2
367794371176373711
T:
luov890351pc
337068374550389651mqsignrr25611272
372298375466390591
T:
rainbow5cclassic963664
375130381926389999
T:
gravitysphincsl
405974416617428323
T:
gemss128v2
456151458110459962nccsign5aes
465909467945469630
T:
qtesla1p
487119495841505130
T:
sphincss128harakasimple
505486507442509653
T:
ed448goldilocks
521420522072524792nccsign5
523326531579536675
T:
luov8117404pc
562245565954570595
T:
mqsignrr25614896
564784569287573763mqsignrr25614896
570870576472583000mqsignlr25614896
571580578967586680
T:
mqsignlr25614896
599336615651631612
T:
redgemss192
651308661035674550
T:
gemss192
651057662987673158
T:
bluegemss192
701543712396725071
T:
sphincss192harakasimple
741027752215771423
T:
sphincss128harakarobust
744331761652774079
T:
bluegemss192v2
741778762178776832
T:
redgemss192v2
807264816048837339
T:
gemss192v2
104900610558321063081
T:
donald2048
103593010573881076595
T:
sphincss256harakasimple
116317911790021195779
T:
sphincsf128harakasimple
117588211832091200750
T:
sphincss192harakarobust
118642212021191222451
T:
sphincs256
121300412133431214231aimer128f
120155812224221253132
T:
bluegemss256v2
120081412230861250545
T:
gemss256v2
125004912668421289756
T:
redgemss256v2
125822012842691308907
T:
gemss256
127185012959741323091
T:
bluegemss256
135504213886371401077
T:
redgemss256
146657114957491526041
T:
sphincss256harakarobust
174629317586581776900
T:
sphincsf192harakasimple
174283617734451833813
T:
sphincsf128harakarobust
197314019956752020433
T:
sphincsf256harakasimple
215411721616132169325
T:
qtesla3p
265066326553432657018
T:
luov863256
283360528733282903259
T:
sphincsf192harakarobust
284946328805532922749
T:
sphincsf256harakarobust
305522632282193266191
T:
mqdss48
324861832492653249930aimer192f
323648633251113406359
T:
sphincss128shake256simple
335800333619373378372picnicl1full
419233642056584213415picnicl1fs
467094547137984770208
T:
sphincss192shake256simple
523578552405705267017picnicl1ur
615417862157126393615
T:
sphincss256shake256simple
616908562848766403988
T:
sphincss128shake256robust
646104564625756469204aimer256f
669715267003066703539picnicl3full
762536276698938347907
T:
mqdss64
767354877808017946905
T:
sphincsf128shake256simple
893377190898169285471
T:
sphincss192shake256robust
932611793474569398461
T:
luov890351
947879994952839513829aimer128s
9981461998973810002735picnicl3fs
112509361126801811274835picnicl5full
118658981189947212121537
T:
rainbow1acyclicc363232
117478551191635812140953
T:
sphincss256shake256robust
118737891194090212580272
T:
rainbow1acompres363232
122021141233298912448387
T:
sphincsf192shake256simple
127355861274159612748064picnicl3ur
134486231366284313851763
T:
sphincsf256shake256simple
140519421406455314079916picnic3l1
147094821494575715213294
T:
sphincsf128shake256robust
160332001603797716167499
T:
luov8117404
169190221692987316942229picnicl5fs
170764151709752417122007
T:
pqrsa15
212743982128759921310793picnicl5ur
233580242357918823907647
T:
sphincsf192shake256robust
243758212437880724381406aimer192s
259082862607810526414822
T:
sphincsf256shake256robust
302333213030561930409389picnic3l3
318662843187829131889000
T:
luov4849242
472197614722663447248761aimer256s
476013804766810547731129picnic3l5
684175926847227868536581
T:
picnic2l1fs
715226877161091171997583
T:
rainbow3ccyclicc683248
718548127202066372037497
T:
rainbow3ccompres683248
862210148624234786301164
T:
luov6468330
150630682150701504150768859
T:
picnic2l3fs
159729308159963572160392537
T:
rainbow5ccompres963664
160197133160291667163844521
T:
rainbow5ccyclicc963664
166581756166647251166974599
T:
luov8086399
263121495263254587263547492
T:
picnic2l5fs