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; Bobcat (500f10); 2011 AMD G-T56N; 2 x 1650MHz; h8bobcat, supercop-20240425

[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
159424?253431?254002?ed25519
779656?781518?1247829?dilithium2
689629?1100870?1104727?
T:
ed448goldilocks
169071916985471727361
T:
pass769
205329220679832103856
T:
pass863
2201179?2232410?3520258?dilithium5
1419114?2237882?2259817?dilithium3
2075522?3247913?3278958?dilithium2aes
351323735424173567516
T:
edons128k08n72nu8l4mu3
2691307?4275446?4295073?
T:
mqdss48
3124716?4913248?5008851?
T:
donald2048
3419900?5397316?5438683?dilithium3aes
5703652?5732471?9101299?dilithium5aes
6433562?6464365?10359641?
T:
edons128ref
4589473?6716144?10711573?
T:
qtesla1
6259702?9972725?9991021?
T:
mqdss64
8702157?13797791?20415851?
T:
qtesla3f
239482562398069324024778
T:
sphincs256
19406424?24553681?30963858?
T:
qtesla1p
19852051?28881026?40056769?
T:
qtesla3s
291694222920624929498659
T:
sphincsf192shake256simple
20352881?32223549?32436738?
T:
sphincsf128shake256simple
380679103808178138105906
T:
sphincsf192harakasimple
26562589?42492274?42524119?
T:
sphincsf128harakasimple
55053664?55080383?88153226?
T:
sphincsf192shake256robust
603637936039404661083708
T:
sphincsf128shake256robust
737872137382890473871529
T:
sphincsf128harakarobust
8044990089991552100335362
T:
falcon512tree
81980027?91631543?106394328?
T:
falcon512dyn
63800646?101612228?102700729?
T:
rainbowbinary256181212
65484170?104829916?104896501?
T:
sphincsf192harakarobust
120350332?121651015?189985750?
T:
rainbow1acyclicc363232
77157836?123463942?123542446?
T:
sphincsf256shake256simple
95053836?146376005?147618966?
T:
rainbow1aclassic363232
120142240?151268871?188957024?
T:
qtesla3p
101321708?162250025?162302518?
T:
sphincsf256harakasimple
161635836?172100086?248017288?
T:
falcon1024dyn
130647054?205503625?210771337?
T:
rainbow1acompres363232
232810862233024717235120326
T:
sphincsf256shake256robust
202674881?241579879?264291667?
T:
falcon1024tree
174603830?279544734?279615082?
T:
sphincsf256harakarobust
559671562?578342919?889822848?
T:
rainbow3cclassic683248
598076253?604472959?934406572?
T:
rainbow3ccompres683248
647289763647798949651100109
T:
rainbowbinary16242020
646131357?653163817?1034262169?
T:
sphincss128shake256simple
822458681?822766025?1317331170?
T:
sphincss128harakasimple
907467280?907568886?1453434502?
T:
sflashv2
9409422549413849201148575484
T:
sphincss192shake256simple
103272167810435779931045351880
T:
rainbow3ccyclicc683248
1214025658?1214899720?1941735657?
T:
sphincss192harakasimple
121918668912200583951222913354
T:
sphincss128shake256robust
161609264716190716241656760366
T:
sphincss256harakasimple
176336356117635408411828913295
T:
sphincss192shake256robust
1243223936?1970901042?1990141253?
T:
sphincss256shake256simple
1553205701?2097342356?2465952197?
T:
rainbow5cclassic963664
1591950834?2217217074?2532116125?
T:
rainbow5ccyclicc963664
2325995138?2328393931?3724049737?
T:
sphincss256shake256robust
235154383023517260072352941731
T:
sphincss128harakarobust
1600674095?2389582509?2541278913?
T:
rainbow5ccompres963664
Cycles to sign 59 bytes
25%50%75%system
84972?132910?134919?
T:
rainbowbinary256181212
177018?281120?282135?ed25519
348408352075356734
T:
rainbowbinary16242020
368913369887371283
T:
sflashv2
689567?978795?982024?
T:
rainbow1aclassic363232
707793?1136765?1137468?
T:
ed448goldilocks
144580014496621510177
T:
rainbow1acyclicc363232
2114990?2156975?4274326?
T:
pass769
1013336?2557618?4001424?
T:
qtesla1
275858227848112809877
T:
falcon512tree
2269536?4081062?6864292?dilithium2
2122637?4356410?7622367?
T:
qtesla3f
2948344?4539732?4612108?
T:
rainbow3cclassic683248
468090247091504731879
T:
falcon512dyn
3123258?4920378?4975635?
T:
donald2048
3941564?5066392?7441336?
T:
qtesla1p
2764927?5268586?10415088?
T:
pass863
3684247?5275854?9641346?dilithium3
3533027?5550684?5598711?
T:
falcon1024tree
4502819?5809259?8415451?dilithium2aes
583930358700265902944
T:
falcon1024dyn
4159223?6614252?6657547?
T:
edons128k08n72nu8l4mu3
3751232?7705916?13457482?
T:
qtesla3s
5075812?7710167?10374166?dilithium5
6464346?8599144?11624994?dilithium3aes
6259042?9842237?9897793?
T:
rainbow5cclassic963664
6358521?10027796?10079376?
T:
rainbow5ccyclicc963664
10991837?11033049?17576297?
T:
edons128ref
111062881112957711150240
T:
rainbow3ccyclicc683248
8998177?11791980?16909411?dilithium5aes
16859228?26748571?40006614?
T:
qtesla3p
78642292?124165442?126478872?
T:
rainbow1acompres363232
159347234?255009388?255416881?
T:
mqdss48
459054307459216914459485869
T:
sphincs256
542462270542589322544265051
T:
mqdss64
634852881?635799935?1016837340?
T:
sphincsf128shake256simple
471289309?718459659?722727924?
T:
rainbow3ccompres683248
110983693011104961351113074938
T:
sphincsf192harakasimple
1135912411?1137426854?1838421038?
T:
sphincsf128shake256robust
1127713959?1146474350?1771485434?
T:
rainbow5ccompres963664
1006701956?1275452453?1276743200?
T:
sphincsf192shake256simple
147070133114720091881549617979
T:
sphincsf192shake256robust
972377563?1554822250?1556311366?
T:
sphincsf128harakasimple
1765391907?1766356219?2324461743?
T:
sphincsf256shake256simple
1619216338?2589570824?2592411457?
T:
sphincsf128harakarobust
2752702620?2755341050?4307440391?
T:
sphincsf256harakasimple
1922720205?3075799828?3078495634?
T:
sphincsf192harakarobust
3224010236?3249953728?5158923614?
T:
sphincsf256shake256robust
4677066952?4680516834?7487987077?
T:
sphincsf256harakarobust
9573769400?10350755129?14259658094?
T:
sphincss128shake256simple
15334867600?15939971074?21356262428?
T:
sphincss128harakasimple
14878240158?16532109190?20516376467?
T:
sphincss256shake256simple
16999316112?19670595604?24264277365?
T:
sphincss128shake256robust
19914037190?22509829820?26773099624?
T:
sphincss192shake256simple
24452537074?26189665232?31598836721?
T:
sphincss256harakasimple
25541327148?30700512987?34519990305?
T:
sphincss128harakarobust
27689932952?31563474324?36088184888?
T:
sphincss256shake256robust
34344771469?40068305439?43537341005?
T:
sphincss192harakasimple
372254106364096666466545346990495
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
82602?124336?125666?
T:
rainbowbinary256181212
182652?257379?261378?
T:
rainbow1aclassic363232
259521265112270983
T:
rainbowbinary16242020
377031378266379506
T:
sflashv2
418694425078426892
T:
falcon512tree
445364?447806?710101?
T:
qtesla1
532361538184539795
T:
falcon512dyn
663337666895668824
T:
falcon1024dyn
838418?840256?1338873?
T:
qtesla3f
539662?858686?862424?
T:
falcon1024tree
547238?861057?870485?ed25519
901740?905298?1442708?dilithium2
1032930?1037191?1650274?
T:
qtesla3s
1137445?1636674?1645224?
T:
rainbow3cclassic683248
1220536?1929896?1949124?
T:
edons128k08n72nu8l4mu3
2145342?2161706?3414172?
T:
qtesla1p
1464966?2314965?2339024?dilithium3
2392675?2411157?3836798?dilithium5
2459422?2477291?3942063?
T:
edons128ref
264392626572402679798
T:
pass769
1977624?3141360?3173902?dilithium2aes
3200901?3214382?5114643?dilithium3aes
2194890?3494708?3509870?
T:
ed448goldilocks
357967135998543616921
T:
pass863
2639347?3784101?3833616?
T:
rainbow5cclassic963664
5603214?5621027?8937795?dilithium5aes
559217556654255733801
T:
sphincs256
3623058?5737269?5803997?
T:
donald2048
10248857?10287284?16314758?
T:
qtesla3p
106782521083711511013782
T:
sphincss128shake256simple
15603612?15887530?24678915?
T:
sphincss192shake256simple
158586591636887116776928
T:
sphincss128harakasimple
20618083?21101086?32514710?
T:
sphincss128shake256robust
238033992413555324565370
T:
sphincss192harakasimple
20841285?31966498?33160999?
T:
sphincss256shake256simple
336863453421303034482602
T:
sphincss256harakasimple
38299468?39328323?62001650?
T:
sphincsf128harakasimple
403578674121577441885794
T:
sphincsf128shake256simple
460168504718778347750078
T:
sphincss128harakarobust
30399834?47618526?48148878?
T:
sphincss192shake256robust
49503279?50580940?79918902?
T:
sphincsf128shake256robust
53839488?55081109?88850869?
T:
rainbow1acompres363232
578457285835059658789562
T:
sphincsf192harakasimple
39942969?61898680?63538332?
T:
sphincss256shake256robust
646322386514968466159416
T:
sphincsf192shake256simple
41204359?65274818?66788781?
T:
sphincsf256shake256simple
67403374?68918719?107452481?
T:
sphincsf128harakarobust
78634417?79765021?124945017?
T:
sphincsf192shake256robust
868345938814694791173790
T:
rainbow1acyclicc363232
80893730?90948839?128042739?
T:
sphincsf256shake256robust
64006578?99663208?100920566?
T:
sphincsf256harakasimple
106760658?167415323?169533689?
T:
sphincsf192harakarobust
113478545?177682176?179794297?
T:
sphincsf256harakarobust
117707579?186408549?189359310?
T:
mqdss48
405225278?410430785?645001431?
T:
mqdss64
348135490?526737152?532860985?
T:
rainbow3ccompres683248
536334560558225311561116811
T:
rainbow3ccyclicc683248
785589299?1192276263?1237015249?
T:
rainbow5ccyclicc963664
119834025112328228191241307292
T:
rainbow5ccompres963664