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-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: (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
946995059623picnicl1full
951795919755picnic3l1
126541270113057picnicl3full
147521480414963picnic3l3
157381589016011
T:
picnic2l1fs
160121607416205picnic3l5
163451680817254picnicl1ur
169371700317199picnicl5full
176691780517963picnicl1fs
364353653836699picnicl3fs
368893694537077picnicl3ur
380333814438320
T:
picnic2l3fs
508955095751171picnicl5fs
510035109751306picnicl5ur
571615727957546
T:
picnic2l5fs
131589131900132090ed25519
352626353408354080dilithium2
648543650050651169dilithium3
859923864223870638dilithium2aes
976407976858978380dilithium5
109587510971701100290
T:
mqdss48
157280915780561588028dilithium3aes
1523159?1765153?2976268?
T:
qtesla1
254368625471142563211
T:
mqdss64
262884326386962663893dilithium5aes
272868627565442788522
T:
donald2048
2923095?4261412?4362093?
T:
qtesla3f
4606054?6039634?10348038?
T:
qtesla3s
7114779?8519375?9857005?
T:
qtesla1p
901825190392459222204
T:
sphincsf128shake256simple
120807041210155712120165
T:
sphincsf128harakasimple
134022481370461613711037
T:
sphincsf192shake256simple
153184501536367715380584
T:
sphincs256
172017941721077617419377
T:
sphincsf128shake256robust
178038061781363217837311
T:
sphincsf192harakasimple
201337322015464020165967
T:
sphincsf128harakarobust
254488112552051825809640
T:
sphincsf192shake256robust
297897452983347329844131
T:
sphincsf192harakarobust
327621373278953932815378
T:
luov4849242
28343110?33006692?38234493?
T:
falcon512dyn
28138726?33846771?39865990?
T:
falcon512tree
30354613?34482296?44868994?
T:
qtesla3p
355453663560778935710858
T:
sphincsf256shake256simple
441057644415730944215992
T:
luov863256
473623314739424047419913
T:
sphincsf256harakasimple
658399106616311766598694
T:
sphincsf256shake256robust
707577907086824871328505
T:
rainbow1aclassic363232
750926307516574775230934
T:
rainbow1acompres363232
794683607949106979517549
T:
sphincsf256harakarobust
839765108405729284304803
T:
rainbow1acyclicc363232
8502385390283996101885312
T:
falcon1024dyn
8715145994350147108143904
T:
falcon1024tree
958033899598734896222996
T:
luov6468330
148051182148231592148490034
T:
luov890351
175450699175660547175827849
T:
luov8086399
216991622218063748219180402
T:
redgemss128v2
266840346267142157267360437
T:
luov8117404
289920775290832673295617036
T:
sphincss128shake256simple
301636619303662228306675876
T:
bluegemss128v2
350029822351909451362456593
T:
sflashv2
355723700355963100356143724
T:
gemss128v2
383783533383882977384289558
T:
sphincss128harakasimple
438494167438605659440113288
T:
sphincss192shake256simple
549690379550676879558560630
T:
sphincss128shake256robust
556220657557365874568646450
T:
sphincss256shake256simple
567108731567153976567919844
T:
sphincss192harakasimple
642371426642412609642447826
T:
sphincss128harakarobust
678810562679330423680048141
T:
rainbow3cclassic683248
745224385746424030747797647
T:
rainbow3ccyclicc683248
745700040746888112747429711
T:
rainbow3ccompres683248
755898147756901119757049895
T:
sphincss256harakasimple
815001188816399407830365597
T:
sphincss192shake256robust
950012838950144917951778194
T:
sphincss192harakarobust
105148701510526696301052850770
T:
sphincss256shake256robust
118981970811905158751192202289
T:
redgemss192v2
126987341812701498781270732782
T:
sphincss256harakarobust
144878453414521769761456586399
T:
redgemss128
169994057517014651811705668810
T:
bluegemss192v2
179404257717945765331796194136
T:
rainbow5cclassic963664
199520227819957660981996992464
T:
rainbow5ccompres963664
207814971120871911562092320666
T:
bluegemss128
211469675421161530292117520583
T:
rainbow5ccyclicc963664
290093943629050059542911975706
T:
gemss128
326748672632786608183280639059
T:
redgemss256v2
446649761044814618074508554647
T:
bluegemss256v2
597566699360076890466075497364
T:
redgemss192
796356329579855400488071521098
T:
bluegemss192
939609912595964630699841688623
T:
pqrsa15
130925861851332240412313535162656
T:
redgemss256
174826198961758903469217828089676
T:
bluegemss256
Cycles to sign 59 bytes
25%50%75%system
136739137204137519ed25519
179423180750185320
T:
sflashv2
502817504305521608
T:
rainbow1aclassic363232
571730573561590152
T:
rainbow1acyclicc363232
919176932746940777
T:
falcon512tree
436355?939417?1371699?
T:
qtesla1
966416?1232135?1677569?dilithium2
949500?1444685?2495235?
T:
qtesla3f
149696815027451515468
T:
falcon512dyn
186398518749551892600
T:
falcon1024tree
1253656?1935637?2728598?dilithium2aes
1122424?2034594?4916900?
T:
qtesla3s
1613357?2139894?3483878?
T:
qtesla1p
1490156?2287415?3729623?dilithium3
274788527681612784225
T:
donald2048
307603730854043104709
T:
falcon1024dyn
2110090?3277890?4496371?dilithium5
2038367?3505672?5472102?dilithium3aes
378516338225663836443
T:
rainbow3ccyclicc683248
379468938273003844858
T:
rainbow3cclassic683248
3911483?4686261?6144461?dilithium5aes
802430480416318063295
T:
rainbow5cclassic963664
894186489564668972388
T:
rainbow5ccyclicc963664
4721199?11431635?16357924?
T:
qtesla3p
195163461965529219745117
T:
luov863256
218247212183630621895928picnicl1full
255230972554976625590493picnicl1fs
352021163524719035363595picnicl1ur
408698264097299740987450
T:
mqdss48
424021364249178242531834picnicl3full
523294145252573852674875
T:
rainbow1acompres363232
39676118?55184117?65128722?
T:
redgemss128
611175696115849161274401picnicl3fs
621534126230228262450021
T:
luov4849242
675988846764362567691327picnicl5full
697930836991566769959725
T:
luov890351
70910901?84166953?96795113?
T:
redgemss128v2
896818828974148489764677picnicl3ur
105235605105288919105366573picnicl5fs
106847674106911050107002360picnic3l1
88215603?108761254?131960331?
T:
redgemss192
121245472121394880121642464
T:
luov8117404
126345972126495300126863509
T:
mqdss64
146357646146458594146550740picnicl5ur
128043574?151985267?177252504?
T:
redgemss256
195627554196923172197313084
T:
luov6468330
242170024242266045242635158picnic3l3
221571401?266579409?313814734?
T:
redgemss192v2
272407284276882292279400467
T:
sphincs256
285564249285814054286063963
T:
sphincsf128shake256simple
339482707339625070339812203
T:
pqrsa15
366178442366800756367146423
T:
sphincsf192shake256simple
390881774391112660391222152picnic3l5
399307512400602721402701050
T:
luov8086399
443380239443709861444124702
T:
sphincsf128harakasimple
460956493461182974464891035
T:
rainbow3ccompres683248
391606924?465964375?555584332?
T:
redgemss256v2
517281055517575241517881124
T:
sphincsf192harakasimple
519601738520237993520810597
T:
sphincsf128shake256robust
681083836682315947682924998
T:
sphincsf192shake256robust
719727930720119999720906073
T:
sphincsf128harakarobust
797427324799244014813768742
T:
sphincsf256shake256simple
809138550809372418809656202
T:
picnic2l1fs
876248336876574451877135908
T:
sphincsf192harakarobust
118363073811844417941185322919
T:
rainbow5ccompres963664
128404197712846303781284904738
T:
sphincsf256harakasimple
145611547714574077801458241503
T:
sphincsf256shake256robust
1907570718?1920759906?2673636451?
T:
bluegemss128
213128433021318251222132214186
T:
sphincsf256harakarobust
220515924022066230802208826594
T:
picnic2l3fs
3105120042?3726194826?4353252109?
T:
bluegemss128v2
432707493943315421934342562488
T:
picnic2l5fs
433075957843326664644373382988
T:
sphincss128shake256simple
3800791880?5681003188?5693446336?
T:
bluegemss192
664364054266530497696653448802
T:
sphincss256shake256simple
5891301125?7052854720?8229266229?
T:
bluegemss256
710218187971026738627103036715
T:
sphincss128harakasimple
767012100776782506877681932436
T:
sphincss128shake256robust
905206151290689608229076733394
T:
sphincss192shake256simple
114155241821141627699611418970132
T:
sphincss256harakasimple
114319777191144094247011443320113
T:
sphincss128harakarobust
119916028411199302546412007436138
T:
sphincss256shake256robust
123394341351248902419614421599553
T:
bluegemss192v2
157395105271576708729715795030147
T:
sphincss192shake256robust
158733887841587826142815879701427
T:
sphincss192harakasimple
14748429970?17686813594?23684854844?
T:
gemss128
188977389791890872168618930725229
T:
sphincss256harakarobust
17854561668?21455540916?25035531960?
T:
bluegemss256v2
19862646164?23833964761?27808832507?
T:
gemss128v2
275674666662757392856027608209191
T:
sphincss192harakarobust
Cycles to verify 59 bytes
25%50%75%system
102349103214104257
T:
falcon512tree
103786104627105796
T:
rainbow1aclassic363232
128198129228129793
T:
falcon512dyn
173679173993174430
T:
qtesla1
193916196324222626
T:
sflashv2
209426211306212862
T:
falcon1024tree
264756265906267201
T:
falcon1024dyn
347217356989379112
T:
redgemss128v2
362288372475386484
T:
bluegemss128v2
405171405962406727dilithium2
409880411339430430
T:
qtesla3f
413272415203419119ed25519
423155423996424877
T:
qtesla3s
434302448819486247
T:
gemss128v2
528803538536595671
T:
rainbow3cclassic683248
646580647182648002dilithium3
831679835439838631dilithium2aes
938905942262946710
T:
qtesla1p
9663319861581026260
T:
redgemss192v2
105055210517691056390dilithium5
100890110607671180864
T:
rainbow5cclassic963664
1201332?1265509?1552871?
T:
bluegemss192v2
144966714531161460711dilithium3aes
255397625582742567610dilithium5aes
259338826402422733712
T:
redgemss256v2
269799628607753099423
T:
bluegemss256v2
321134332369823256896
T:
donald2048
336860433986113433505
T:
sphincs256
443472244457534472178
T:
qtesla3p
471183648254354964447
T:
sphincss128shake256simple
697387771200327218021
T:
sphincss192shake256simple
754561177441187906805
T:
sphincss128harakasimple
902582591455139298014
T:
sphincss256shake256simple
917672693281929509959
T:
sphincss128shake256robust
112670091142567111579495
T:
sphincss192harakasimple
114397521162996711804936
T:
sphincsf128shake256simple
130873571330109513472100
T:
sphincss128harakarobust
137252881389987314129936
T:
sphincss192shake256robust
159643761599061916031949picnicl1full
158349141612255016255335
T:
sphincss256harakasimple
176140681769369217713299
T:
luov863256
176065551775563818036487
T:
sphincsf128harakasimple
176519671782813818117001
T:
sphincss256shake256robust
184159771866423918896554
T:
sphincsf192shake256simple
185036951878981119088727
T:
sphincsf256shake256simple
196945811970966619725489picnicl1fs
197809942005810720316167
T:
sphincss192harakarobust
224111672277559123391517
T:
sphincsf128shake256robust
269972722704495127142587picnicl1ur
273284012764671127914348
T:
sphincss256harakarobust
274024482765292127881572
T:
sphincsf192harakasimple
292693432964120029981934
T:
sphincsf256harakasimple
293465782974087130144268
T:
mqdss48
295423173001388330580465
T:
sphincsf128harakarobust
313465153139200431436687picnicl3full
336988383386956034142497
T:
rainbow1acompres363232
337743773400184134067322
T:
rainbow1acyclicc363232
356785523636927036845723
T:
sphincsf256shake256robust
363375063663252337007458
T:
sphincsf192shake256robust
399397684002913040596078
T:
pqrsa15
446207644475612844792503
T:
luov4849242
478792474826651048621315
T:
sphincsf192harakarobust
483828454861842749152540
T:
gemss128
486967744877437048817099picnicl3fs
499958825009465650269830
T:
bluegemss128
504054865047825850538273picnicl5full
507097235123866251546599
T:
sphincsf256harakarobust
540973205432464854828594
T:
redgemss128
636242996411685364525197
T:
luov890351
700259867011683770199560picnicl3ur
848301638489438084978481picnicl5fs
894206268952157689559900picnic3l1
928028639351559594323154
T:
mqdss64
113109024113327623113618259
T:
luov8117404
115891934116002984116062503picnicl5ur
122331566122459843122546654
T:
luov6468330
140264940140714448141481374
T:
redgemss192
152796800154691962155319416
T:
bluegemss192
200329437200396703200502186picnic3l3
207590617208384569209952567
T:
rainbow3ccompres683248
207943528208765275210772940
T:
rainbow3ccyclicc683248
225704746226029903226172129
T:
luov8086399
260269840262149088263393650
T:
redgemss256
274352620276291036278164968
T:
bluegemss256
310310188310546260310951417picnic3l5
459061259461665877462805555
T:
rainbow5ccyclicc963664
462388726463066884463482275
T:
rainbow5ccompres963664
485441721486117006486279485
T:
picnic2l1fs
109894139111001750161102126464
T:
picnic2l3fs
195347278319572990171958278886
T:
picnic2l5fs