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; Ivy Bridge+AES (306a9); 2012 Intel Xeon E3-1275 V2; 4 x 3500MHz; hydra8, supercop-20240909

[Page version: 20240912 11:46:05]

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: 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: ntrumls401x, ntrumls439x, ntrumls593x, ntrumls743x, qtesla128, qtesla192, qtesla256

Cycles to generate a key pair
25%50%75%system
602661236998picnicl1full
618962216384picnic3l1
856586018762picnicl3full
885389008953picnic3l3
117901188012091
T:
picnic2l1fs
124221248112594picnicl1ur
125101255812609picnicl1fs
116001273613600picnicl5full
139841485315601picnic3l5
229572323023769
T:
picnic2l3fs
239792409325058picnicl3fs
240972482325053picnicl3ur
300803025230928
T:
picnic2l5fs
319523258933405picnicl5fs
343313510935955picnicl5ur
653326561066026ed25519
109046109221109562aimer128s
109421110884111133aimer128f
208020208518208728
T:
ed448goldilocks
260847261050261325aimer192f
261487261603261883aimer192s
349493349776350361T!!!dilithium2
358361360572364435nccsign1
430521431389433231
T:
pass769
460032462701464915nccsign3
542671545623547625
T:
pass863
575147579622586022nccsign1aes
647934648696650003T!!!dilithium3
651807652616654099aimer256f
652383653088654510aimer256s
734782738197740082nccsign5
764325764429764714
T:
sphincsf128harakasimple
760358766052774664nccsign3aes
779372782630785945T!!!dilithium2aes
934443934841936337
T:
sphincsf128harakarobust
100772510083481009167T!!!dilithium5
106367310662041068381
T:
mqdss48
113068811313981131853
T:
sphincsf192harakasimple
115150211610841167803nccsign5aes
133007413460681356835
T:
donald2048
138392413843891385312
T:
sphincsf192harakarobust
142723414318281435143T!!!dilithium3aes
1082326?1684704?3184319?haetae3
987245?1705988?2789312?haetae2
1282662?1939974?3270122?haetae5
1569879?2070164?2610710?
T:
qtesla1
238414223881712392764T!!!dilithium5aes
246353724659932469674
T:
mqdss64
292862529294982930581
T:
sphincsf256harakasimple
369997137006453705224
T:
sphincsf256harakarobust
3536929?5196822?6882184?
T:
qtesla3f
5270170?7027877?11983916?
T:
qtesla3s
6341096?7354007?9276597?
T:
qtesla1p
888502788912108898803
T:
sphincsf128shake256simple
124055911241546612421453
T:
sphincs256
129551951298874613032443
T:
rainbowbinary256181212
130739851307569713077175
T:
sphincsf192shake256simple
167826501678340916784331
T:
sphincsf128shake256robust
216911002171322021744934
T:
rainbow1aclassic363232
224415072246155122532015
T:
rainbow1acompres363232
224992322251605724205511
T:
rainbow1acyclicc363232
225066862253963122610720
T:
luov4849242
243859902439951324408167
T:
sphincss128harakasimple
232357682459535328380850
T:
falcon512tree
249431832501396925016891
T:
sphincsf192shake256robust
23125474?26005482?28913686?
T:
falcon512dyn
295578462956299529564513
T:
sphincss128harakarobust
310000463108323031150234
T:
luov863256
346502443465527334662063
T:
sphincsf256shake256simple
356446763564600535716390
T:
sphincss192harakasimple
443386234434397744408404
T:
sphincss192harakarobust
469615734698242546988840
T:
sphincss256harakasimple
41106865?47540915?60408933?
T:
qtesla3p
588896485889270858971308
T:
sphincss256harakarobust
626531146284385463387330
T:
rainbowbinary16242020
648078216483926064859978
T:
sphincsf256shake256robust
697348386985035769981713
T:
luov6468330
685883527284405080779337
T:
falcon1024tree
708628637656027284288202
T:
falcon1024dyn
767697827681420376847351
T:
redgemss128
801078948014356080186188
T:
bluegemss128
813012998133674181395250
T:
gemss128
876324638766506287698883
T:
redgemss128v2
925858459266427892769010
T:
bluegemss128v2
937793839381474993883438
T:
gemss128v2
115338177115532638115674281
T:
luov890351
133097345133330435133512975
T:
rainbow3cclassic683248
134160051134374929137046438
T:
rainbow3ccompres683248
135166027135598560137117130
T:
rainbow3ccyclicc683248
136254547136501192136736920
T:
luov8086399
139995337140088419140187334mqsignlr2567246
186025417186099743186177701mqsignrr2567246
204483279204745253204996747
T:
luov8117404
284853137285104939285138584
T:
sphincss128shake256simple
389358536389753347390223081
T:
rainbow5ccyclicc963664
389490785390503137415756283
T:
rainbow5ccompres963664
381697966401823752404784012
T:
rainbow5cclassic963664
420567506420695900420734861
T:
sphincss192shake256simple
456139354456363363456932218
T:
redgemss192
491733121492032318492235222
T:
redgemss192v2
495952778496295646497264513
T:
bluegemss192
512901640513267172513593778
T:
bluegemss192v2
519461321520028162520345926
T:
gemss192
522415940522867091522977480
T:
gemss192v2
522797800523383640523722124mqsignlr25611272
541630344541665886541989818
T:
sphincss128shake256robust
546746806547438231548159409
T:
sphincss256shake256simple
700030069700614104701021542mqsignrr25611272
795631234795666610795731792
T:
sphincss192shake256robust
104803543410480947511048151487
T:
sphincss256shake256robust
127770381012785549471279496063mqsignlr25614896
132553715813337541451335843363
T:
redgemss256
143526939714369471781443030466
T:
redgemss256v2
144255180714432597431458547990
T:
bluegemss256
149743769814985810321501051342
T:
bluegemss256v2
149903384114994019141499679503
T:
gemss256
150416156815049770301506350263
T:
gemss256v2
157795044115782151751580313065
T:
gravitysphincss
169679785316983711691699897314mqsignrr25614896
511812493252999743385421409707
T:
pqrsa15
252434550422524563798425246813869
T:
gravitysphincsl
504824211595048769556350501222564
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
210712122721669
T:
rainbowbinary256181212
430674346644228
T:
rainbowbinary16242020
731477333173585ed25519
139721140493142225
T:
rainbow1aclassic363232
141644143435146061
T:
rainbow1acyclicc363232
217220217885218135
T:
ed448goldilocks
554271556855559598
T:
rainbow3cclassic683248
564334568261576392
T:
rainbow3ccyclicc683248
309255?586652?966580?
T:
qtesla1
749230752150760933
T:
falcon512tree
831255833185835419mqsignlr2567246
836136?844064?1284183?nccsign1
517161?1029727?1564995?
T:
pass769
414169?1038512?2260787?
T:
qtesla3f
116322211749971183185
T:
falcon512dyn
125176912550021271726
T:
rainbow5cclassic963664
127221412814111290512
T:
rainbow5ccyclicc963664
657562?1325835?1989950?
T:
pass863
132496313333361347684
T:
donald2048
1088279?1460533?2088891?T!!!dilithium2aes
147298814740861476228mqsignrr2567246
149452215001311514193
T:
falcon1024tree
1017846?1555160?2520667?nccsign3
1103703?1608114?2107408?nccsign1aes
1175861?1752343?2646717?T!!!dilithium2
1198189?1768436?2594022?
T:
qtesla1p
1361309?1807380?3143463?T!!!dilithium3
1383897?2015354?3074832?nccsign3aes
855927?2124028?3337576?
T:
qtesla3s
219804322027712208581mqsignlr25611272
1586290?2234969?3298086?T!!!dilithium5
236650823751422383027
T:
falcon1024dyn
1728838?2457847?3379736?nccsign5
2296628?2826434?3540747?T!!!dilithium3aes
2256122?3309926?4380159?nccsign5aes
353665535393213542237mqsignrr25611272
2956152?4332935?5623566?T!!!dilithium5aes
2334434?4458795?10836468?haetae2
455594445606794595152mqsignlr25614896
538385053860815392411aimer128f
4404570?6400995?10312478?haetae5
3589361?6773442?9968803?haetae3
5077074?6784553?10066110?
T:
qtesla3p
690418269095946919122mqsignrr25614896
691632469269686934324picnicl1full
857692985801758584959
T:
luov863256
7256571?8809609?10358144?
T:
redgemss128
7468844?8868676?11124550?
T:
redgemss128v2
972473697356689744032picnicl1fs
118440321187440211902622picnicl1ur
130587301306514313080238
T:
gravitysphincss
132915581331294513336716picnicl3full
134819251350365113512137aimer192f
181199481815607318188041
T:
rainbow1acompres363232
218970412191793521943635picnicl5full
234762322349765123538159
T:
gravitysphincsm
240396872405555324135088picnicl3fs
22777506?26299984?29807384?
T:
redgemss192v2
266984842670362626708717
T:
mqdss48
270862782712667527134912aimer256f
275230272754444627569096
T:
sphincsf128harakasimple
278530382793033027952767
T:
gravitysphincsl
297217162974490729761135
T:
luov890351
299336923003710830048522picnicl3ur
317030663172415631771711picnic3l1
332568773328901633312050
T:
sphincsf192harakasimple
28478174?34452800?45441707?
T:
redgemss192
347528753478276634842081
T:
sphincsf128harakarobust
413547294138191341407607picnicl5fs
425571884260902942643405aimer128s
426747874272694642774204
T:
sphincsf192harakarobust
37015642?45697777?56909672?
T:
redgemss256v2
475425794756484647595370
T:
luov4849242
485892204864668748695247
T:
luov8117404
495885184964065250004914picnicl5ur
52450868?61566247?71265708?
T:
redgemss256
672283836732202667373974picnic3l3
763645147639804576441104
T:
sphincsf256harakasimple
773201677733179077344542
T:
mqdss64
988581939891231798937098
T:
sphincsf256harakarobust
105121112105157105105260950aimer192s
109738898109994077113255893
T:
rainbow3ccompres683248
112767674112931808113149080picnic3l5
146726688147031205147069339
T:
luov6468330
168666604168722837168785633
T:
pqrsa15
208267222208448921208684133aimer256s
231204989231366468231451053
T:
sphincs256
271742931271992598299782345
T:
rainbow5ccompres963664
280861892281045436281192632
T:
sphincsf128shake256simple
281849731281933747282559899
T:
picnic2l1fs
297919592297971977298067266
T:
luov8086399
264520670?317183164?370069160?
T:
bluegemss128v2
287265600?345336933?402648294?
T:
bluegemss128
357206250357326667357563934
T:
sphincsf192shake256simple
465836127466349358466882283
T:
sphincss128harakasimple
505546114505779362506287698
T:
sphincsf128shake256robust
579743808579942639580296490
T:
sphincss128harakarobust
665859041666552168667724791
T:
sphincsf192shake256robust
667323101667655577667938452
T:
sphincss256harakasimple
794495674794623498794795354
T:
sphincsf256shake256simple
836916264837806662838377852
T:
picnic2l3fs
866968738867192164867398192
T:
sphincss256harakarobust
812090263?973972705?1298544917?
T:
bluegemss192v2
102273111710232181611023558039
T:
sphincss192harakasimple
139028718213904853661390743320
T:
sphincss192harakarobust
1182898165?1420187941?1892475598?
T:
bluegemss192
143603874214375608151438438179
T:
sphincsf256shake256robust
176390816117644443861770139842
T:
picnic2l5fs
1300324743?1818649608?1821505109?
T:
bluegemss256v2
1669455723?2002472452?2338916243?
T:
gemss128v2
1809512523?2172020724?2534173199?
T:
gemss128
2105488827?2526676005?2949982021?
T:
bluegemss256
425773161442596904184260267508
T:
sphincss128shake256simple
5453779860?5462026277?7634657272?
T:
gemss192v2
654092853365417064106574375391
T:
sphincss256shake256simple
753953870175416816657542747611
T:
sphincss128shake256robust
895670520689577850588960059590
T:
sphincss192shake256simple
7990329345?9589061593?11188281830?
T:
gemss192
9186311708?11014922867?12850495239?
T:
gemss256v2
119487517001194950358311952805326
T:
sphincss256shake256robust
154125609521541696082715417661605
T:
sphincss192shake256robust
14935660725?17917190359?20921312639?
T:
gemss256
Cycles to verify 59 bytes
25%50%75%system
190961916419310
T:
rainbowbinary256181212
348233524236050
T:
rainbowbinary16242020
424014320544374
T:
rainbow1aclassic363232
107844109375110196
T:
falcon512tree
114514117353120920
T:
gravitysphincss
128835129668130524
T:
falcon512dyn
132053132645133325
T:
qtesla1
212691213506214470ed25519
220958222052223873
T:
falcon1024tree
245805248269252888
T:
rainbow3cclassic683248
258348258779259357haetae2
259287260211261073
T:
falcon1024dyn
278306278729279407
T:
qtesla3s
275512284160296024
T:
redgemss128v2
283696284356285585
T:
qtesla3f
270534285288295975
T:
redgemss128
281138292925302799
T:
gemss128
272369294562314463
T:
bluegemss128
302434317947325344
T:
bluegemss128v2
311197323394331313
T:
gemss128v2
392722393061393316T!!!dilithium2
461355461726462615haetae3
492333497400508042
T:
gravitysphincsm
521347523573526244nccsign1
571335571982572398haetae5
583095596179618318
T:
sphincss128harakasimple
606411609030616241
T:
rainbow5cclassic963664
640784640954641465T!!!dilithium3
639735642945644430nccsign3
654881656774659355
T:
pass769
674572685570692567
T:
gravitysphincsl
695818697892698944
T:
ed448goldilocks
699455702198704135
T:
qtesla1p
697981710553731028
T:
gemss192
709404714271719312nccsign1aes
708280720922732596
T:
bluegemss192
726001739235757870
T:
redgemss192
728013749886761573
T:
bluegemss192v2
757768760990763605T!!!dilithium2aes
752071761636780550
T:
gemss192v2
760306774544785364
T:
redgemss192v2
813094815129818322
T:
pass863
885123898272908408
T:
sphincss192harakasimple
891695910603921471
T:
sphincss128harakarobust
906702911743915767nccsign3aes
106927110720331075087nccsign5
107633810764671076870T!!!dilithium5
118250411977711220159
T:
sphincss256harakasimple
132231413261781329208T!!!dilithium3aes
137290513967631408048
T:
sphincsf128harakasimple
144280614504151457689nccsign5aes
147043714716151473039mqsignlr2567246
148406014870061503521mqsignrr2567246
146553114957981537154
T:
gemss256
146626714968621519784
T:
sphincss192harakarobust
147133615113261527750
T:
gemss256v2
153227915487741582363
T:
redgemss256
155339315663571576289
T:
donald2048
152127615713081604633
T:
bluegemss256
153874515735501624122
T:
redgemss256v2
155458215838171620514
T:
bluegemss256v2
181557418450141869598
T:
sphincss256harakarobust
206774421042922128662
T:
sphincsf128harakarobust
217466921980752217710
T:
sphincsf192harakasimple
225778922783472302189
T:
sphincsf256harakasimple
232190223246442327747T!!!dilithium5aes
290713229500922986857
T:
sphincs256
335169733602293372200
T:
qtesla3p
346215534887983549417
T:
sphincsf256harakarobust
360053736562603685046
T:
sphincsf192harakarobust
376389037702543781624mqsignlr25611272
375878437727013782559mqsignrr25611272
461648547427404858763
T:
sphincss128shake256simple
503174150347545040928aimer128f
551725755322945547556picnicl1full
673156067501806793140mqsignrr25614896
675202067605446776067mqsignlr25614896
686180169507017074693
T:
sphincss192shake256simple
715590471588287160566
T:
luov863256
830791583140538333054picnicl1fs
889668290409069141251
T:
sphincss256shake256simple
901266891839859588303
T:
sphincss128shake256robust
100463341006873710105062picnicl1ur
108891841091026910920199picnicl3full
112474161141822911623920
T:
sphincsf128shake256simple
126278681265719112660684aimer192f
133653181354164613876801
T:
sphincss192shake256robust
142285111425278614593107
T:
rainbow1acompres363232
142491571427379315825469
T:
rainbow1acyclicc363232
174914341768179217832534
T:
sphincss256shake256robust
178589391813158218242232
T:
sphincsf192shake256simple
181438991816085518181403picnicl5full
183218741854183918684634
T:
sphincsf256shake256simple
188096981900484019340726
T:
mqdss48
211010222111220021133615picnicl3fs
217471922220457422437681
T:
sphincsf128shake256robust
227058552272343722736123
T:
pqrsa15
252548012528960325340273aimer256f
255427342556579625592728
T:
luov890351
259131712593869725950740picnic3l1
259190692594814525969045picnicl3ur
327385743274988232777234
T:
luov4849242
350555283545913835915281
T:
sphincsf256shake256robust
354217873582959136336077
T:
sphincsf192shake256robust
362322323625044736263750picnicl5fs
418519564186736441959248
T:
luov8117404
422306464223902142258721aimer128s
441057694413877744428506picnicl5ur
546841855470857654760174picnic3l3
556657095643634456840122
T:
mqdss64
858580868592422188927648
T:
rainbow3ccompres683248
858534458602917586064390
T:
rainbow3ccyclicc683248
866744798676451486843269picnic3l5
872201808738084487526945
T:
luov6468330
104437185104451583104471071aimer192s
123186511123353215123715078
T:
picnic2l1fs
159666577159755185159824223
T:
luov8086399
193739831193949918220925749
T:
rainbow5ccompres963664
194360539194540470195811415
T:
rainbow5ccyclicc963664
206362177206415301206826436aimer256s
278687641280139389280351030
T:
picnic2l3fs
494230525494383452494594604
T:
picnic2l5fs