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

[Page version: 20241215 22:59:18]

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
115241161711710picnicl1full
114891167911871picnic3l1
141871421714345picnicl3full
157771595816175picnic3l3
164581676017025
T:
picnic2l1fs
173071743017519picnicl1ur
178611793418037picnicl1fs
207242082420989picnic3l5
207782087221039picnicl5full
394793950139596picnicl3fs
395953964939788picnicl3ur
401594024340372
T:
picnic2l3fs
510405115051666
T:
picnic2l5fs
539405400654112picnicl5fs
545635461154730picnicl5ur
975729778098088aimer128f
976889788798074aimer128s
132959133062133234ed25519
258344258477258823aimer192f
258704258918259003aimer192s
353274353649354219T!!!dilithium2
629234630025630705aimer256f
629487630800631713aimer256s
647292648248650119T!!!dilithium3
935499939422944055T!!!dilithium2aes
977994978641979645T!!!dilithium5
109864311006791103578
T:
mqdss48
888961?1496939?2558935?haetae2
171434617201711730513T!!!dilithium3aes
936015?1941310?3927182?haetae3
1495822?2042017?2858828?
T:
qtesla1
1007592?2048347?2967249?haetae5
254717325525762579261
T:
mqdss64
273008027610532792337
T:
donald2048
288679728928672918612T!!!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
142106891428379214295600
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
684396966858619768704336
T:
rainbow1aclassic363232
795399867961580879639930
T:
sphincsf256harakarobust
817112608222351882603328
T:
rainbow1acyclicc363232
863279568650801386706873
T:
rainbow1acompres363232
816427828743858295628522
T:
falcon1024tree
834349589133509796362993
T:
falcon1024dyn
964524969661984696747021
T:
luov6468330
149106432149227918149438455
T:
luov890351
175797888175992078176230702
T:
luov8086399
194276799194459832194732822mqsignlr2567246
218020685218158716218794038
T:
redgemss128v2
248163860248205982248268550mqsignrr2567246
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
663132970663498280663949570
T:
rainbow3cclassic683248
757711890757804191757941559
T:
sphincss256harakasimple
761980072762293668763852636
T:
rainbow3ccompres683248
804075879805161441805282949
T:
sphincss192shake256robust
820969866821155902821850510
T:
rainbow3ccyclicc683248
864153566864460163864839718mqsignlr25611272
953501451953593839953765565
T:
sphincss192harakarobust
105333562710535486841053973944
T:
sphincss256shake256robust
106730439010675028421067731878mqsignrr25611272
118918864411910401551195261952
T:
redgemss192v2
127050193212726221641272710078
T:
sphincss256harakarobust
147285529614786218621486799838
T:
redgemss128
170224387217044943781705481062
T:
bluegemss192v2
176035873017640312481767362780
T:
rainbow5cclassic963664
204563559620463903902048040672
T:
rainbow5ccompres963664
203843611020502607152051223254
T:
rainbow5ccyclicc963664
213630854021588363582171143444
T:
bluegemss128
236206168923691145162379981170mqsignlr25614896
284460098428462690782846799624mqsignrr25614896
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
137992138517138810ed25519
500050502158505441
T:
rainbow1aclassic363232
568262570605593326
T:
rainbow1acyclicc363232
923326933194947707
T:
falcon512tree
590127?1071094?1544018?
T:
qtesla1
640330?1159018?2202941?
T:
qtesla3f
711974?1225513?1906535?T!!!dilithium2
138562913906311425991mqsignlr2567246
149276315063691521161
T:
falcon512dyn
1397002?1835751?2716667?T!!!dilithium3
194347119673131994056
T:
falcon1024tree
1650680?2093766?3211317?T!!!dilithium2aes
224407622549192280515mqsignrr2567246
1557818?2301981?3240601?
T:
qtesla1p
1360997?2630105?4409983?
T:
qtesla3s
273242127734912789317
T:
donald2048
1631634?2786976?3901892?T!!!dilithium5
307678930971173114996
T:
falcon1024dyn
379285238497323864898
T:
rainbow3cclassic683248
3153261?3970535?5623655?T!!!dilithium3aes
1488957?4027032?10268684?haetae2
428199742941784370165
T:
rainbow3ccyclicc683248
435996943755374440679mqsignlr25611272
3570657?4433156?6073880?T!!!dilithium5aes
557042755996835656909aimer128f
688993669185096979977mqsignrr25611272
4182195?7997096?13544230?haetae3
805114881000728159424
T:
rainbow5ccyclicc963664
805634481222668169094
T:
rainbow5cclassic963664
5086557?9658890?25734446?haetae5
969406097608289789771mqsignlr25614896
7045148?9908113?13558578?
T:
qtesla3p
142283111442099714454215aimer192f
151951421521636215236824mqsignrr25614896
195055041952914619623635
T:
luov863256
224500312247693822491131picnicl1full
254986252551826825538742picnicl1fs
296446392985363330033534aimer256f
354995243550663335518349picnicl1ur
406353314076599341069446
T:
mqdss48
443324174438051544458963picnicl3full
439437544457057044850648aimer128s
41681517?48779883?56910701?
T:
redgemss128
514419785168583751896605
T:
rainbow1acompres363232
625475606257452062602222picnicl3fs
627106706286760563046189
T:
luov4849242
689158546936469069403632
T:
luov890351
704644107054927670615988picnicl5full
71231410?84657448?97091680?
T:
redgemss128v2
911948969123616891501822picnicl3ur
107320538107379909107424906picnicl5fs
108004072108104778108165450picnic3l1
111154092114213890114391236aimer192s
89990957?114487004?136191640?
T:
redgemss192
122541426122680113123017343
T:
luov8117404
125507000125782009126067132
T:
mqdss64
126560435?141052550?180360403?
T:
redgemss256
148708424148758730148829480picnicl5ur
203184693203707060206586466
T:
luov6468330
228111573228209366228482210aimer256s
245111308245622833245713738picnic3l3
225366028?267800701?319340801?
T:
redgemss192v2
269455192269610986270426418
T:
sphincs256
285948883286267936286481919
T:
sphincsf128shake256simple
340397068340865123341036579
T:
pqrsa15
363599158363831298364107179
T:
sphincsf192shake256simple
393604457394352856394973326picnic3l5
398873782400566758402378412
T:
luov8086399
444021711444291335444583548
T:
sphincsf128harakasimple
478316844478483426479251004
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
122563052212364999161238881710
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
102522103577104560
T:
rainbow1aclassic363232
103187104281105543
T:
falcon512tree
129137130229131030
T:
falcon512dyn
173570173939174579
T:
qtesla1
237055238456239844
T:
falcon1024tree
265551267134268132
T:
falcon1024dyn
284724285860286859haetae2
405430406499407283T!!!dilithium2
411389412674413679
T:
qtesla3f
416138419710420918ed25519
423148424227425179
T:
qtesla3s
431564446794488453
T:
gemss128v2
449596463715487504
T:
bluegemss128v2
447934465518477175
T:
redgemss128v2
465776466649467746haetae3
503076514027535456
T:
rainbow3cclassic683248
566440567108568297haetae5
646100646512646970T!!!dilithium3
907312910596914268T!!!dilithium2aes
957898962822967650
T:
qtesla1p
9595329875511014186
T:
redgemss192v2
105057310511321054526T!!!dilithium5
1036186?1067502?1434156?
T:
bluegemss192v2
103022810921621265323
T:
rainbow5cclassic963664
159190615960851603690T!!!dilithium3aes
262758226741482771668
T:
redgemss256v2
280455428169812829619T!!!dilithium5aes
285347228546282892106mqsignlr2567246
285258328728342887529mqsignrr2567246
290328130404273228680
T:
bluegemss256v2
320993832255053263998
T:
donald2048
336203433927093425726
T:
sphincs256
392878639565453976066
T:
qtesla3p
470955648259264939518
T:
sphincss128shake256simple
515509751759335186811aimer128f
667989566863486766974mqsignrr25611272
667825866907266769824mqsignlr25611272
699661071154317288806
T:
sphincss192shake256simple
763751177872097942216
T:
sphincss128harakasimple
912203092687869469207
T:
sphincss256shake256simple
920529795543059757604
T:
sphincss128shake256robust
113497891148040211590919
T:
sphincss192harakasimple
114213081163419811784294
T:
sphincsf128shake256simple
128696691305891813232738
T:
sphincss128harakarobust
132756711340047313479266aimer192f
136343851384032413998505
T:
sphincss192shake256robust
153882901541348115427452mqsignlr25614896
153921281541866015428764mqsignrr25614896
158632391607967016199648
T:
sphincss256harakasimple
166814241668762316703648picnicl1full
175048791772245617921889
T:
sphincsf128harakasimple
176957131772413317754699
T:
luov863256
175221841781113018103426
T:
sphincss256shake256robust
184196741863354718798739
T:
sphincsf192shake256simple
184761971865170018803567
T:
sphincsf256shake256simple
197489941977841919784834picnicl1fs
198023462002284020418434
T:
sphincss192harakarobust
226044152300307923253952
T:
sphincsf128shake256robust
273357382738914727426483picnicl1ur
274872942768879227824928
T:
sphincsf192harakasimple
274892002795298128325919
T:
sphincss256harakarobust
279937022810553328200798aimer256f
293424242964123830163475
T:
mqdss48
294279822970131229929034
T:
sphincsf256harakasimple
298596773013505330503899
T:
sphincsf128harakarobust
313392153156545932105696
T:
rainbow1acyclicc363232
316734933176372131776456
T:
rainbow1acompres363232
329198883296984633020777picnicl3full
352031823591139636219145
T:
sphincsf192shake256robust
357744093628491836598596
T:
sphincsf256shake256robust
402693724040415040482349
T:
pqrsa15
433464924366960344101893aimer128s
446843014470870844739373
T:
luov4849242
478203894813600848751438
T:
sphincsf192harakarobust
488060624905149449286088
T:
gemss128
501501175017734050245725picnicl3fs
506514695132562451685118
T:
sphincsf256harakarobust
513823645158037652146590
T:
bluegemss128
533400605336555253455115picnicl5full
546230925483158855115138
T:
redgemss128
637217866398210064079024
T:
luov890351
717651887184229971893636picnicl3ur
871164108716921287196368picnicl5fs
899820719004966690125216picnic3l1
916146999237435993441854
T:
mqdss64
111721554111830339111866178aimer192s
115238689116955552117478162
T:
luov8117404
118423662118498061118616188picnicl5ur
124031864124341867124631726
T:
luov6468330
134067360136538440144031770
T:
redgemss192
143575366147376069148932090
T:
bluegemss192
190433752190555862190678486
T:
rainbow3ccompres683248
192601216193135026195586965
T:
rainbow3ccyclicc683248
202323665202516524202610010picnic3l3
224116334224873852226370363aimer256s
227585059227985532228169515
T:
luov8086399
247808628249640506256871970
T:
bluegemss256
270776914272052316273339606
T:
redgemss256
311448574311741628311905164picnic3l5
429162983429372302430749576
T:
rainbow5ccompres963664
429267315437496660438186238
T:
rainbow5ccyclicc963664
485492086485650413485773520
T:
picnic2l1fs
111533322411163956511116941514
T:
picnic2l3fs
193926617819398698511940985261
T:
picnic2l5fs