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; Sandy Bridge (206a7); 2011 Intel Core i3-2310M; 2 x 2100MHz; h6sandy, 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: 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
568658235972picnic3l1
586859205990picnicl1full
823082558499picnic3l3
822382568342picnicl3full
106951078710938picnicl5full
111261119611469picnic3l5
129091298113106picnicl1ur
129991303013185picnicl1fs
133001338913543
T:
picnic2l1fs
251962538025608
T:
picnic2l3fs
249122539525873picnicl3fs
255212562425754picnicl3ur
331903331033895picnicl5fs
335803376433922
T:
picnic2l5fs
336033396334405picnicl5ur
704027114575133ed25519
215161215413215836
T:
ed448goldilocks
374390374768375322T!!!dilithium2
432386434314436366
T:
pass769
509603510845512830
T:
pass863
689878691215693346T!!!dilithium3
831350833747836562T!!!dilithium2aes
105446410552761056912T!!!dilithium5
113037911318271133476
T:
mqdss48
136080913778481391610
T:
donald2048
151412315173591521501T!!!dilithium3aes
694385?1594570?3096688?haetae2
1777069?2333667?2899620?
T:
qtesla1
253352925376552542656T!!!dilithium5aes
261673426187072623166
T:
mqdss64
1659970?2634097?4576535?haetae3
1338687?3606739?6774043?haetae5
3890454?3938491?5748357?
T:
qtesla3f
8001126?9081317?11198180?
T:
qtesla1p
5835064?9513641?13258926?
T:
qtesla3s
958720695890139597188
T:
sphincsf128shake256simple
114951061150251911522830
T:
sphincsf128harakasimple
124697001249748112965019
T:
sphincs256
138946631391871213970997
T:
rainbowbinary256181212
141819511418468414418994
T:
sphincsf192shake256simple
169741181697603316978423
T:
sphincsf192harakasimple
181348391813632518142556
T:
sphincsf128shake256robust
200907342009357520121413
T:
sphincsf128harakarobust
229630092301116023057792
T:
luov4849242
240280532516386029798720
T:
falcon512tree
252436072539616225427269
T:
rainbow1aclassic363232
259381892604748026114608
T:
rainbow1acompres363232
263348312658181226778839
T:
rainbow1acyclicc363232
268729502689898126907825
T:
sphincsf192shake256robust
255351552823451430923677
T:
falcon512dyn
297916902979395329818632
T:
sphincsf192harakarobust
316051763164596731721068
T:
luov863256
376162453762068137628665
T:
sphincsf256shake256simple
445619134457522144585252
T:
sphincsf256harakasimple
41716170?52215478?66387184?
T:
qtesla3p
652586456549258665975010
T:
rainbowbinary16242020
703773687038036670411208
T:
sphincsf256shake256robust
733791907363511773767801
T:
luov6468330
788570697892733378932879
T:
sphincsf256harakarobust
777274058109113886247916
T:
falcon1024tree
813227558154509281766414
T:
redgemss128
78823665?83247060?98584350?
T:
falcon1024dyn
838737318392460484153620
T:
bluegemss128
856063008569496885804661
T:
gemss128
917931829185261192200687
T:
redgemss128v2
956398339576183495877131
T:
bluegemss128v2
965708339666919996782220
T:
gemss128v2
121170547121405353121767727
T:
luov890351
136754431136927155139000142mqsignlr2567246
145809270146095284146336732
T:
luov8086399
156300265157452840160124884
T:
rainbow3cclassic683248
157028271157596153157981229
T:
rainbow3ccyclicc683248
158845811159132824159592183
T:
rainbow3ccompres683248
190461976190561451190602860mqsignrr2567246
216387560216747187216897860
T:
luov8117404
309117488309146057309207474
T:
sphincss128shake256simple
364648219364805595365389650
T:
sphincss128harakasimple
429623865431992656443696874
T:
rainbow5cclassic963664
444312477444658118446301583
T:
rainbow5ccyclicc963664
452612001452635119458052275
T:
sphincss192shake256simple
465581699467701285470355214
T:
rainbow5ccompres963664
510786897510924944512381023mqsignlr25611272
510656572512928788513431261
T:
redgemss192
525578041526862487527421563
T:
redgemss192v2
537733582537742419537756380
T:
sphincss192harakasimple
547124412547910152548447524
T:
bluegemss192v2
547902059548143722548928162
T:
bluegemss192
553074842553723487555067762
T:
gemss192v2
567888315568861386569030437
T:
gemss192
583429392584485326584583107
T:
sphincss128shake256robust
593623307593697722593753543
T:
sphincss256shake256simple
637840936638303995639316414
T:
sphincss128harakarobust
712093241712446308712696562mqsignrr25611272
714057144714070902714560224
T:
sphincss256harakasimple
858871539858936917859016033
T:
sphincss192shake256robust
950157058950187536951419522
T:
sphincss192harakarobust
113514710511351811021135203215
T:
sphincss256shake256robust
123194828412405177211242224254
T:
redgemss256v2
125671604412580881851258113134
T:
sphincss256harakarobust
130834274013086615851309976555mqsignlr25614896
155328715915549737571559571053
T:
gemss256v2
156596184815710644761572480142
T:
redgemss256
168410027116854761581686522508
T:
bluegemss256v2
168850384216891902521690142015
T:
bluegemss256
172802188817286305101729218968
T:
gemss256
176911757117693934651769685974mqsignrr25614896
543165277355533637945694035207
T:
pqrsa15
853697819398545012464386521721839
T:
gravitysphincss
Cycles to sign 59 bytes
25%50%75%system
219922220322886
T:
rainbowbinary256181212
492804985352171
T:
rainbowbinary16242020
784327919983349ed25519
161228162676164532
T:
rainbow1aclassic363232
165530167390170105
T:
rainbow1acyclicc363232
225398225641225952
T:
ed448goldilocks
519752?543937?1057727?
T:
pass769
571090573026578088
T:
rainbow3cclassic683248
298925?638344?1012240?
T:
qtesla1
637117640802649749
T:
rainbow3ccyclicc683248
780400794683810194
T:
falcon512tree
802042803386805838mqsignlr2567246
675119?1159295?1961283?
T:
qtesla3f
615930?1221526?1832482?
T:
pass863
126878512748531288126
T:
falcon512dyn
129569813025121309387
T:
rainbow5cclassic963664
130512713103961316574
T:
rainbow5ccyclicc963664
1044358?1319143?2205430?T!!!dilithium2
135878413671091380341
T:
donald2048
141049314126321417865mqsignrr2567246
156715715753481588980
T:
falcon1024tree
1298445?1805533?2938871?
T:
qtesla1p
1485945?1845742?3056575?T!!!dilithium2aes
1049192?1982851?2909357?
T:
qtesla3s
211039421140322128283mqsignlr25611272
1886485?2350595?3265548?T!!!dilithium3
256089725752742588868
T:
falcon1024dyn
2328236?2811991?4004131?T!!!dilithium3aes
1762345?3104772?5801716?haetae3
331992233250423333032mqsignrr25611272
2172287?3360636?4672548?T!!!dilithium5
2030425?3835250?6482438?haetae2
437274643770844385291mqsignlr25614896
3775468?4576292?6708883?T!!!dilithium5aes
3900352?6686464?10274461?
T:
qtesla3p
672825867336016750705mqsignrr25614896
680525368087026813125picnicl1full
5498491?8816132?20461771?haetae5
7642683?8916472?11754200?
T:
redgemss128v2
919368691971339202206
T:
luov863256
7864074?9591345?11004444?
T:
redgemss128
101787231018175410187656picnicl1fs
122455611239252812406348picnicl1ur
131456481315287313171765picnicl3full
216783252168867421773841picnicl5full
217075522171331521719328
T:
rainbow1acompres363232
251419862519343525213884picnicl3fs
23059145?27423751?35146058?
T:
redgemss192v2
284484392845317628463691
T:
mqdss48
312420843158739731619665picnicl3ur
320282473204097632101844
T:
luov890351
327794943289713832949688picnic3l1
28956156?35068898?41312661?
T:
redgemss192
432448204330426843451062picnicl5fs
39711335?46538708?54052289?
T:
redgemss256v2
494283004946699349811737
T:
luov4849242
518709435191680052467723picnicl5ur
540621675411596454423696
T:
luov8117404
52765810?61684507?73200394?
T:
redgemss256
697281276978151670443237picnic3l3
814279698144145481566074
T:
mqdss64
118176984118247403118367801picnic3l5
132953752133128800133607226
T:
rainbow3ccompres683248
157794873157911241158101760
T:
luov6468330
178602206178688180178770539
T:
pqrsa15
233624554233809546233884848
T:
sphincs256
302797435303464264303667038
T:
picnic2l1fs
303360344303515281303705748
T:
sphincsf128shake256simple
318824596319259582319417095
T:
luov8086399
329831688331107519332098373
T:
rainbow5ccompres963664
280130895?335702914?399414752?
T:
bluegemss128v2
307046221?372690151?490953493?
T:
bluegemss128
387539762387929703393507199
T:
sphincsf192shake256simple
428013337428328119428550091
T:
sphincsf128harakasimple
496513808496853914497321506
T:
sphincsf192harakasimple
546300075546635770547140676
T:
sphincsf128shake256robust
559951042560056991560396097
T:
gravitysphincss
712753923713171719713652190
T:
sphincsf128harakarobust
718394026719093321719622787
T:
sphincsf192shake256robust
861981131862133019862432526
T:
sphincsf256shake256simple
872186737872674012873113115
T:
sphincsf192harakarobust
910377867911195186911896720
T:
picnic2l3fs
857287322?1030506811?1200795686?
T:
bluegemss192v2
121976470912202578671220741179
T:
sphincsf256harakasimple
979737431?1463578303?1706581557?
T:
bluegemss192
155868402215591911501559516667
T:
sphincsf256shake256robust
1363947932?1636294304?2180549967?
T:
bluegemss256v2
192593582119265296791932405701
T:
picnic2l5fs
210731350321081469702108904718
T:
sphincsf256harakarobust
1791751471?2150108482?2863695680?
T:
gemss128v2
1949465812?2339066295?2728999627?
T:
gemss128
2158980192?2620560890?3455482756?
T:
bluegemss256
460889600746093029274609663506
T:
sphincss128shake256simple
688769725668972233586899225350
T:
sphincss128harakasimple
710104362771017428077109568136
T:
sphincss256shake256simple
5781950368?8095267814?10406532097?
T:
gemss192v2
813679352481445521028145034154
T:
sphincss128shake256robust
8275598413?8280744626?11586641928?
T:
gemss192
962145236096492892119771303171
T:
sphincss192shake256simple
108897693411089129645610899601081
T:
sphincss256harakasimple
112600451361126508932011265572440
T:
sphincss128harakarobust
9715545782?11659626714?13604036753?
T:
gemss256v2
129361736941293795760012986827909
T:
sphincss256shake256robust
154103452211541459062115415365979
T:
sphincss192harakasimple
166201624381662094747016621954433
T:
sphincss192shake256robust
15443388192?18543024859?21634258436?
T:
gemss256
185913271261859946253618600351493
T:
sphincss256harakarobust
271755022432718161282527192409225
T:
sphincss192harakarobust
Cycles to verify 59 bytes
25%50%75%system
193541950419624
T:
rainbowbinary256181212
403964119542290
T:
rainbowbinary16242020
548975555657487
T:
rainbow1aclassic363232
116642117211117793
T:
falcon512tree
138562138928139709
T:
qtesla1
137909139578140037
T:
falcon512dyn
226263227951229479ed25519
235975238734239793
T:
falcon1024tree
274878275443275975haetae2
272661276288282698
T:
rainbow3cclassic683248
279349280596282841
T:
falcon1024dyn
286737292651298574
T:
gemss128
293249293889294548
T:
qtesla3s
285038297057305421
T:
bluegemss128
289831300171310131
T:
redgemss128v2
299424300514301391
T:
qtesla3f
299219306978319363
T:
redgemss128
311468319584325626
T:
gemss128v2
318342323540328860
T:
bluegemss128v2
422826423055423403T!!!dilithium2
491011491464491883haetae3
611678612418616802haetae5
658605660536663032
T:
pass769
673869679282682867
T:
rainbow5cclassic963664
681527681959682593T!!!dilithium3
686338706530723842
T:
gemss192
703114719494734483
T:
bluegemss192
721938724830727832
T:
ed448goldilocks
710374735636751970
T:
redgemss192
744758746287748339
T:
qtesla1p
760955764410765745
T:
pass863
750040764682784830
T:
bluegemss192v2
754644768776782416
T:
gemss192v2
766051779202795146
T:
redgemss192v2
805561807475809804T!!!dilithium2aes
112080511215221122470T!!!dilithium5
129772312984231302140mqsignrr2567246
131999113223101326335mqsignlr2567246
139853914022561406102T!!!dilithium3aes
142084814596661485506
T:
gemss256v2
151880415497471594383
T:
redgemss256v2
150753815519431578664
T:
gemss256
155215615913701628307
T:
bluegemss256
154745215935201614360
T:
redgemss256
158553315954901612827
T:
donald2048
162832616553141710729
T:
bluegemss256v2
245912424641362470843T!!!dilithium5aes
288841229474352990861
T:
gravitysphincss
293389229614412994419
T:
sphincs256
298714629910342997070mqsignrr25611272
299311529966953004796mqsignlr25611272
348636135018983547720
T:
qtesla3p
499312251236975252409
T:
sphincss128shake256simple
539703054072025419098picnicl1full
610888561124806119486mqsignrr25614896
626473562708546277520mqsignlr25614896
708037571850037367241
T:
sphincss128harakasimple
739667674149387419874
T:
luov863256
746674876150577747884
T:
sphincss192shake256simple
868791387008258718719picnicl1fs
966782897623109844729
T:
sphincss256shake256simple
9654046990534110238980
T:
sphincss128shake256robust
104409121048335710652155picnicl1ur
105095091058144810694881
T:
sphincss192harakasimple
106697311069141810722765picnicl3full
121655641230685512513553
T:
sphincsf128shake256simple
127279811300288713203586
T:
sphincss128harakarobust
146229661474582214915763
T:
sphincss256harakasimple
146069941479426314985274
T:
sphincss192shake256robust
162641941651456416743362
T:
sphincsf128harakasimple
176506291766444817821035
T:
rainbow1acompres363232
177251311776749917817392picnicl5full
177516171797024518130999
T:
rainbow1acyclicc363232
190682361932576919889617
T:
sphincss256shake256robust
195587191981343220015005
T:
sphincsf192shake256simple
197202281985057520069797
T:
sphincss192harakarobust
200080612017096420417243
T:
sphincsf256shake256simple
198936442027090120494566
T:
mqdss48
218932952193666621988395picnicl3fs
236313402401148124255520
T:
sphincsf128shake256robust
242857592429691424312110
T:
pqrsa15
253536622579020826035019
T:
sphincsf192harakasimple
262829222628723826297720
T:
luov890351
268068442687493426983656picnic3l1
270128662704530227418258picnicl3ur
268804132732855427588212
T:
sphincss256harakarobust
270955962739236127805633
T:
sphincsf256harakasimple
295759903002362530355221
T:
sphincsf128harakarobust
339627743397606133993435
T:
luov4849242
381440213859013838945969
T:
sphincsf192shake256robust
380467853872194238898737picnicl5fs
382279343877135339141930
T:
sphincsf256shake256robust
444730274457666644605251
T:
luov8117404
468952174701837847075013picnicl5ur
472543034765102747989651
T:
sphincsf192harakarobust
501015355062453750835179
T:
sphincsf256harakarobust
564266005645557356500962picnic3l3
587005455959308460043115
T:
mqdss64
906737229074044090797544picnic3l5
925719359263774993088471
T:
luov6468330
107079633107333678110544171
T:
rainbow3ccyclicc683248
107126685108364726109037388
T:
rainbow3ccompres683248
129262211129485507129638271
T:
picnic2l1fs
166809044166942248167088121
T:
luov8086399
241847142242191379242322582
T:
rainbow5ccyclicc963664
241539980242745804243920851
T:
rainbow5ccompres963664
294140016294822746295454854
T:
picnic2l3fs
521132841521447623521676645
T:
picnic2l5fs