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: aarch64; Cortex-A72 (410fd083); 2019 Broadcom BCM2711; 4 x 1500MHz; pi4b, supercop-20240909

[Page version: 20241017 10:58:46]

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: (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
110161130811659picnic3l1
113231138611527picnicl1full
143431445814545picnicl3full
159231608716163picnic3l3
164581676017025
T:
picnic2l1fs
169091703217165picnicl1fs
176941778518038picnicl1ur
208622090621105picnic3l5
208732108621216picnicl5full
399113996440133picnicl3ur
397833998940093picnicl3fs
401594024340372
T:
picnic2l3fs
510405115051666
T:
picnic2l5fs
540465420154436picnicl5fs
546925479454995picnicl5ur
975179762097929aimer128f
975019768597834aimer128s
132284132573132755ed25519
258279258512258708aimer192f
258467258650258822aimer192s
352819353194353777T!!!dilithium2
629724630346631206aimer256f
630448631054631719aimer256s
665165666437668501T!!!dilithium3
934170937147948933T!!!dilithium2aes
977643978658979791T!!!dilithium5
109864311006791103578
T:
mqdss48
606361?1500988?2183065?haetae2
171068417167171728235T!!!dilithium3aes
1403998?1819499?3028662?haetae5
1317942?1940547?3070784?haetae3
1495822?2042017?2858828?
T:
qtesla1
254717325525762579261
T:
mqdss64
273008027610532792337
T:
donald2048
288539928962092923530T!!!dilithium5aes
2924707?3051630?4372346?
T:
qtesla3f
4503812?7315373?11515608?
T:
qtesla3s
6920146?7857894?9642652?
T:
qtesla1p
905483191198689128755
T:
sphincsf128shake256simple
121023461211338612139922
T:
sphincsf128harakasimple
133596701337686713698686
T:
sphincsf192shake256simple
142828511429237314300277
T:
sphincs256
171464601717980217185033
T:
sphincsf128shake256robust
178496921785608317863993
T:
sphincsf192harakasimple
201925942019778720203906
T:
sphincsf128harakarobust
251491582518303725255022
T:
sphincsf192shake256robust
298699362989190229908091
T:
sphincsf192harakarobust
28337584?32322742?37346175?
T:
falcon512dyn
326584003272800032765833
T:
luov4849242
348541483486743335366955
T:
sphincsf256shake256simple
29107667?34875438?43112724?
T:
falcon512tree
36469965?42582914?51869481?
T:
qtesla3p
438599484399243544065432
T:
luov863256
473662704739555647454016
T:
sphincsf256harakasimple
658463396585356066119959
T:
sphincsf256shake256robust
684987406868691168878826
T:
rainbow1aclassic363232
795399867961580879639930
T:
sphincsf256harakarobust
816030528190430682234934
T:
rainbow1acompres363232
819176698211593582336880
T:
rainbow1acyclicc363232
816427828743858295628522
T:
falcon1024tree
834349589133509796362993
T:
falcon1024dyn
964524969661984696747021
T:
luov6468330
149106432149227918149438455
T:
luov890351
175797888175992078176230702
T:
luov8086399
193997390194118572194223970mqsignlr2567246
218020685218158716218794038
T:
redgemss128v2
248148843248200958248249314mqsignrr2567246
288956975290815145290941750
T:
sphincss128shake256simple
303846026304885368305437533
T:
bluegemss128v2
303467398309281032309616764
T:
luov8117404
355817038356224701356919940
T:
gemss128v2
384187781384343830384693208
T:
sphincss128harakasimple
427082036427192258427252305
T:
sphincss192shake256simple
548911990549638913549711396
T:
sphincss128shake256robust
557626979557865881560621489
T:
sphincss256shake256simple
567372496567503359567653826
T:
sphincss192harakasimple
642737914643457866643579412
T:
sphincss128harakarobust
662402995664077362664924263
T:
rainbow3cclassic683248
757711890757804191757941559
T:
sphincss256harakasimple
761229320761905922762395782
T:
rainbow3ccyclicc683248
762764851765203577765475371
T:
rainbow3ccompres683248
804075879805161441805282949
T:
sphincss192shake256robust
864067608864402384865590892mqsignlr25611272
953501451953593839953765565
T:
sphincss192harakarobust
105333562710535486841053973944
T:
sphincss256shake256robust
106744165810677596041068182412mqsignrr25611272
118918864411910401551195261952
T:
redgemss192v2
127050193212726221641272710078
T:
sphincss256harakarobust
147285529614786218621486799838
T:
redgemss128
170224387217044943781705481062
T:
bluegemss192v2
176115857317631649811765768560
T:
rainbow5cclassic963664
203453294820359183452037757017
T:
rainbow5ccyclicc963664
204288444320438107412051379591
T:
rainbow5ccompres963664
213630854021588363582171143444
T:
bluegemss128
236255725623694316862369824728mqsignlr25614896
284492690428468524142850707666mqsignrr25614896
287345789828777611722883711866
T:
gemss128
329859682133167354793368572745
T:
redgemss256v2
448615092445173601604576358475
T:
bluegemss256v2
561716271556299053385641934336
T:
redgemss192
742614702574572115147542938678
T:
bluegemss192
929733488695491001179895631439
T:
pqrsa15
133381714281337660901113412379532
T:
redgemss256
179605139861805879760218209980182
T:
bluegemss256
Cycles to sign 59 bytes
25%50%75%system
137367137456137678ed25519
500854501674503084
T:
rainbow1aclassic363232
568388569524592437
T:
rainbow1acyclicc363232
923326933194947707
T:
falcon512tree
590127?1071094?1544018?
T:
qtesla1
640330?1159018?2202941?
T:
qtesla3f
970469?1286638?2008418?T!!!dilithium2
138312613872181417512mqsignlr2567246
149276315063691521161
T:
falcon512dyn
1299268?1738029?2459841?T!!!dilithium2aes
194347119673131994056
T:
falcon1024tree
224129722478502279586mqsignrr2567246
1557818?2301981?3240601?
T:
qtesla1p
1487609?2471775?3468896?T!!!dilithium3
1360997?2630105?4409983?
T:
qtesla3s
273242127734912789317
T:
donald2048
2230683?2853428?4155654?T!!!dilithium5
307678930971173114996
T:
falcon1024dyn
2729622?3357237?5006014?T!!!dilithium3aes
379108538222503837029
T:
rainbow3ccyclicc683248
379048538283183839567
T:
rainbow3cclassic683248
434833543737244436636mqsignlr25611272
3581289?4427985?6213822?T!!!dilithium5aes
554813855849235610663aimer128f
2708030?6365642?11441691?haetae2
687136268905086960200mqsignrr25611272
4140792?7867228?9862308?haetae3
799665480130588036822
T:
rainbow5cclassic963664
800807080168348043024
T:
rainbow5ccyclicc963664
5112324?9733629?16795741?haetae5
967961497482449772926mqsignlr25614896
7045148?9908113?13558578?
T:
qtesla3p
142999111443018114587870aimer192f
151622341518597015206188mqsignrr25614896
195055041952914619623635
T:
luov863256
223526082239862522473456picnicl1full
252923842530709125375826picnicl1fs
299248763003721730112615aimer256f
355725063560778735633697picnicl1ur
406353314076599341069446
T:
mqdss48
439065724410232444558610aimer128s
442392454429116744309872picnicl3full
41681517?48779883?56910701?
T:
redgemss128
509706585140300851671510
T:
rainbow1acompres363232
627106706286760563046189
T:
luov4849242
631883066325900463294323picnicl3fs
689158546936469069403632
T:
luov890351
702341387039396870503422picnicl5full
71231410?84657448?97091680?
T:
redgemss128v2
912427599159156691666475picnicl3ur
107344765107401171107476792picnicl5fs
107714686107926124111969986picnic3l1
110672236111532720112521277aimer192s
89990957?114487004?136191640?
T:
redgemss192
122541426122680113123017343
T:
luov8117404
125507000125782009126067132
T:
mqdss64
126560435?141052550?180360403?
T:
redgemss256
148520754148682206148737852picnicl5ur
203184693203707060206586466
T:
luov6468330
227422840229046892229220992aimer256s
244514464244595538245040419picnic3l3
225366028?267800701?319340801?
T:
redgemss192v2
268841476269366689269468313
T:
sphincs256
285948883286267936286481919
T:
sphincsf128shake256simple
340397068340865123341036579
T:
pqrsa15
363599158363831298364107179
T:
sphincsf192shake256simple
392153288392403302393466106picnic3l5
398873782400566758402378412
T:
luov8086399
444021711444291335444583548
T:
sphincsf128harakasimple
479012288479347545479648915
T:
rainbow3ccompres683248
395862048?480721632?557821148?
T:
redgemss256v2
517786549518102918518411369
T:
sphincsf128shake256robust
518074050518698182518987223
T:
sphincsf192harakasimple
671896348672186862674038527
T:
sphincsf192shake256robust
721423779721805142722096633
T:
sphincsf128harakarobust
798148723798374322801440558
T:
sphincsf256shake256simple
810154374810373352810579520
T:
picnic2l1fs
876202337876803258877152809
T:
sphincsf192harakarobust
122892865212357361041238553681
T:
rainbow5ccompres963664
128418459712846845721285188225
T:
sphincsf256harakasimple
145838113914596494751464267916
T:
sphincsf256shake256robust
213583715521382989782138817430
T:
sphincsf256harakarobust
220436397022050173802205470408
T:
picnic2l3fs
1956270415?2341288992?2741426967?
T:
bluegemss128
431473547343196257424320061935
T:
sphincss128shake256simple
3117278436?4358347915?4984424405?
T:
bluegemss128v2
437728102143787964314379621928
T:
picnic2l5fs
4848111758?5821358833?6786171960?
T:
bluegemss192
665800852366609731796666421317
T:
sphincss256shake256simple
711021662871210527197121611394
T:
sphincss128harakasimple
6078139897?7305557466?8511071906?
T:
bluegemss256
766949853776804174207684615175
T:
sphincss128shake256robust
901716728090182386829026481864
T:
sphincss192shake256simple
114144088791141507898411425698156
T:
sphincss256harakasimple
114421260001145984769811460346108
T:
sphincss128harakarobust
120024845361201214575112063996984
T:
sphincss256shake256robust
10255406919?12360646892?16494435762?
T:
bluegemss192v2
155585548951558113485515590614960
T:
sphincss192shake256robust
158647620721586581057015885951468
T:
sphincss192harakasimple
15047243687?18078702302?21113449432?
T:
gemss128
189334068941896405016518965548727
T:
sphincss256harakarobust
21372428768?21527873591?28510633430?
T:
bluegemss256v2
275982441742759989558027641053763
T:
sphincss192harakarobust
19905893321?27864673608?35907144471?
T:
gemss128v2
Cycles to verify 59 bytes
25%50%75%system
102449103050104212
T:
rainbow1aclassic363232
103187104281105543
T:
falcon512tree
129137130229131030
T:
falcon512dyn
173570173939174579
T:
qtesla1
237055238456239844
T:
falcon1024tree
265551267134268132
T:
falcon1024dyn
267159268053269639haetae2
405575407026412422T!!!dilithium2
411389412674413679
T:
qtesla3f
416594419020420831ed25519
423148424227425179
T:
qtesla3s
431564446794488453
T:
gemss128v2
449596463715487504
T:
bluegemss128v2
447934465518477175
T:
redgemss128v2
465029465705467389haetae3
543746553971572562
T:
rainbow3cclassic683248
566045567792570759haetae5
677945678518680272T!!!dilithium3
906341909687913840T!!!dilithium2aes
957898962822967650
T:
qtesla1p
9595329875511014186
T:
redgemss192v2
9802379973161017854
T:
rainbow5cclassic963664
105120910528441059743T!!!dilithium5
1036186?1067502?1434156?
T:
bluegemss192v2
158766915940551602226T!!!dilithium3aes
262758226741482771668
T:
redgemss256v2
281011328214012833600T!!!dilithium5aes
285243128614902885710mqsignrr2567246
285329928629802888511mqsignlr2567246
290328130404273228680
T:
bluegemss256v2
320993832255053263998
T:
donald2048
334775433959883439155
T:
sphincs256
392878639565453976066
T:
qtesla3p
470955648259264939518
T:
sphincss128shake256simple
515505451586425163025aimer128f
666585466752766741122mqsignrr25611272
666128766763296742101mqsignlr25611272
699661071154317288806
T:
sphincss192shake256simple
763751177872097942216
T:
sphincss128harakasimple
912203092687869469207
T:
sphincss256shake256simple
920529795543059757604
T:
sphincss128shake256robust
113497891148040211590919
T:
sphincss192harakasimple
114213081163419811784294
T:
sphincsf128shake256simple
128696691305891813232738
T:
sphincss128harakarobust
134856031351597213541431aimer192f
136343851384032413998505
T:
sphincss192shake256robust
153550741538494815395602mqsignlr25614896
153685861539665415427358mqsignrr25614896
158632391607967016199648
T:
sphincss256harakasimple
165632191657407516601174picnicl1full
175048791772245617921889
T:
sphincsf128harakasimple
176957131772413317754699
T:
luov863256
175221841781113018103426
T:
sphincss256shake256robust
184196741863354718798739
T:
sphincsf192shake256simple
184761971865170018803567
T:
sphincsf256shake256simple
196297251963912719647950picnicl1fs
198023462002284020418434
T:
sphincss192harakarobust
226044152300307923253952
T:
sphincsf128shake256robust
273483912737070227415084picnicl1ur
274872942768879227824928
T:
sphincsf192harakasimple
274892002795298128325919
T:
sphincss256harakarobust
278851462815100028410433aimer256f
293424242964123830163475
T:
mqdss48
294279822970131229929034
T:
sphincsf256harakasimple
298596773013505330503899
T:
sphincsf128harakarobust
315919033168107631741839
T:
rainbow1acompres363232
315049123174569331825177
T:
rainbow1acyclicc363232
328276963290998532963793picnicl3full
352031823591139636219145
T:
sphincsf192shake256robust
357744093628491836598596
T:
sphincsf256shake256robust
402693724040415040482349
T:
pqrsa15
435651174359223043806785aimer128s
446843014470870844739373
T:
luov4849242
478203894813600848751438
T:
sphincsf192harakarobust
488060624905149449286088
T:
gemss128
507232675081782550852609picnicl3fs
506514695132562451685118
T:
sphincsf256harakarobust
513823645158037652146590
T:
bluegemss128
533300795340638753548346picnicl5full
546230925483158855115138
T:
redgemss128
637217866398210064079024
T:
luov890351
719093747197966872098356picnicl3ur
869985378706027687108018picnicl5fs
898322718991814593312708picnic3l1
916146999237435993441854
T:
mqdss64
108658666110305026112975542aimer192s
115238689116955552117478162
T:
luov8117404
118358980118444214118500790picnicl5ur
124031864124341867124631726
T:
luov6468330
134067360136538440144031770
T:
redgemss192
143575366147376069148932090
T:
bluegemss192
190504575191881431192494971
T:
rainbow3ccyclicc683248
190877964191906472194464135
T:
rainbow3ccompres683248
201808728201935506202162248picnic3l3
227585059227985532228169515
T:
luov8086399
228362976228909885229804086aimer256s
247808628249640506256871970
T:
bluegemss256
270776914272052316273339606
T:
redgemss256
310365971310613172310929858picnic3l5
428856594429314276432045869
T:
rainbow5ccyclicc963664
429874448432195260435176898
T:
rainbow5ccompres963664
485492086485650413485773520
T:
picnic2l1fs
111533322411163956511116941514
T:
picnic2l3fs
193926617819398698511940985261
T:
picnic2l5fs