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

[Page version: 20240912 11:46:05]

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
703397076171167ed25519
147238147364147732aimer128f
151233151410152067aimer128s
309034309290310065
T:
ed448goldilocks
363589363764364455aimer192f
365744367506367722aimer192s
445922448531452696nccsign1
448064449203456097T!!!dilithium2
531656534331536376
T:
pass769
570907574913581761nccsign3
645030647066650460
T:
pass863
666339672192678008nccsign1aes
810832811976812944T!!!dilithium3
823694824416826015aimer256f
824534825755828249aimer256s
915412920717929251nccsign3aes
915342922386927430nccsign5
937957943003948025T!!!dilithium2aes
128466812866281293310T!!!dilithium5
133577113432521352507nccsign5aes
139441914086491422779
T:
donald2048
149278414956371497189
T:
mqdss48
855100?1612758?3103462?haetae2
166915016744821682625T!!!dilithium3aes
278855528026832872543T!!!dilithium5aes
2352005?2996138?5742445?haetae5
1882113?3124251?5578941?haetae3
2441339?3214878?4698349?
T:
qtesla1
346577734681453470479
T:
mqdss64
3850689?5637504?7435238?
T:
qtesla3f
7380983?9918731?16831131?
T:
qtesla3s
9361057?10602066?11847920?
T:
qtesla1p
112508071129531311392139
T:
sphincsf128shake256simple
140036271400436014030591
T:
sphincsf128harakasimple
145495511455365814608121
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
547029525473485554774379
T:
sphincsf256harakasimple
547806705494414555153550
T:
rainbow1aclassic363232
594942115956976859833717
T:
rainbow1acompres363232
634968256380250063848164
T:
rainbow1acyclicc363232
818557988321073083637012
T:
sphincsf256shake256robust
835498848961515197237704
T:
falcon1024dyn
8720893490554470101964881
T:
falcon1024tree
938211739382595693838806
T:
sphincsf256harakarobust
178023592178329760178461847mqsignlr2567246
228801280228974033229465899mqsignrr2567246
358188529358281791360059601
T:
sphincss128shake256simple
444820369444841376445518060
T:
sphincss128harakasimple
471493955472174327473180236
T:
rainbow3cclassic683248
526187596526422457526575105
T:
sphincss192shake256simple
609612086611766026613544012
T:
rainbow3ccyclicc683248
611603760612151669612619534
T:
rainbow3ccompres683248
654644344655117566656177912
T:
sphincss192harakasimple
681243207682299055684939831
T:
sphincss128shake256robust
688054191688341273688428125
T:
sphincss256shake256simple
693104784693244499697722345mqsignlr25611272
760010414761015872761704610
T:
sphincss128harakarobust
873459816873594539873651109
T:
sphincss256harakasimple
892225027893995457896021677mqsignrr25611272
992311235992398258992789841
T:
sphincss192shake256robust
128289682412845183331299814061
T:
rainbow5cclassic963664
131751816813199880381320397213
T:
sphincss256shake256robust
152358899915311760671532609320
T:
rainbow5ccompres963664
163854594416554220511658267770
T:
rainbow5ccyclicc963664
175799394717584027071760208266mqsignlr25614896
222104262622240105592237747306mqsignrr25614896
Cycles to sign 59 bytes
25%50%75%system
799418025980305ed25519
319619322385322471
T:
ed448goldilocks
401878402422404290
T:
rainbow1aclassic363232
492114492624493523
T:
rainbow1acyclicc363232
671173?723930?1389925?
T:
pass769
807007?860610?1660121?
T:
pass863
100224510103091020703
T:
falcon512tree
116028611606361161483mqsignlr2567246
698215?1198968?1886077?
T:
qtesla1
138874313975331407336
T:
donald2048
1081702?1542917?1705148?nccsign1
162015816274491631468
T:
falcon512dyn
1123773?1729135?2531240?
T:
qtesla3f
1325774?1920947?2770269?nccsign3
196855019701531970658mqsignrr2567246
200777820222432038043
T:
falcon1024tree
1401512?2058421?2495254?nccsign1aes
1263940?2099371?3354984?T!!!dilithium2
1336015?2267640?3896460?T!!!dilithium3
2277766?2341600?3587652?nccsign5
1340737?2371066?3751374?
T:
qtesla1p
1738831?2559260?3407046?nccsign3aes
258667625894952591245
T:
rainbow3cclassic683248
308718930961893097262
T:
rainbow3ccyclicc683248
319575631974153202119mqsignlr25611272
1892718?3246568?7027486?
T:
qtesla3s
327152432868883303717
T:
falcon1024dyn
1864372?3328797?4513360?T!!!dilithium2aes
2707792?3531839?5524678?T!!!dilithium5
2846572?3587621?5206721?T!!!dilithium3aes
2879533?4048839?5719010?nccsign5aes
506723650693855070602mqsignrr25611272
4708596?5408713?6598109?T!!!dilithium5aes
546379854664615473325
T:
rainbow5cclassic963664
4343671?5716604?9811820?haetae2
663519366445776706681
T:
rainbow5ccyclicc963664
665888966693416673378aimer128f
674781267510166758024mqsignlr25614896
5155965?9540702?14944702?haetae3
102282901023239310244508mqsignrr25614896
5691911?10793069?15944689?haetae5
7948180?13467697?21538313?
T:
qtesla3p
170343951705151617092331aimer192f
345869513458903534624141aimer256f
402599504030369940567743
T:
rainbow1acompres363232
524203575252720952617225aimer128s
796634467969154479727925
T:
mqdss48
132456178132777234132825363aimer192s
259135814259155611260366304
T:
mqdss64
264545310264779454264830469aimer256s
271309006271407822271890273
T:
sphincs256
356178270356575625361784149
T:
sphincsf128shake256simple
374134525374523429374837683
T:
rainbow3ccompres683248
450144181450593777450963325
T:
sphincsf192shake256simple
516860226517248542517531913
T:
sphincsf128harakasimple
599634180600049384600429820
T:
sphincsf192harakasimple
649099460649599963651258909
T:
sphincsf128shake256robust
828994664829188786829525118
T:
sphincsf192shake256robust
853491791853914778855087567
T:
sphincsf128harakarobust
955097114959331912970453596
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
846458579487954
T:
rainbow1aclassic363232
128629130707131471
T:
falcon512tree
159322160760161710
T:
falcon512dyn
227437228003228695
T:
qtesla1
259596260569262190ed25519
262813264219265007
T:
falcon1024tree
326511328702329283
T:
falcon1024dyn
328348330459332424haetae2
370685371256372972
T:
rainbow3cclassic683248
472803473709475293
T:
qtesla3f
525012525567526613
T:
qtesla3s
540111541020547823T!!!dilithium2
588936590724592643haetae3
669561671405680855nccsign1
727384728698732695haetae5
820711822460825535nccsign3
836013845040845916T!!!dilithium3
859222861280863745
T:
pass769
879639884212892937nccsign1aes
913567917381921304
T:
rainbow5cclassic963664
957944960715967118T!!!dilithium2aes
101143210139981017898
T:
pass863
102542110304431032110
T:
ed448goldilocks
112113211323421145033nccsign3aes
122853812309581234262
T:
qtesla1p
137961113865541394605T!!!dilithium5
139272013971661430616nccsign5
158402115880971617778T!!!dilithium3aes
164038216540621662399
T:
donald2048
180237118073431812992nccsign5aes
184948518507631852447mqsignrr2567246
184902718516951855224mqsignlr2567246
276426627782242796791T!!!dilithium5aes
339351134176443469575
T:
sphincs256
514936551548535212395mqsignrr25611272
513727951793765181307mqsignlr25611272
522569452412165249685
T:
qtesla3p
583112859702726123178
T:
sphincss128shake256simple
621388762185026224946aimer128f
859914887401278859439
T:
sphincss192shake256simple
873477288250349010276
T:
sphincss128harakasimple
989546299066409951386mqsignrr25614896
9954822995743110004722mqsignlr25614896
112227661133087711482747
T:
sphincss256shake256simple
114860381170709511994219
T:
sphincss128shake256robust
129551091309680113271023
T:
sphincss192harakasimple
143239281449751514771065
T:
sphincsf128shake256simple
154254551566229015977986
T:
sphincss128harakarobust
159079311593723515948068aimer192f
168051051702980217312185
T:
sphincss192shake256robust
182470681835114418519768
T:
sphincss256harakasimple
200267762029335720608552
T:
sphincsf128harakasimple
217373762217963122595053
T:
sphincss256shake256robust
225531212295301723262218
T:
sphincsf192shake256simple
227961542305401723397562
T:
sphincsf256shake256simple
245726832482313424991931
T:
rainbow1acompres363232
246949732489241825021242
T:
rainbow1acyclicc363232
283243962872669829067646
T:
sphincsf128shake256robust
311394883145789831750187
T:
sphincsf192harakasimple
323146043237790532410315aimer256f
335620893399763034317119
T:
sphincsf256harakasimple
353509493570336536134051
T:
sphincsf128harakarobust
439759344434630344642868
T:
sphincsf192shake256robust
451667914592859746729252
T:
sphincsf256shake256robust
518800735193007852079656aimer128s
564906985696298357338052
T:
sphincsf192harakarobust
582466605915884059956825
T:
mqdss48
601149496082344261136107
T:
sphincsf256harakarobust
131546384131574394131632651aimer192s
147389255148264940148924312
T:
rainbow3ccompres683248
146926183148605867149271909
T:
rainbow3ccyclicc683248
191724840193541191195694449
T:
mqdss64
263230425263455702264046951aimer256s
329717952330358420330926194
T:
rainbow5ccyclicc963664
352504396357656774358928644
T:
rainbow5ccompres963664