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; Bulldozer (600f20); 2012 AMD FX-8350; 4 x 4000MHz; saber214, supercop-20240625

[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
640364446498picnicl1full
642064876569picnic3l1
895390099067picnic3l3
901790459089picnicl3full
116331178611898picnicl5full
118451190011985picnic3l5
154181554515773
T:
picnic2l1fs
175261756117605picnicl1ur
175541758817617picnicl1fs
288642892529050
T:
picnic2l3fs
331713325133308picnicl3ur
335833367333751picnicl3fs
366833674636852
T:
picnic2l5fs
446664482345414picnicl5fs
449354507145210picnicl5ur
950309522395491ed25519
357111357737358022
T:
ed448goldilocks
432411434409436862
T:
pass769
470951471795478751dilithium2
504270506128509574
T:
pass863
872901874610878005dilithium3
110200611056081119149dilithium2aes
112189711220541122594
T:
sphincsf128harakasimple
128306012864901287449
T:
mqdss48
134516313460511349626dilithium5
141741214181301419253
T:
sphincsf128harakarobust
165012216509111652122
T:
sphincsf192harakasimple
193185219505351978974
T:
donald2048
210361721040232105687
T:
sphincsf192harakarobust
978943?2141977?4692845?haetae2
204490121465482166924dilithium3aes
1434158?2472454?3135507?
T:
qtesla1
302857130307063044231
T:
mqdss64
340236936278683643391dilithium5aes
2440248?3664895?6678422?haetae5
2427817?4646170?7612433?haetae3
490399649049724945340
T:
sphincsf256harakasimple
612149961442906185669
T:
sphincsf256harakarobust
4226928?6194816?8186988?
T:
qtesla3f
6375668?8476993?12921172?
T:
qtesla3s
7951549?9709067?10872648?
T:
qtesla1p
106779661074067310889813
T:
sphincsf128shake256simple
156529491569268115723892
T:
sphincsf192shake256simple
161874791620681716244669
T:
sphincs256
201243182016525220243969
T:
sphincsf128shake256robust
233939082348149123656243
T:
luov4849242
296251822967828129748307
T:
sphincsf192shake256robust
336509693374496733870664
T:
luov863256
348860733512242435473580
T:
rainbow1acyclicc363232
354003213552939435770057
T:
rainbow1aclassic363232
355582003571562435924229
T:
rainbow1acompres363232
360274153604586236097137
T:
sphincss128harakasimple
36100973?38589626?49019054?
T:
falcon512dyn
36458920?40534351?49833429?
T:
falcon512tree
414548704147365841548340
T:
sphincsf256shake256simple
452391174525563945275462
T:
sphincss128harakarobust
525985675262259852648157
T:
sphincss192harakasimple
44867169?56396116?68010875?
T:
qtesla3p
669293906695000766983981
T:
sphincss192harakarobust
770602667716603777344180
T:
luov6468330
780893637813815178187415
T:
sphincsf256shake256robust
785221837855679878661905
T:
sphincss256harakasimple
978156959785478097889720
T:
sphincss256harakarobust
109048960109090883109175553
T:
gemss128
109416507109481182109565966
T:
redgemss128
110564530110618769110734940
T:
bluegemss128
113535720113591480113684691
T:
gemss128v2
107546412114102869127289237
T:
falcon1024tree
114130611114481505114615093
T:
bluegemss128v2
109596030119593702133494967
T:
falcon1024dyn
123405838123483784123545392
T:
redgemss128v2
127823843128062157128337880
T:
luov890351
143698629143908425144041246
T:
luov8086399
184062329185458135191371348mqsignlr2567246
203844437204927465207056259
T:
rainbow3cclassic683248
214199524214626838215439509
T:
rainbow3ccompres683248
213706269215804307217784774
T:
rainbow3ccyclicc683248
221284950221632461221836720
T:
luov8117404
252742285253034084253586595mqsignrr2567246
342341405342439303342520218
T:
sphincss128shake256simple
499034637499351953510348649
T:
sphincss192shake256simple
565107195565875501572020107
T:
redgemss192v2
566464812567250065576144046
T:
redgemss192
572292720576253336577863740
T:
gemss192v2
575606009578069077583007889
T:
bluegemss192v2
592178936593236356597529628
T:
bluegemss192
589648861594849129601780773
T:
rainbow5cclassic963664
597837633599976659603158140
T:
rainbow5ccyclicc963664
596620039600903830604655960
T:
gemss192
616497893619205995629255108
T:
rainbow5ccompres963664
642155333642852953643815536
T:
sphincss128shake256robust
664718437665288757674205245
T:
sphincss256shake256simple
674613200675169907676352852mqsignlr25611272
942590810943203632944854717mqsignrr25611272
945308807946246109947845572
T:
sphincss192shake256robust
124265009912455649461245843031
T:
sphincss256shake256robust
158123388515854013501587374025mqsignlr25614896
182003898018444313191846790363
T:
redgemss256
189960178019012451821922379739
T:
bluegemss256
190230315919041019061905714023
T:
bluegemss256v2
193980406119443013381947393092
T:
gemss256
198298341919831091901983305840
T:
gravitysphincss
199671126720005766692015226568
T:
redgemss256v2
201141891520196558572022562131
T:
gemss256v2
219239969521940654942194782461mqsignrr25614896
732172617475358187857707971841
T:
pqrsa15
304896036333049207269330498861117
T:
gravitysphincsl
610189292296104083828661053624446
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
104460105044105165ed25519
225792227680240550
T:
rainbow1acyclicc363232
228753229644230392
T:
rainbow1aclassic363232
367388369446369704
T:
ed448goldilocks
589816?615418?1179146?
T:
pass863
862927868844888297
T:
rainbow3cclassic683248
495733?870321?1492963?
T:
qtesla3f
870898882271887512
T:
rainbow3ccyclicc683248
446570?908133?1415024?
T:
qtesla1
992062994076996585mqsignlr2567246
505905?1004644?1490547?
T:
pass769
106741110800731093876
T:
falcon512tree
951231?1619899?2816058?
T:
qtesla1p
169169217134031727309
T:
falcon512dyn
180343418142331825758
T:
rainbow5cclassic963664
184878618568521869829mqsignrr2567246
1418737?1927319?2750083?dilithium2
192934819453381969460
T:
donald2048
204568620819112097393
T:
rainbow5ccyclicc963664
217342621906132201763
T:
falcon1024tree
1656935?2239207?3249217?dilithium2aes
1571334?2374173?4713921?dilithium3
1491957?2473791?3822066?
T:
qtesla3s
252270825300872568533mqsignlr25611272
2416541?3463757?6396459?dilithium5
348802535060463523764
T:
falcon1024dyn
2598087?3797003?8515396?haetae2
427102942900394328747mqsignrr25611272
3496638?4343702?6546474?dilithium3aes
507652450983435135472mqsignlr25614896
4041066?6013516?11577219?haetae3
4253969?6525347?9598174?
T:
qtesla3p
663721266516336661265picnicl1full
4612888?6887158?9236009?dilithium5aes
2958234?7096321?15656779?haetae5
794022879680287995631mqsignrr25614896
7815148?9360788?10992590?
T:
redgemss128
106654121074432210807833
T:
luov863256
9197196?10783263?13161997?
T:
redgemss128v2
115747731160267811610580picnicl1fs
127222541274505112889496picnicl3full
137459171375900313768905picnicl1ur
153694361554064115648899
T:
gravitysphincss
211294952115794921187673picnicl5full
21174233?25475453?31019500?
T:
redgemss192v2
23979075?28719648?33581776?
T:
redgemss192
292543582943931229900873
T:
gravitysphincsm
285161712946399329575848
T:
rainbow1acompres363232
294626192964742829700117picnicl3fs
307902363082332130910653picnic3l1
342480773430395134336914
T:
gravitysphincsl
351306033515256635182692picnicl3ur
355457713566368635779966
T:
luov890351
379061793796266639853091
T:
mqdss48
395894583962729539662075
T:
sphincsf128harakasimple
37923472?44210740?56902279?
T:
redgemss256v2
480368894809980048126890
T:
sphincsf192harakasimple
39180143?50228847?61933472?
T:
redgemss256
510427985108242251131734
T:
sphincsf128harakarobust
517697355179584651828965picnicl5fs
531230105508335155883838
T:
luov8117404
588597645889705358939554
T:
luov4849242
598231055992586460332217picnicl5ur
632540156333432163376580
T:
sphincsf192harakarobust
646729576474624965027391picnic3l3
111371173111602224111760403picnic3l5
120702461120764152120812748
T:
sphincsf256harakasimple
134503286135526587135639801
T:
mqdss64
156222603156305535156441098
T:
sphincsf256harakarobust
174651394175160567176588993
T:
rainbow3ccompres683248
178220767178389182179017900
T:
luov6468330
255420766255676527256054778
T:
pqrsa15
293864209294248333295754736
T:
picnic2l1fs
302057523302187741302283166
T:
sphincs256
337890538338448400338887509
T:
sphincsf128shake256simple
290017851?347963162?418421938?
T:
bluegemss128v2
361498675362761093362979282
T:
luov8086399
288668842?402199717?497766154?
T:
bluegemss128
431790525435163244439078536
T:
rainbow5ccompres963664
433431809436080801437212688
T:
sphincsf192shake256simple
607340867608380682608728304
T:
sphincsf128shake256robust
659190940661030023661403848
T:
sphincss128harakasimple
794913692795534593796096230
T:
sphincsf192shake256robust
850162379850352315850600757
T:
sphincss128harakarobust
749846942?898493582?1051488882?
T:
bluegemss192v2
908829041909273280909956960
T:
picnic2l3fs
952279735952725798953566213
T:
sphincsf256shake256simple
103984902210424781181043665731
T:
sphincss256harakasimple
1053263169?1312778265?1576524644?
T:
bluegemss192
135723367613574181351357480280
T:
sphincss256harakarobust
142345962214245070771425104736
T:
sphincss192harakasimple
1286146931?1542678948?2054404767?
T:
bluegemss256v2
172780628017290070451729799735
T:
sphincsf256shake256robust
190092980419015902911902483451
T:
picnic2l5fs
199577866919982890231999450158
T:
sphincss192harakarobust
1855191914?2242352945?2616861630?
T:
gemss128v2
1738757281?2433661002?2785317212?
T:
bluegemss256
2196641331?2769762155?3233359793?
T:
gemss128
510019736551036972795106344284
T:
sphincss128shake256simple
4950594112?5936351220?7910967719?
T:
gemss192v2
796693414180009729108002776781
T:
sphincss256shake256simple
6711785186?8059504893?9403885944?
T:
gemss192
896196266589698187928976928088
T:
sphincss128shake256robust
8304742240?9963449531?11603346760?
T:
gemss256v2
106580957481068220711210744074953
T:
sphincss192shake256simple
142450079711425865375814267833621
T:
sphincss256shake256robust
12470744644?14966343544?19943496754?
T:
gemss256
183843810631840320160418412804841
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
800878100882330
T:
rainbow1aclassic363232
141412143042144835
T:
falcon512tree
143762148753154086
T:
gravitysphincss
159968160847162004
T:
qtesla1
170221171839172870
T:
falcon512dyn
286865288520290170
T:
falcon1024tree
340533341178342112
T:
falcon1024dyn
340626342502344159ed25519
344780346539348918
T:
qtesla3f
349706351176353882
T:
qtesla3s
363221363758365695haetae2
366274389999403942
T:
redgemss128v2
463802482472511584
T:
redgemss128
469740484334493452
T:
gemss128v2
480169487324492996
T:
gemss128
476993491157507358
T:
bluegemss128v2
486299497474505586
T:
bluegemss128
557421558359600470dilithium2
620545626749635379
T:
gravitysphincsm
633722641153651480
T:
rainbow3cclassic683248
646626647483656478haetae3
698713704071710424
T:
pass769
793639798386818440
T:
pass863
801847814406816278haetae5
827925843900852111
T:
gravitysphincsl
844482848590854084
T:
qtesla1p
856034875401895080
T:
sphincss128harakasimple
925998933472940488dilithium3
109010110954631103403dilithium2aes
119187112186491243119
T:
gemss192
122402612261951231396
T:
ed448goldilocks
123069012534891269762
T:
bluegemss192
124643212670281287282
T:
sphincss128harakarobust
125915412978501320673
T:
redgemss192
129110713143291334476
T:
sphincss192harakasimple
135698813770131408704
T:
gemss192v2
137757213985101525083
T:
rainbow5cclassic963664
139755414203651445508
T:
redgemss192v2
140768614367391455789
T:
bluegemss192v2
148040314808681481602dilithium5
164839816499811663504mqsignrr2567246
165752716593541672343mqsignlr2567246
177547518082771832730
T:
sphincss256harakasimple
194148620160722054295dilithium3aes
202745020616222092406
T:
sphincsf128harakasimple
206381520943702125873
T:
sphincss192harakarobust
227007822887632309609
T:
donald2048
260145126313202659988
T:
sphincss256harakarobust
260094526721712755370
T:
gemss256v2
278633728784062940785
T:
gemss256
289058129299952976182
T:
redgemss256
287880429337952999642
T:
bluegemss256
292088429584712991888
T:
sphincsf128harakarobust
294415030110563070842
T:
redgemss256v2
293200930292833102936
T:
bluegemss256v2
325713532887943321919
T:
sphincsf192harakasimple
348070235255023561683
T:
sphincsf256harakasimple
331569535712573586669dilithium5aes
374878137624353786854mqsignrr25611272
379359338137603835368mqsignlr25611272
386270538943923943868
T:
sphincs256
398706540025764018467
T:
qtesla3p
487951049075314981498
T:
sphincsf192harakarobust
493999349695075028396
T:
sphincsf256harakarobust
536002553729035381196picnicl1full
551641456839835869487
T:
sphincss128shake256simple
669066567127756744609mqsignrr25614896
680036068364506864585mqsignlr25614896
815821183070648410695
T:
sphincss192shake256simple
838699883946298415515
T:
luov863256
101611681017574210193781picnicl1fs
105500481059422210639871picnicl3full
107098741089543211090459
T:
sphincss128shake256robust
108960521109271511290124
T:
sphincss256shake256simple
119953211202676612048155picnicl1ur
135871241371101914080065
T:
sphincsf128shake256simple
159726451618850216511822
T:
sphincss192shake256robust
173784061741065217443014picnicl5full
208676352117179021477261
T:
sphincss256shake256robust
217864232207719122283868
T:
sphincsf256shake256simple
218596692218973622358701
T:
sphincsf192shake256simple
232187722361183223933492
T:
rainbow1acompres363232
237779452388832223956025picnic3l1
237751062433257724497879
T:
rainbow1acyclicc363232
265514452657240026587578picnicl3fs
265943452683240527204478
T:
sphincsf128shake256robust
265203032686128527108718
T:
mqdss48
277588432808643128395510
T:
luov890351
311310643117252431206792picnicl3ur
369340403751011937589463
T:
pqrsa15
383182043834860638387622
T:
luov4849242
420374814239465743150680
T:
sphincsf192shake256robust
421239124263978743433842
T:
sphincsf256shake256robust
455496824595225748218912
T:
luov8117404
470234964708603647375713picnicl5fs
505351115060389250954611picnic3l3
540094705407801454127136picnicl5ur
813095138139767981535084picnic3l5
954356929637258997432083
T:
mqdss64
109455431109566788109688483
T:
luov6468330
120901103121118258121337057
T:
picnic2l1fs
139837824143235882148741951
T:
rainbow3ccompres683248
142501652145423683145777359
T:
rainbow3ccyclicc683248
204435436206792868206858550
T:
luov8086399
280583988280742562281011032
T:
picnic2l3fs
320200937321102598325762328
T:
rainbow5ccyclicc963664
325895913331541361338726711
T:
rainbow5ccompres963664
489385812489598985489884925
T:
picnic2l5fs