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-20240716

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

Cycles to generate a key pair
25%50%75%system
532553545451picnicl1full
601264746974picnic3l1
804487649020picnicl3full
799288209402picnic3l3
110671122112237picnic3l5
117901188012091
T:
picnic2l1fs
112091192412796picnicl5full
119621202212123picnicl1fs
123701329513833picnicl1ur
229572323023769
T:
picnic2l3fs
233562358225210picnicl3ur
231892374725247picnicl3fs
300803025230928
T:
picnic2l5fs
310603151332256picnicl5fs
313913207133918picnicl5ur
655086576366531ed25519
106250106314106587aimer128s
106291106467106674aimer128f
208020208518208728
T:
ed448goldilocks
258757?259135?449546?aimer192f
260711261377262784aimer192s
349248349675350572T!!!dilithium2
430521431389433231
T:
pass769
542671545623547625
T:
pass863
647659648328649196T!!!dilithium3
653285654536656869aimer256f
655244655801657424aimer256s
764325764429764714
T:
sphincsf128harakasimple
778161782249785020T!!!dilithium2aes
934443934841936337
T:
sphincsf128harakarobust
100704010077571008551T!!!dilithium5
106367310662041068381
T:
mqdss48
113068811313981131853
T:
sphincsf192harakasimple
642478?1199528?2592224?haetae2
133007413460681356835
T:
donald2048
138392413843891385312
T:
sphincsf192harakarobust
142695114303831434855T!!!dilithium3aes
1090609?1995906?5163101?haetae3
1569879?2070164?2610710?
T:
qtesla1
238120323881752392824T!!!dilithium5aes
246353724659932469674
T:
mqdss64
292862529294982930581
T:
sphincsf256harakasimple
1216040?3238205?5253928?haetae5
369997137006453705224
T:
sphincsf256harakarobust
3536929?5196822?6882184?
T:
qtesla3f
5270170?7027877?11983916?
T:
qtesla3s
6341096?7354007?9276597?
T:
qtesla1p
888502788912108898803
T:
sphincsf128shake256simple
124100771241832112420710
T:
sphincs256
129551951298874613032443
T:
rainbowbinary256181212
130739851307569713077175
T:
sphincsf192shake256simple
167826501678340916784331
T:
sphincsf128shake256robust
225066862253963122610720
T:
luov4849242
226573752267978422691408
T:
rainbow1aclassic363232
227714662278044622843588
T:
rainbow1acyclicc363232
230641622309959923108032
T:
rainbow1acompres363232
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
136254547136501192136736920
T:
luov8086399
136336001138207482143857624
T:
rainbow3cclassic683248
139545244139719623140350780mqsignlr2567246
140132639140343409145515206
T:
rainbow3ccyclicc683248
140365220140720954141687113
T:
rainbow3ccompres683248
191296946191407902191615469mqsignrr2567246
204483279204745253204996747
T:
luov8117404
284853137285104939285138584
T:
sphincss128shake256simple
382196171382946012410970607
T:
rainbow5cclassic963664
398653492399983298400304262
T:
rainbow5ccompres963664
400235470400728269400936587
T:
rainbow5ccyclicc963664
420567506420695900420734861
T:
sphincss192shake256simple
456139354456363363456932218
T:
redgemss192
491733121492032318492235222
T:
redgemss192v2
495952778496295646497264513
T:
bluegemss192
512901640513267172513593778
T:
bluegemss192v2
519461321520028162520345926
T:
gemss192
522415940522867091522977480
T:
gemss192v2
537094943537637959537936072mqsignlr25611272
541630344541665886541989818
T:
sphincss128shake256robust
546746806547438231548159409
T:
sphincss256shake256simple
726631454727032273727696730mqsignrr25611272
795631234795666610795731792
T:
sphincss192shake256robust
104803543410480947511048151487
T:
sphincss256shake256robust
130366898213039561911304218340mqsignlr25614896
132553715813337541451335843363
T:
redgemss256
143526939714369471781443030466
T:
redgemss256v2
144255180714432597431458547990
T:
bluegemss256
149743769814985810321501051342
T:
bluegemss256v2
149903384114994019141499679503
T:
gemss256
150416156815049770301506350263
T:
gemss256v2
157795044115782151751580313065
T:
gravitysphincss
172225321517231646471725917874mqsignrr25614896
511812493252999743385421409707
T:
pqrsa15
252434550422524563798425246813869
T:
gravitysphincsl
504824211595048769556350501222564
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
210712122721669
T:
rainbowbinary256181212
430674346644228
T:
rainbowbinary16242020
730737318773430ed25519
140778141675150558
T:
rainbow1aclassic363232
151597152122154389
T:
rainbow1acyclicc363232
217220217885218135
T:
ed448goldilocks
549792553763559594
T:
rainbow3ccyclicc683248
557416563526570205
T:
rainbow3cclassic683248
309255?586652?966580?
T:
qtesla1
749230752150760933
T:
falcon512tree
831199832565834047mqsignlr2567246
660471?977775?1552276?T!!!dilithium2
517161?1029727?1564995?
T:
pass769
414169?1038512?2260787?
T:
qtesla3f
116322211749971183185
T:
falcon512dyn
125232912569711266075
T:
rainbow5cclassic963664
126512312738011282246
T:
rainbow5ccyclicc963664
657562?1325835?1989950?
T:
pass863
132496313333361347684
T:
donald2048
149452215001311514193
T:
falcon1024tree
150267215050081506736mqsignrr2567246
1198189?1768436?2594022?
T:
qtesla1p
1458926?2095672?2727604?T!!!dilithium2aes
855927?2124028?3337576?
T:
qtesla3s
1450350?2161277?2786448?T!!!dilithium3
222118622274422238152mqsignlr25611272
236650823751422383027
T:
falcon1024dyn
2301681?3101222?3822350?T!!!dilithium3aes
2238961?3297528?4594616?T!!!dilithium5
363765636431063648048mqsignrr25611272
2963008?4348836?5750427?T!!!dilithium5aes
2743472?4407864?9435158?haetae2
463737246449984657002mqsignlr25614896
510566851074495129671aimer128f
2930016?5473222?8040011?haetae3
633635663475466354316picnicl1full
3624492?6767277?11497874?haetae5
5077074?6784553?10066110?
T:
qtesla3p
713546171448997155108mqsignrr25614896
857692985801758584959
T:
luov863256
7256571?8809609?10358144?
T:
redgemss128
7468844?8868676?11124550?
T:
redgemss128v2
944378294820729492450picnicl1fs
116152351162063611627048picnicl1ur
125290011254576112561748picnicl3full
130298231303429313038084aimer192f
130587301306514313080238
T:
gravitysphincss
186101981863381818661521
T:
rainbow1acompres363232
204434322045000220463732picnicl5full
233646442337189323384446picnicl3fs
234762322349765123538159
T:
gravitysphincsm
22777506?26299984?29807384?
T:
redgemss192v2
263827392639373126396927aimer256f
266984842670362626708717
T:
mqdss48
275230272754444627569096
T:
sphincsf128harakasimple
278530382793033027952767
T:
gravitysphincsl
291209092912958229161508picnicl3ur
297217162974490729761135
T:
luov890351
311732283120810731231712picnic3l1
332568773328901633312050
T:
sphincsf192harakasimple
28478174?34452800?45441707?
T:
redgemss192
347528753478276634842081
T:
sphincsf128harakarobust
399419553997173739980309picnicl5fs
405046724056671540590072aimer128s
426747874272694642774204
T:
sphincsf192harakarobust
37015642?45697777?56909672?
T:
redgemss256v2
475425794756484647595370
T:
luov4849242
481265984813739548148297picnicl5ur
485892204864668748695247
T:
luov8117404
52450868?61566247?71265708?
T:
redgemss256
662298016634447266460163picnic3l3
763645147639804576441104
T:
sphincsf256harakasimple
773201677733179077344542
T:
mqdss64
988581939891231798937098
T:
sphincsf256harakarobust
101010214101305611101344834aimer192s
109493321109560112109629062picnic3l5
114451415114573444114854870
T:
rainbow3ccompres683248
146726688147031205147069339
T:
luov6468330
168666604168722837168785633
T:
pqrsa15
202479548202531128202787195aimer256s
231158257231502167231561676
T:
sphincs256
280861892281045436281192632
T:
sphincsf128shake256simple
281849731281933747282559899
T:
picnic2l1fs
283556052283720336285137294
T:
rainbow5ccompres963664
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
437704435544991
T:
rainbow1aclassic363232
107844109375110196
T:
falcon512tree
114514117353120920
T:
gravitysphincss
128835129668130524
T:
falcon512dyn
132053132645133325
T:
qtesla1
213557214337215214ed25519
220958222052223873
T:
falcon1024tree
245554250437253879
T:
rainbow3cclassic683248
257953258322258932haetae2
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
392766392964393265T!!!dilithium2
464290464744465362haetae3
492333497400508042
T:
gravitysphincsm
571755572176572680haetae5
583095596179618318
T:
sphincss128harakasimple
604920608300611982
T:
rainbow5cclassic963664
640535640788641236T!!!dilithium3
654881656774659355
T:
pass769
674572685570692567
T:
gravitysphincsl
695818697892698944
T:
ed448goldilocks
699455702198704135
T:
qtesla1p
697981710553731028
T:
gemss192
708280720922732596
T:
bluegemss192
726001739235757870
T:
redgemss192
728013749886761573
T:
bluegemss192v2
755945758788761633T!!!dilithium2aes
752071761636780550
T:
gemss192v2
760306774544785364
T:
redgemss192v2
813094815129818322
T:
pass863
885123898272908408
T:
sphincss192harakasimple
891695910603921471
T:
sphincss128harakarobust
107661010776461078334T!!!dilithium5
118250411977711220159
T:
sphincss256harakasimple
132045313241861327734T!!!dilithium3aes
137290513967631408048
T:
sphincsf128harakasimple
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
232049423274782332294T!!!dilithium5aes
287291128740762874756mqsignrr2567246
291320529139022915134mqsignlr2567246
293056029553412986624
T:
sphincs256
335169733602293372200
T:
qtesla3p
346215534887983549417
T:
sphincsf256harakarobust
361931436289623638195mqsignrr25611272
360053736562603685046
T:
sphincsf192harakarobust
365157236595083673398mqsignlr25611272
461648547427404858763
T:
sphincss128shake256simple
476941247767784779135aimer128f
503267750480165071519picnicl1full
643180164474786508152mqsignlr25614896
674343467596926769591mqsignrr25614896
686180169507017074693
T:
sphincss192shake256simple
715590471588287160566
T:
luov863256
804130780532838075211picnicl1fs
889668290409069141251
T:
sphincss256shake256simple
901266891839859588303
T:
sphincss128shake256robust
981161198281399849027picnicl1ur
101122801013120110154503picnicl3full
112474161141822911623920
T:
sphincsf128shake256simple
121737671218379612240420aimer192f
133653181354164613876801
T:
sphincss192shake256robust
147366651476123714798010
T:
rainbow1acompres363232
147782731479472414808619
T:
rainbow1acyclicc363232
165918641662925216652128picnicl5full
174914341768179217832534
T:
sphincss256shake256robust
178589391813158218242232
T:
sphincsf192shake256simple
183218741854183918684634
T:
sphincsf256shake256simple
188096981900484019340726
T:
mqdss48
202600272029336820311783picnicl3fs
217471922220457422437681
T:
sphincsf128shake256robust
227058552272343722736123
T:
pqrsa15
245662682457259924678501aimer256f
251044402513145725163839picnicl3ur
255427342556579625592728
T:
luov890351
259217232594780625970571picnic3l1
327385743274988232777234
T:
luov4849242
347265093475365234785689picnicl5fs
350555283545913835915281
T:
sphincsf256shake256robust
354217873582959136336077
T:
sphincsf192shake256robust
402491654025860640266785aimer128s
418519564186736441959248
T:
luov8117404
424351164252060542787434picnicl5ur
538405465387759553915705picnic3l3
556657095643634456840122
T:
mqdss64
851260908518145485261712picnic3l5
872201808738084487526945
T:
luov6468330
904746459062162091062410
T:
rainbow3ccompres683248
905131349084666793332309
T:
rainbow3ccyclicc683248
100715034100838100100943224aimer192s
123186511123353215123715078
T:
picnic2l1fs
159666577159755185159824223
T:
luov8086399
201641266201659348201697103aimer256s
202481536202676927203056454
T:
rainbow5ccyclicc963664
202685473202708303202751682
T:
rainbow5ccompres963664
278687641280139389280351030
T:
picnic2l3fs
494230525494383452494594604
T:
picnic2l5fs