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; K10 32nm (300f10); 2011 AMD A8-3850; 4 x 2900MHz; hydra5, supercop-20241022

[Page version: 20241215 22:59:18]

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
704727058671370ed25519
147252147400147644aimer128f
151251151632151948aimer128s
309034309290310065
T:
ed448goldilocks
324914335977349632
T:
hector
362964363219363467aimer192s
362992363733364509aimer192f
444881448638452590nccsign1
448302450260457900T!!!dilithium2
531656534331536376
T:
pass769
570836572916577416nccsign3
645030647066650460
T:
pass863
672297675953682541nccsign1aes
811548817448829201T!!!dilithium3
823241824519826326aimer256f
824392825046826731aimer256s
875774886068892965nccsign3aes
913389919231930111nccsign5
101038810152871026976T!!!dilithium2aes
126956212891391294446T!!!dilithium5
132287213321231342380nccsign5aes
139441914086491422779
T:
donald2048
149278414956371497189
T:
mqdss48
166179716850861703004T!!!dilithium3aes
867057?2074827?5166558?haetae2
1753980?2683531?5743696?haetae5
279173928401082848386T!!!dilithium5aes
2441339?3214878?4698349?
T:
qtesla1
346577734681453470479
T:
mqdss64
1881037?3964157?7352362?haetae3
3850689?5637504?7435238?
T:
qtesla3f
7380983?9918731?16831131?
T:
qtesla3s
9361057?10602066?11847920?
T:
qtesla1p
112508071129531311392139
T:
sphincsf128shake256simple
140036271400436014030591
T:
sphincsf128harakasimple
145566931460698114609544
T:
sphincs256
164590721647660616513848
T:
sphincsf192shake256simple
205566382056035620572686
T:
sphincsf192harakasimple
215649702158226221599303
T:
sphincsf128shake256robust
237675452378935523791856
T:
sphincsf128harakarobust
27434169?30636070?39304991?
T:
falcon512dyn
310159443102997731036649
T:
sphincsf192shake256robust
28314542?31396275?35462925?
T:
falcon512tree
351440763514520135166258
T:
sphincsf192harakarobust
433425374336223843380112
T:
sphincsf256shake256simple
41639827?52037386?59045218?
T:
qtesla3p
544278205449246954895143
T:
rainbow1aclassic363232
547029525473485554774379
T:
sphincsf256harakasimple
573656395747342057776531
T:
rainbow1acyclicc363232
596188735997404360085039
T:
rainbow1acompres363232
818557988321073083637012
T:
sphincsf256shake256robust
835498848961515197237704
T:
falcon1024dyn
8720893490554470101964881
T:
falcon1024tree
938211739382595693838806
T:
sphincsf256harakarobust
177889034177960598178076867mqsignlr2567246
228935740230669725231681749mqsignrr2567246
358188529358281791360059601
T:
sphincss128shake256simple
444820369444841376445518060
T:
sphincss128harakasimple
472384377475508508476969915
T:
rainbow3cclassic683248
526187596526422457526575105
T:
sphincss192shake256simple
609941172611238776613332623
T:
rainbow3ccyclicc683248
610723228615120520616412892
T:
rainbow3ccompres683248
654644344655117566656177912
T:
sphincss192harakasimple
681243207682299055684939831
T:
sphincss128shake256robust
688054191688341273688428125
T:
sphincss256shake256simple
695405437696226163696629245mqsignlr25611272
760010414761015872761704610
T:
sphincss128harakarobust
873459816873594539873651109
T:
sphincss256harakasimple
893245634895121630900882194mqsignrr25611272
992311235992398258992789841
T:
sphincss192shake256robust
128606042712871582581288667004
T:
rainbow5cclassic963664
131751816813199880381320397213
T:
sphincss256shake256robust
164385132516460311171646876584
T:
rainbow5ccompres963664
165238731516628447971674194267
T:
rainbow5ccyclicc963664
175670383217571938301759571041mqsignlr25614896
222362586122241481332227634383mqsignrr25614896
Cycles to sign 59 bytes
25%50%75%system
803298059080670ed25519
319619322385322471
T:
ed448goldilocks
352166356407366279
T:
hector
400313400628403051
T:
rainbow1aclassic363232
403774404087405801
T:
rainbow1acyclicc363232
671173?723930?1389925?
T:
pass769
807007?860610?1660121?
T:
pass863
100224510103091020703
T:
falcon512tree
115490311663821170240mqsignlr2567246
698215?1198968?1886077?
T:
qtesla1
138874313975331407336
T:
donald2048
162015816274491631468
T:
falcon512dyn
1082855?1651916?1661653?nccsign1
1123773?1729135?2531240?
T:
qtesla3f
1784212?1798799?3405880?nccsign3aes
1320521?1893513?2768648?nccsign3
1398041?1958487?2738638?nccsign1aes
196857519697331971167mqsignrr2567246
200777820222432038043
T:
falcon1024tree
1601285?2042205?3217738?T!!!dilithium2
1340737?2371066?3751374?
T:
qtesla1p
1843801?2379818?4352603?T!!!dilithium2aes
259010025915242593669
T:
rainbow3cclassic683248
1897403?2968540?4208929?T!!!dilithium3
319925832004143202688mqsignlr25611272
318455532043923214792
T:
rainbow3ccyclicc683248
1892718?3246568?7027486?
T:
qtesla3s
2342271?3253160?4358832?nccsign5
327152432868883303717
T:
falcon1024dyn
2751909?4268350?5274469?T!!!dilithium5
2885196?4292457?5706956?nccsign5aes
2868275?4333796?5690238?T!!!dilithium3aes
506308550672475069864mqsignrr25611272
541749254610975463797
T:
rainbow5cclassic963664
3702892?5566700?7552595?T!!!dilithium5aes
3003366?5677263?15167797?haetae2
664465166484116660924
T:
rainbow5ccyclicc963664
665960366608716673689aimer128f
674795267520346759557mqsignlr25614896
5207913?7426173?14546984?haetae3
102191481022350910234056mqsignrr25614896
8234611?13316648?23591667?haetae5
7948180?13467697?21538313?
T:
qtesla3p
170605701708631317114970aimer192f
345131753460786334624694aimer256f
400896184034090140607070
T:
rainbow1acompres363232
524684585252730352584895aimer128s
796634467969154479727925
T:
mqdss48
132513236132581214132751007aimer192s
259135814259155611260366304
T:
mqdss64
264256417264636846264693889aimer256s
271572013272005012272284509
T:
sphincs256
356178270356575625361784149
T:
sphincsf128shake256simple
373271686373902310377104423
T:
rainbow3ccompres683248
450144181450593777450963325
T:
sphincsf192shake256simple
516860226517248542517531913
T:
sphincsf128harakasimple
599634180600049384600429820
T:
sphincsf192harakasimple
649099460649599963651258909
T:
sphincsf128shake256robust
828994664829188786829525118
T:
sphincsf192shake256robust
853491791853914778855087567
T:
sphincsf128harakarobust
951359932953387507954765545
T:
rainbow5ccompres963664
993494570994313296995031980
T:
sphincsf256shake256simple
103472153510352634781035606799
T:
sphincsf192harakarobust
148672097014871389551487579021
T:
sphincsf256harakasimple
181732169618247676561851502705
T:
sphincsf256shake256robust
252794094625300354182530847753
T:
sphincsf256harakarobust
535035776353529975685358058049
T:
sphincss128shake256simple
821997898282217384738222661296
T:
sphincss256shake256simple
830094325983018240338327155206
T:
sphincss128harakasimple
948710632894881900049489755800
T:
sphincss128shake256robust
111752383321117608754011180814565
T:
sphincss192shake256simple
132253317521323568804113238608576
T:
sphincss256harakasimple
136027634341360379500713635754919
T:
sphincss128harakarobust
149182115611493676324614972328736
T:
sphincss256shake256robust
185045716591850792903218517743530
T:
sphincss192harakasimple
192221439791922356006219256476534
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
846148592987034
T:
rainbow1aclassic363232
128629130707131471
T:
falcon512tree
159322160760161710
T:
falcon512dyn
227437228003228695
T:
qtesla1
258956260213261374ed25519
262813264219265007
T:
falcon1024tree
326511328702329283
T:
falcon1024dyn
327630330901331976haetae2
369595371037372888
T:
rainbow3cclassic683248
472803473709475293
T:
qtesla3f
525012525567526613
T:
qtesla3s
539166539532540598T!!!dilithium2
593016593930595529haetae3
669876671977687807nccsign1
727107730137731157haetae5
820326822186824527nccsign3
834573844921846081T!!!dilithium3
859222861280863745
T:
pass769
884002888865892640nccsign1aes
921185923241926573
T:
rainbow5cclassic963664
101143210139981017898
T:
pass863
101463510172561021397T!!!dilithium2aes
102542110304431032110
T:
ed448goldilocks
112671211314701136217nccsign3aes
122853812309581234262
T:
qtesla1p
138871813952031401071T!!!dilithium5
139274613980231433376nccsign5
142188314306801440651
T:
hector
158761915955601603580T!!!dilithium3aes
164038216540621662399
T:
donald2048
179088117961771805846nccsign5aes
184937418503051851211mqsignrr2567246
184999718508601854494mqsignlr2567246
277323628079712815788T!!!dilithium5aes
339849234287773462771
T:
sphincs256
513449551385955152774mqsignrr25611272
515010251561775160706mqsignlr25611272
522569452412165249685
T:
qtesla3p
583112859702726123178
T:
sphincss128shake256simple
621265662152086218610aimer128f
859914887401278859439
T:
sphincss192shake256simple
873477288250349010276
T:
sphincss128harakasimple
9883581989301710018610mqsignlr25614896
988856598939519997162mqsignrr25614896
112227661133087711482747
T:
sphincss256shake256simple
114860381170709511994219
T:
sphincss128shake256robust
129551091309680113271023
T:
sphincss192harakasimple
143239281449751514771065
T:
sphincsf128shake256simple
154254551566229015977986
T:
sphincss128harakarobust
159253531592985615932170aimer192f
168051051702980217312185
T:
sphincss192shake256robust
182470681835114418519768
T:
sphincss256harakasimple
200267762029335720608552
T:
sphincsf128harakasimple
217373762217963122595053
T:
sphincss256shake256robust
225531212295301723262218
T:
sphincsf192shake256simple
227961542305401723397562
T:
sphincsf256shake256simple
244905662458583624645779
T:
rainbow1acyclicc363232
246494152480451624845483
T:
rainbow1acompres363232
283243962872669829067646
T:
sphincsf128shake256robust
311394883145789831750187
T:
sphincsf192harakasimple
322749183232832232332984aimer256f
335620893399763034317119
T:
sphincsf256harakasimple
353509493570336536134051
T:
sphincsf128harakarobust
439759344434630344642868
T:
sphincsf192shake256robust
451667914592859746729252
T:
sphincsf256shake256robust
519213835194077752005121aimer128s
564906985696298357338052
T:
sphincsf192harakarobust
582466605915884059956825
T:
mqdss48
601149496082344261136107
T:
sphincsf256harakarobust
131423297131462602131851613aimer192s
147595910148438766149128755
T:
rainbow3ccompres683248
147633558148853333149487461
T:
rainbow3ccyclicc683248
191724840193541191195694449
T:
mqdss64
263228489263251266263274032aimer256s
329327536329859324330626534
T:
rainbow5ccompres963664
331002097331860679341749346
T:
rainbow5ccyclicc963664