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-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
700107020270681ed25519
308782309570311298
T:
ed448goldilocks
450315455537456724T!!!dilithium2
588257590301592987
T:
pass769
644125646629648960
T:
pass863
811245825864829433T!!!dilithium3
934280947050955678T!!!dilithium2aes
884252?1283428?3202413?haetae2
126703612994601300954T!!!dilithium5
140462414143051431580
T:
donald2048
149341314963991498136
T:
mqdss48
166317916724391710853T!!!dilithium3aes
1954166?2565596?3775858?
T:
qtesla1
277663727871822796664T!!!dilithium5aes
346691334691323475839
T:
mqdss64
2307598?4000689?9176125?haetae5
2167546?4093264?7815676?haetae3
3854844?5641811?7437473?
T:
qtesla3f
7385049?9775800?16794717?
T:
qtesla3s
9335947?10580391?13074839?
T:
qtesla1p
112614221127402311290338
T:
sphincsf128shake256simple
140034851400531714007925
T:
sphincsf128harakasimple
145638851457927514606558
T:
sphincs256
164529401647170516474151
T:
sphincsf192shake256simple
205707372058008720597942
T:
sphincsf192harakasimple
213556802156638321584794
T:
sphincsf128shake256robust
237667182377121323807495
T:
sphincsf128harakarobust
310132953117696231204238
T:
sphincsf192shake256robust
27920690?31311513?36221156?
T:
falcon512dyn
27741160?31741190?37338020?
T:
falcon512tree
350796843508332135216455
T:
sphincsf192harakarobust
433510634336192743405148
T:
sphincsf256shake256simple
34773797?48556186?59119440?
T:
qtesla3p
539903895433647354590270
T:
rainbow1aclassic363232
546895315469371754699054
T:
sphincsf256harakasimple
593301525937671459499351
T:
rainbow1acompres363232
623635776264172663699892
T:
rainbow1acyclicc363232
817056728173450481818150
T:
sphincsf256shake256robust
826340118651207396349841
T:
falcon1024dyn
845875428825694697005690
T:
falcon1024tree
938251409384000693843137
T:
sphincsf256harakarobust
168079052168321324168426581mqsignlr2567246
226780631226956132227390377mqsignrr2567246
357968614357973276358542247
T:
sphincss128shake256simple
444796469445222711445511128
T:
sphincss128harakasimple
468520351469055859472272852
T:
rainbow3cclassic683248
526560264526767879526842041
T:
sphincss192shake256simple
560035222562652809564227923
T:
rainbow3ccyclicc683248
570181279574548726579680274
T:
rainbow3ccompres683248
654520820654569259655201680
T:
sphincss192harakasimple
657084600657833532658529079mqsignlr25611272
681460570682155980682891745
T:
sphincss128shake256robust
688224704688507344688611418
T:
sphincss256shake256simple
758047037758759228759788626
T:
sphincss128harakarobust
873539384873680201874899225
T:
sphincss256harakasimple
875500189876515570877286113mqsignrr25611272
996770361998153061998949181
T:
sphincss192shake256robust
127429906812762850941277248606
T:
rainbow5cclassic963664
131501241713172293051319578560
T:
sphincss256shake256robust
140857932614093740831412692568
T:
rainbow5ccompres963664
157793224215922620731601475808
T:
rainbow5ccyclicc963664
165234242216530597861653926502mqsignlr25614896
215837195721601554512161661729mqsignrr25614896
Cycles to sign 59 bytes
25%50%75%system
790647917079766ed25519
320194320445322497
T:
ed448goldilocks
400378401286403147
T:
rainbow1aclassic363232
477047479147480281
T:
rainbow1acyclicc363232
753404?758873?1535718?
T:
pass769
99972910069041013689
T:
falcon512tree
100723010084471010330mqsignlr2567246
488831?1165109?1873778?
T:
qtesla1
139618114096121421757
T:
donald2048
162333016311981638547
T:
falcon512dyn
806993?1635768?2439270?
T:
pass863
908572?1662505?2393266?T!!!dilithium2
176393717646511766792mqsignrr2567246
200768720211332037934
T:
falcon1024tree
1823994?2256252?2887470?T!!!dilithium2aes
1130077?2307132?3532189?
T:
qtesla3f
1871540?2514581?4096008?T!!!dilithium3
258628925883832591814
T:
rainbow3cclassic683248
1918607?2616329?4475724?
T:
qtesla1p
276724927695262792587mqsignlr25611272
1289863?2843854?6117994?
T:
qtesla3s
2135730?2875835?6059393?T!!!dilithium5
317898031826063191316
T:
rainbow3ccyclicc683248
327673832889773299725
T:
falcon1024dyn
2870317?4332799?6555634?T!!!dilithium3aes
447436344793264497642mqsignrr25611272
2665558?5071778?11073843?haetae2
546259354639305465613
T:
rainbow5cclassic963664
579856258961215909670mqsignlr25614896
4761348?5950175?9450238?T!!!dilithium5aes
656137565959706620495
T:
rainbow5ccyclicc963664
4144966?7801777?11458751?haetae3
875439188841358922808mqsignrr25614896
7956121?11030679?16282781?
T:
qtesla3p
5163551?11224891?18636197?haetae5
395252403981709239946174
T:
rainbow1acompres363232
797011097971139479729905
T:
mqdss48
259173627260407914260421926
T:
mqdss64
271343243272042870272262925
T:
sphincs256
324878225325108086325683910
T:
rainbow3ccompres683248
355637883356089227356415511
T:
sphincsf128shake256simple
449777710450063228450236211
T:
sphincsf192shake256simple
517076773517364706517867429
T:
sphincsf128harakasimple
599616610600060239600197830
T:
sphincsf192harakasimple
650038244650488183650929818
T:
sphincsf128shake256robust
829093281829876149838967208
T:
sphincsf192shake256robust
834844372835661092836295271
T:
rainbow5ccompres963664
852549924853627375854470863
T:
sphincsf128harakarobust
992726351993340471994125196
T:
sphincsf256shake256simple
103524293110357296701037124815
T:
sphincsf192harakarobust
148786075814889516531489657223
T:
sphincsf256harakasimple
180705700718085426991809473583
T:
sphincsf256shake256robust
253034883525309758632532111012
T:
sphincsf256harakarobust
533222372453341040185335687626
T:
sphincss128shake256simple
822145141582299417028237743068
T:
sphincss256shake256simple
830679327983073310258313991057
T:
sphincss128harakasimple
949268420394974411119515082620
T:
sphincss128shake256robust
111723801311118121877511185933021
T:
sphincss192shake256simple
132273620871322805771713239590841
T:
sphincss256harakasimple
135980860111359927986713609569971
T:
sphincss128harakarobust
149438727361495295392314955169296
T:
sphincss256shake256robust
185069995631851303206118520940529
T:
sphincss192harakasimple
192813147991931796034719447175924
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
847368583787447
T:
rainbow1aclassic363232
128828130296131403
T:
falcon512tree
159268160336161723
T:
falcon512dyn
208488209418210208
T:
qtesla1
259057260064261792ed25519
263349264608265555
T:
falcon1024tree
328237329928338333
T:
falcon1024dyn
329262330853337117haetae2
368546369788371260
T:
rainbow3cclassic683248
472988474540475163
T:
qtesla3f
525498525932527141
T:
qtesla3s
531916539413540668T!!!dilithium2
605463606283611582haetae3
737944739092740772haetae5
835864847901848767T!!!dilithium3
916033921476930839
T:
rainbow5cclassic963664
934674936829947101
T:
pass769
944292950746954847T!!!dilithium2aes
101005210131381015944
T:
pass863
102675710302071032934
T:
ed448goldilocks
122720112304061234650
T:
qtesla1p
136634413753491384252T!!!dilithium5
158457715902251600943T!!!dilithium3aes
163818216515511660588
T:
donald2048
166690116687621669491mqsignrr2567246
168390116845111687717mqsignlr2567246
275059227653782802525T!!!dilithium5aes
335841334143433444348
T:
sphincs256
408502040882464098785mqsignrr25611272
423049842315974234042mqsignlr25611272
521611552354985250318
T:
qtesla3p
578977259357296049802
T:
sphincss128shake256simple
810438681533978164491mqsignrr25614896
816435582118258235091mqsignlr25614896
859378486934428892498
T:
sphincss192shake256simple
868631289579779048300
T:
sphincss128harakasimple
110750721125705311368836
T:
sphincss256shake256simple
114352971175049811980187
T:
sphincss128shake256robust
127742961296078313140838
T:
sphincss192harakasimple
142270421448698214732984
T:
sphincsf128shake256simple
151894451551055415818236
T:
sphincss128harakarobust
167985371706521217364065
T:
sphincss192shake256robust
181484961840548718618632
T:
sphincss256harakasimple
200277282033834320565726
T:
sphincsf128harakasimple
220517422249505122780360
T:
sphincss256shake256robust
226849952287838323027060
T:
sphincsf192shake256simple
229339842312931123386696
T:
sphincsf256shake256simple
244943552467500224858394
T:
rainbow1acompres363232
249199162501385225952310
T:
rainbow1acyclicc363232
278707222841399429102604
T:
sphincsf128shake256robust
311835133141219931861225
T:
sphincsf192harakasimple
335056473373163634314635
T:
sphincsf256harakasimple
352674943581845136409616
T:
sphincsf128harakarobust
439788834463311044926287
T:
sphincsf192shake256robust
443874764482834045401551
T:
sphincsf256shake256robust
564082675687956157264538
T:
sphincsf192harakarobust
581130545893696659714270
T:
mqdss48
598010266042937560982507
T:
sphincsf256harakarobust
145460592145997939146717373
T:
rainbow3ccyclicc683248
145803265146082734146369702
T:
rainbow3ccompres683248
191624302194005180196103230
T:
mqdss64
341791843342444215345150281
T:
rainbow5ccompres963664
332382316343315451344800114
T:
rainbow5ccyclicc963664