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

[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
189651899419043picnicl1full
20826?20922?27281?picnic3l1
26797?27655?36204?picnicl3full
277892780927833picnic3l3
357783580235938
T:
picnic2l1fs
359293594536016picnicl1ur
360383607036133picnicl1fs
362593627137407picnicl5full
363723639339520picnic3l5
629936302863192
T:
picnic2l3fs
679036791367928picnicl3ur
679356796967986picnicl3fs
926349266293215picnicl5ur
927409276393428picnicl5fs
343337343362346831ed25519
115507511563841162132dilithium2
131293613154041318398
T:
ed448goldilocks
192633719283101931700dilithium3
209411021069592121283
T:
pass769
217674321844992206127dilithium2aes
258308325915722607780
T:
pass863
290904229138762937951
T:
mqdss48
304419030458523058227dilithium5
378876938018153816994dilithium3aes
4186021?4337554?6693454?
T:
qtesla1
637104563890456408775dilithium5aes
671005167251666740195
T:
mqdss64
7134179?7476193?10681442?
T:
qtesla3f
798276880591528179695
T:
donald2048
15025850?17185180?21262620?
T:
qtesla1p
196019041961012519669660
T:
sphincsf128shake256simple
12481999?20651263?31663005?
T:
qtesla3s
216138122163115921710449
T:
sphincsf128harakasimple
286008292863705628691330
T:
sphincsf192shake256simple
319960093204011532137971
T:
sphincsf192harakasimple
362347373631094136361204
T:
sphincsf128shake256robust
407365264080080340844091
T:
sphincsf128harakarobust
446884054482504344979278
T:
luov4849242
512908345145618151700300
T:
rainbowbinary256181212
538973405400895154294832
T:
sphincsf192shake256robust
599308785999761760306139
T:
sphincsf192harakarobust
633621586353092763813151
T:
luov863256
761404527621918376510117
T:
sphincsf256shake256simple
842579488438508784706583
T:
sphincsf256harakasimple
834420748702903394515541
T:
falcon512dyn
842334268933244497907948
T:
falcon512tree
77633506?89984859?113710385?
T:
qtesla3p
141954798142230774142466834
T:
sphincsf256shake256robust
155519273155850669156318697
T:
luov6468330
159060300159409196159605485
T:
sphincsf256harakarobust
236940105238157769243810000
T:
rainbowbinary16242020
241704659241941188242372599
T:
luov890351
246598201257572801271007985
T:
falcon1024dyn
250592339260326579286865613
T:
falcon1024tree
284609421284936377285211014
T:
luov8086399
435633982436240465436938122
T:
luov8117404
502491872502890444503747931
T:
redgemss128v2
629912732630170687630754230
T:
sphincss128shake256simple
674677279675268532675889831
T:
bluegemss128v2
690039528?691496276?1081400487?
T:
sphincss128harakasimple
918380851918881655919571100
T:
sphincss192shake256simple
116447034211647016491165847088
T:
sphincss128shake256robust
121686435612174421201218123693
T:
sphincss256shake256simple
129833999412991517251299748375
T:
sphincss128harakarobust
135290204213538372791355430607
T:
sphincss256harakasimple
226609538422669322032268930321
T:
sphincss256shake256robust
248312181524844302052487125459
T:
redgemss192v2
341201249234137367703420352091
T:
bluegemss192v2
694589786869506424236971497106
T:
redgemss256v2
Cycles to sign 59 bytes
25%50%75%system
691766976470232
T:
rainbowbinary256181212
145439147364153132
T:
rainbowbinary16242020
354464354561355624ed25519
134385813482491351436
T:
ed448goldilocks
170531417167931728950
T:
falcon512tree
2697014?2721034?5433475?
T:
pass769
326261232720613286008
T:
falcon512dyn
3328466?3414977?6641227?
T:
pass863
353734035562563575831
T:
falcon1024tree
3895109?5043194?6748057?dilithium2
2095580?6086798?9630434?
T:
qtesla1
5051988?6642700?8860282?dilithium2aes
678707268085846835653
T:
falcon1024dyn
3808567?7361910?10929130?
T:
qtesla3f
5621063?7673500?17793929?dilithium3
799576280493368086008
T:
donald2048
5121490?8587818?15730080?
T:
qtesla1p
8266143?11124771?13385267?dilithium5
7743405?11599932?15597654?dilithium3aes
6040563?12636418?19206966?
T:
qtesla3s
9426723?15045811?20776097?dilithium5aes
393681353947335439598492
T:
luov863256
421890554223388342285454picnicl1full
18413926?44819544?77988984?
T:
qtesla3p
496651684970259549839282picnicl1fs
686880956877591768953689picnicl1ur
814926538156421481830360picnicl3full
114800280114968325115282427picnicl3fs
126468855126881146127949005
T:
luov4849242
129556813129759079129988794picnicl5full
136105606136327935136676089
T:
luov890351
169502812169696763169854048picnicl3ur
144139815?177871452?231512062?
T:
redgemss128v2
177030897178095361178268347
T:
mqdss48
197617188197749758198087172picnicl5fs
210515984210611010210906584picnic3l1
241709450241961938242556422
T:
luov8117404
275057261275529780275874713picnicl5ur
472317873473093681473951450picnic3l3
491907898496398072498658302
T:
luov6468330
545627080546056329546254067
T:
mqdss64
460008554?555456326?709653608?
T:
redgemss192v2
621751506622356291623110223
T:
sphincsf128shake256simple
757043277757707829758840467picnic3l5
784286714784922762785742601
T:
sphincsf192shake256simple
806658624807299989808187483
T:
sphincsf128harakasimple
939785513940172879941048611
T:
sphincsf192harakasimple
973192044975371822978726897
T:
luov8086399
873187061?1021554316?1208525656?
T:
redgemss256v2
109679816910976714361098443099
T:
sphincsf128shake256robust
141293587214144028781415568211
T:
sphincsf128harakarobust
144145690314421292081443114082
T:
picnic2l1fs
144366196214447093051445973643
T:
sphincsf192shake256robust
173634220117379060871740402899
T:
sphincsf192harakarobust
174729089217481102081749141196
T:
sphincsf256shake256simple
230337681223043055882306141955
T:
sphincsf256harakasimple
315209257231530915563154788464
T:
sphincsf256shake256robust
383973423538419178893844199967
T:
picnic2l3fs
414755753641494866204153655721
T:
sphincsf256harakarobust
6398802458?7674692644?8950282021?
T:
bluegemss128v2
936086800193646131029374527474
T:
sphincss128shake256simple
129673361621297670113712987335577
T:
sphincss128harakasimple
145445153361454761986714560694660
T:
sphincss256shake256simple
162676864361627692374816284182074
T:
sphincss128shake256robust
195586536181956842622419583476503
T:
sphincss192shake256simple
205409453082054796052320566145708
T:
sphincss256harakasimple
221200389732213332784922151259026
T:
sphincss128harakarobust
20311444021?24369782373?32480352860?
T:
bluegemss192v2
258659033212587665277725884692102
T:
sphincss256shake256robust
Cycles to verify 59 bytes
25%50%75%system
685406892669211
T:
rainbowbinary256181212
111293113495115489
T:
rainbowbinary16242020
257235260502261410
T:
falcon512tree
321733325579327043
T:
falcon512dyn
522157523281525321
T:
falcon1024tree
655101658496660378
T:
falcon1024dyn
785896786618791355
T:
qtesla1
781260803752823685
T:
bluegemss128v2
790137825251844186
T:
redgemss128v2
127206312788671286400ed25519
140740914094071410722dilithium2
162748616316741636462
T:
qtesla3f
180098818036221810807
T:
qtesla3s
208047121306822173566
T:
bluegemss192v2
209524221678862208690
T:
redgemss192v2
219757321985122200487dilithium3
227072122799192290940dilithium2aes
325580032704953278459
T:
pass769
345294134537223457219dilithium5
381762438291773836362dilithium3aes
393055439432893954929
T:
pass863
395185940126394063249
T:
redgemss256v2
403988640480864053844
T:
qtesla1p
483200248491964864074
T:
ed448goldilocks
647934064981866514908dilithium5aes
930435793506009394517
T:
donald2048
101314511038895910587954
T:
sphincss128shake256simple
132443761354698913745366
T:
sphincss128harakasimple
150703981533524415471578
T:
sphincss192shake256simple
169602321699258817030598
T:
qtesla3p
194244011985731120288307
T:
sphincss128shake256robust
196363582009548320452132
T:
sphincss256shake256simple
248633452530922825762962
T:
sphincsf128shake256simple
250717152563846426022421
T:
sphincss128harakarobust
276266512795613228259566
T:
sphincss256harakasimple
306528213109507131435161
T:
sphincsf128harakasimple
310642693110462931178094picnicl1full
356252013566877435766634
T:
luov863256
381891043822397738282969picnicl1fs
377481333856932239267655
T:
sphincss256shake256robust
394823683983812940443167
T:
sphincsf192shake256simple
401848144065323441313650
T:
sphincsf256shake256simple
474255864800374548906425
T:
sphincsf128shake256robust
480539024849155048931932
T:
sphincsf192harakasimple
510682275186039352321839
T:
sphincsf256harakasimple
527806515287531653101209picnicl1ur
585065275920028159972182
T:
sphincsf128harakarobust
606472486070178460942763picnicl3full
762563477699550277986334
T:
sphincsf192shake256robust
772044447809974978680659
T:
sphincsf256shake256robust
860847038664638487056564
T:
luov4849242
904212749050468590790002picnicl3fs
932285469388623694793604
T:
sphincsf192harakarobust
975875819776464798409368picnicl5full
976338879880886299941042
T:
sphincsf256harakarobust
126166552126506691126790582
T:
luov890351
129213482130549793133558831
T:
mqdss48
132515943132737435133174981picnicl3ur
157671155157809519158017305picnicl5fs
179681204179826157180076820picnic3l1
224616110224725371225127659picnicl5ur
225187867225323622225898108
T:
luov8117404
272299861274468828278668174
T:
luov6468330
398002395398626273399226636picnic3l3
399724916403926526407807589
T:
mqdss64
496027942498012630501162139
T:
luov8086399
605800720606876815608254110picnic3l5
918326361918747585919228544
T:
picnic2l1fs
207851401520789745842079567134
T:
picnic2l3fs