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; Bonnell (106ca); 2010 Intel Atom N455; 1 x 1000MHz; h2atom, supercop-20240625

[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: 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
191351917519271picnicl1full
208022083220892picnic3l1
270522713729412picnicl3full
277292781928009picnic3l3
357673578835893
T:
picnic2l1fs
359623598236045picnicl1ur
359923600636046picnicl1fs
362163625737286picnicl5full
364433647237279picnic3l5
629646302163636
T:
picnic2l3fs
678886799168809picnicl3ur
679076808668680picnicl3fs
915309203696404picnicl5fs
926189277197405picnicl5ur
343322344815406644ed25519
115531111577611177266T!!!dilithium2
1323996?1590701?1656468?
T:
ed448goldilocks
192584319282621930730T!!!dilithium3
209677621089962123113
T:
pass769
250973125220832542328T!!!dilithium2aes
257418925930282605406
T:
pass863
290934329213222935809
T:
mqdss48
304516030469353067780T!!!dilithium5
384171338552083870851T!!!dilithium3aes
4216875?6645458?7956178?
T:
qtesla1
671149367297286753540
T:
mqdss64
2748687?7072881?22417686?haetae3
7132672?7218760?13425515?
T:
qtesla3f
749494475150287532995T!!!dilithium5aes
796915980293398115336
T:
donald2048
4266385?8318099?12394762?haetae2
9286623?15206503?23161258?haetae5
195082411953689419579214
T:
sphincsf128shake256simple
12460137?20156442?27777796?
T:
qtesla3s
17039401?21151178?23326304?
T:
qtesla1p
216452262170410321783476
T:
sphincsf128harakasimple
286273792867782428733259
T:
sphincsf192shake256simple
320265263209295132155275
T:
sphincsf192harakasimple
362433073632862836412886
T:
sphincsf128shake256robust
407897474086870241452424
T:
sphincsf128harakarobust
446445664474422344954939
T:
luov4849242
508000275133598351545811
T:
rainbowbinary256181212
539376215401878254392714
T:
sphincsf192shake256robust
599565946003836360386437
T:
sphincsf192harakarobust
633735926352829063750903
T:
luov863256
757532317582623376196109
T:
sphincsf256shake256simple
842764588445228584699528
T:
sphincsf256harakasimple
8579524089855590101000572
T:
falcon512dyn
866888679024743998929176
T:
falcon512tree
71275252?95764507?108079343?
T:
qtesla3p
142100524142350132142526211
T:
sphincsf256shake256robust
154679638155055753155470393
T:
luov6468330
159312578159498429159660102
T:
sphincsf256harakarobust
236430676237710150241509604
T:
rainbowbinary16242020
241781086242219367242964588
T:
luov890351
250719882259647643276025365
T:
falcon1024dyn
248202740260416531280075188
T:
falcon1024tree
284383066284625974285220604
T:
luov8086399
434316181434916050435935600
T:
luov8117404
629923225630506010631090648
T:
sphincss128shake256simple
690073295690716483691473874
T:
sphincss128harakasimple
918995034919468471920705090
T:
sphincss192shake256simple
116496556011656874401166761022
T:
sphincss128shake256robust
121464167712153590751216082490
T:
sphincss256shake256simple
129933888013002420951306169639
T:
sphincss128harakarobust
135381308713547046451355169595
T:
sphincss256harakasimple
147954712414805779271486218394
T:
redgemss128v2
226699520322682704512269744451
T:
sphincss256shake256robust
385563732238591373543862765710
T:
bluegemss128v2
785062501178578215227875329836
T:
redgemss192v2
241495226902419379085824290346288
T:
redgemss256v2
Cycles to sign 59 bytes
25%50%75%system
693627006870461
T:
rainbowbinary256181212
145224146425149014
T:
rainbowbinary16242020
354528354596354946ed25519
134369813448371350244
T:
ed448goldilocks
170863117249641739029
T:
falcon512tree
2701760?2759851?5445857?
T:
pass769
326610632764843298304
T:
falcon512dyn
351484235368363559237
T:
falcon1024tree
2754571?4699752?7699091?
T:
qtesla1
2678071?5279361?12363788?
T:
qtesla3f
3892139?5319098?8176517?T!!!dilithium2
3329771?6614064?6708780?
T:
pass863
680285268231216842258
T:
falcon1024dyn
4087178?7658862?13201317?T!!!dilithium3
5336879?7911292?9264567?T!!!dilithium2aes
796989080328268094318
T:
donald2048
4511322?8942840?16492555?
T:
qtesla1p
4595102?10157514?22566000?
T:
qtesla3s
8291700?11130457?16230394?T!!!dilithium5
7638075?13662919?24674580?T!!!dilithium3aes
10386419?16097856?19605556?T!!!dilithium5aes
7493414?17671551?31314731?haetae2
6495775?21852408?38101149?haetae3
14272063?26862673?33334670?haetae5
26535469?30048649?50504577?
T:
qtesla3p
394386563954906539893788
T:
luov863256
421464774224332842391157picnicl1full
496512434973629349903657picnicl1fs
687275126878300169207520picnicl1ur
814021628156105281876334picnicl3full
114772872115040990115314607picnicl3fs
125885122127211122128303112
T:
luov4849242
129762763129991038130219355picnicl5full
136273198136556517136895236
T:
luov890351
169499052169648680169846588picnicl3ur
177336481177598048177983322
T:
mqdss48
197798556198000426198363530picnicl5fs
210519998210684220211200121picnic3l1
243052117243242376243935263
T:
luov8117404
275251026275710288275934270picnicl5ur
472680937472930683473170848picnic3l3
484106512492893167504865281
T:
luov6468330
545976943546185634546389012
T:
mqdss64
618897833619418101620044443
T:
sphincsf128shake256simple
756894309757582984758263600picnic3l5
784315464784805248785445245
T:
sphincsf192shake256simple
806813765807664497809027467
T:
sphincsf128harakasimple
940290747941343552942060213
T:
sphincsf192harakasimple
971105695975017837976727861
T:
luov8086399
109693165710981802781099281798
T:
sphincsf128shake256robust
961920493?1157303030?1524519533?
T:
redgemss128v2
141330569814150337451417407869
T:
sphincsf128harakarobust
144187514514422546711442768466
T:
picnic2l1fs
144557744314466679161461480700
T:
sphincsf192shake256robust
173791433417389224231741842909
T:
sphincsf192harakarobust
174078885717417315431742955059
T:
sphincsf256shake256simple
230480377823056855402306744007
T:
sphincsf256harakasimple
315405187131557729723161516825
T:
sphincsf256shake256robust
384060471938427068593846941409
T:
picnic2l3fs
3306143432?3961094198?5233887346?
T:
redgemss192v2
414987494041519745044154221562
T:
sphincsf256harakarobust
7542135339?9090131182?10530764686?
T:
redgemss256v2
936601131493687804929389515389
T:
sphincss128shake256simple
129753548711298712075313024355897
T:
sphincss128harakasimple
145202136911453818176214744747505
T:
sphincss256shake256simple
162794978121628982977916507018434
T:
sphincss128shake256robust
195744897071958918926219798943172
T:
sphincss192shake256simple
205605953342058642242620787620119
T:
sphincss256harakasimple
17692139566?21348211931?25338914281?
T:
bluegemss128v2
221551902472218575672622391468235
T:
sphincss128harakarobust
258896368722609452387126121639787
T:
sphincss256shake256robust
Cycles to verify 59 bytes
25%50%75%system
687006899569276
T:
rainbowbinary256181212
111289112685115306
T:
rainbowbinary16242020
256843260244261130
T:
falcon512tree
321610325903326938
T:
falcon512dyn
522372523386524549
T:
falcon1024tree
656478658810660735
T:
falcon1024dyn
763192784209800175
T:
bluegemss128v2
785572787293790608
T:
qtesla1
806353836340869291
T:
redgemss128v2
904611907499911221haetae2
127193212773581287886ed25519
140708014091761410627T!!!dilithium2
156016215632691565934haetae3
162848816326671642754
T:
qtesla3f
163931516892701727379
T:
redgemss192v2
179958718033451808341
T:
qtesla3s
185549918581621861966haetae5
219684521980082217512T!!!dilithium3
261093926263112644456T!!!dilithium2aes
304644030869933144766
T:
redgemss256v2
325244832619113272735
T:
pass769
345401034560613479334T!!!dilithium5
393976539536473965181
T:
pass863
403945140493734096133
T:
qtesla1p
404488040545014066321T!!!dilithium3aes
483194848487294875178
T:
ed448goldilocks
761697976334147663194T!!!dilithium5aes
920233192937019380493
T:
donald2048
101474071045691210678475
T:
sphincss128shake256simple
133550361365166813914421
T:
sphincss128harakasimple
149518701519791215600951
T:
sphincss192shake256simple
169885191700643217037796
T:
qtesla3p
190995321979490220261142
T:
sphincss128shake256robust
197556532009374820443566
T:
sphincss256shake256simple
247993772551398925900825
T:
sphincss128harakarobust
250591132556934425773406
T:
sphincsf128shake256simple
276822712802232228358720
T:
sphincss256harakasimple
310677483109338831200440picnicl1full
307618713134587131630415
T:
sphincsf128harakasimple
355961873567588635807532
T:
luov863256
382206663828580938381020picnicl1fs
376941513837677139264498
T:
sphincss256shake256robust
395599863992649740340209
T:
sphincsf192shake256simple
399977984043193841203085
T:
sphincsf256shake256simple
476374834847343249193072
T:
sphincsf128shake256robust
480762394859673349111814
T:
sphincsf192harakasimple
510663965189165652286987
T:
sphincsf256harakasimple
527978165291423353153906picnicl1ur
585155185923334060643535
T:
sphincsf128harakarobust
606726216079716161058451picnicl3full
759453767673115977573703
T:
sphincsf192shake256robust
771273747789948778780620
T:
sphincsf256shake256robust
864503008717970988320935
T:
luov4849242
904279699058361190928750picnicl3fs
933999799442580395185758
T:
sphincsf192harakarobust
976227519783393998124927picnicl5full
980035219907047699934235
T:
sphincsf256harakarobust
126183287126582100126806198
T:
luov890351
130123476131667880132817172
T:
mqdss48
132615701132797518133267832picnicl3ur
157656826157942544158180690picnicl5fs
179429454179793851180042745picnic3l1
224653317224955455225440716
T:
luov8117404
224877555225123860225293585picnicl5ur
270539564273112329280724819
T:
luov6468330
398071448398521659398938287picnic3l3
403025393405360380408577015
T:
mqdss64
494826699496591251501432213
T:
luov8086399
606001566606407285607182017picnic3l5
918654883919146523919737099
T:
picnic2l1fs
207812495620788419482080191955
T:
picnic2l3fs