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-A53 (410fd034); 2018 Broadcom BCM2837B0; 4 x 1400MHz; pi3bplus, supercop-20231107

[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

Cycles to generate a key pair
25%50%75%system
137501400014750picnic3l1
140001425017000picnicl1full
197502012523875picnicl3full
200002025024250picnic3l3
212502162525000picnicl1fs
220002237525500picnicl1ur
246252500028500
T:
picnic2l1fs
258752650030250picnic3l5
261252675030500picnicl5full
585005887560875picnicl3ur
585005900060625picnicl3fs
651256562567250
T:
picnic2l3fs
767507750080000picnicl5ur
770007875082500picnicl5fs
208500210250212625ed25519
374000376625389875
T:
ecdonaldp256
672250674500686125dilithium2
113950011496251154125dilithium3
134500013523751361125dilithium2aes
179262518037501806000dilithium5
193400019375001940125
T:
mqdss48
204887520503752065250
T:
donald1024
230037523067502320875
T:
ecdonaldp160
236450023685002377875dilithium3aes
278162527872502797125
T:
ecdonaldp192
2266625?3015375?4281125?
T:
qtesla1
343950034508753476125
T:
ecdonaldk163
354175035501253561000
T:
ecdonaldp224
357962535900003598000
T:
ecdonaldb163
397937539898754000250dilithium5aes
448175044855004489125
T:
mqdss64
475675047680004787500
T:
ecdonaldk233
498987550028755023500
T:
ecdonaldb233
4523125?6533625?8685000?
T:
qtesla3f
710575071197507157500
T:
donald2048
6687250?8932875?12947125?
T:
qtesla3s
926750092812509313250
T:
ecdonaldk283
100423751005112510072500
T:
ecdonaldb283
104977501051062510533500
T:
ecdonaldp384
10430375?11763875?14444500?
T:
qtesla1p
135036251351625013523750
T:
sphincsf128shake256simple
158723751588550015913500
T:
sphincsf128harakasimple
169801251698550017015250
T:
sphincs256
193051251933612519382125
T:
ecdonaldk409
197955001980450019833250
T:
sphincsf192shake256simple
213866252140875021434125
T:
ecdonaldb409
21886500?22151000?35317250?
T:
qtesla256
233873752339525023426875
T:
sphincsf192harakasimple
244653752449375024516750
T:
ecdonaldp521
252783752529087525322500
T:
sphincsf128shake256robust
280496252805937528089750
T:
sphincsf128harakarobust
373078753731900037349750
T:
sphincsf192shake256robust
404980004053187540580375
T:
ecdonaldk571
414730004148712541518250
T:
sphincsf192harakarobust
420952504213862542199125
T:
luov4849242
452525004529737545344875
T:
ecdonaldb571
42511750?47904125?55483750?
T:
falcon512tree
45259875?49600500?58275750?
T:
falcon512dyn
520907505210350052137625
T:
sphincsf256shake256simple
544803755454312554590750
T:
luov863256
48347125?56161000?64204375?
T:
qtesla3p
620535006207162562092750
T:
sphincsf256harakasimple
990926259911575099142625
T:
sphincsf256shake256robust
101115500101177750101230000
T:
rainbow1aclassic363232
106845250106881375106921875
T:
rainbow1acyclicc363232
106981125107026500107115750
T:
rainbow1acompres363232
110337375110366875110401625
T:
sphincsf256harakarobust
127345875134265000156419750
T:
falcon1024dyn
130064875137001000150735750
T:
falcon1024tree
138532500138753875138985750
T:
luov6468330
217813750218050125218359250
T:
luov890351
258578875258976625259173875
T:
luov8086399
387837500388105250388502500
T:
luov8117404
432509125432559250432643250
T:
sphincss128shake256simple
504487000504598625504684125
T:
sphincss128harakasimple
598314000598823500599500625
T:
redgemss128v2
634005750634287250634415375
T:
sphincss192shake256simple
809968125810409500810506250
T:
sphincss128shake256robust
834139000834239000834322375
T:
sphincss256shake256simple
838204625838399625838603125
T:
bluegemss128v2
883331875884549375886011000
T:
rainbow3cclassic683248
894218750894341125894443125
T:
sphincss128harakarobust
920473750920787500923627125
T:
sflashv2
958854875959621750960635875
T:
rainbow3ccyclicc683248
962139250962570125963221125
T:
rainbow3ccompres683248
991175875991255250991394750
T:
sphincss256harakasimple
233257562523340002502335701625
T:
rainbow5cclassic963664
255332837525548812502557168625
T:
rainbow5ccyclicc963664
256230487525634898752564633500
T:
rainbow5ccompres963664
271973237527221221252728395625
T:
redgemss128
389119400039001115003907804750
T:
bluegemss128
842506887584269077508430845688
T:
redgemss256v2
105502556251055781650010568794375
T:
redgemss192
164505695001680129687517489646625
T:
pqrsa15
263560687502639072837526410187500
T:
redgemss256
Cycles to sign 59 bytes
25%50%75%system
216750218000221000ed25519
269250272375275125
T:
sflashv2
512750514000534750
T:
ecdonaldp256
630500633750648250
T:
rainbow1acyclicc363232
631375633750652750
T:
rainbow1aclassic363232
152400015331251542750
T:
donald1024
1323188?1792875?5978438?
T:
qtesla1
208025020910002103125
T:
falcon512dyn
244300024466252454625
T:
ecdonaldp160
294662529510002958500
T:
ecdonaldp192
1560125?2951750?4505500?dilithium2
359550036010003609250
T:
ecdonaldk163
374700037531253773000
T:
ecdonaldb163
375075037603753787125
T:
ecdonaldp224
2933875?3818750?4884625?dilithium2aes
428975043098754334875
T:
falcon1024dyn
442712544367504453125
T:
rainbow3cclassic683248
442700044382504449125
T:
rainbow3ccyclicc683248
2312125?4480750?9282625?
T:
qtesla3f
495787549729384985125
T:
ecdonaldk233
518775051956255200750
T:
ecdonaldb233
3128250?5292125?7464125?dilithium3
4630625?5848500?8052000?dilithium5
3512000?6216500?10646500?dilithium3aes
4452750?6258375?9598625?
T:
qtesla1p
4430375?7840250?12956875?
T:
qtesla3s
7042250?8723625?10174250?dilithium5aes
936100093881259408875
T:
rainbow5ccyclicc963664
937787593881259406875
T:
rainbow5cclassic963664
960387596092509634625
T:
ecdonaldk283
103658751037787510391688
T:
ecdonaldb283
110558751106431211076000
T:
ecdonaldp384
7488250?14720375?17900500?
T:
qtesla256
200146252004637520068000
T:
ecdonaldk409
15595875?21721062?37171250?
T:
qtesla3p
220248752207137522089375
T:
ecdonaldb409
258175002584850025864125
T:
ecdonaldp521
369522503697200036999500picnicl1full
418838754192275041955375
T:
ecdonaldk571
467700004680150046825250
T:
ecdonaldb571
683623756838825068448625
T:
mqdss48
786855007876256278834875
T:
rainbow1acompres363232
71447750?86820125?109463750?
T:
redgemss128
100987375101406625101649125
T:
luov4849242
102889750102958250103038750picnicl3fs
115150375115464000115509000picnicl5full
128254625128557250128650125
T:
luov890351
151795750151846875151911750picnicl3ur
174206062174252875174277438picnicl5fs
182655375182719000182808500picnic3l1
152917250?183038125?220074375?
T:
redgemss192
208104125208304750208692750
T:
mqdss64
217258375217357125217403750
T:
luov8117404
243422312243505875243563250picnicl5ur
187585250?244893625?283221625?
T:
redgemss256
321850625321907625322006250
T:
sphincs256
401191375401726875402584750
T:
luov6468330
412866750412946750413017375picnic3l3
426493250426812250427044250
T:
sphincsf128shake256simple
540623750540810375541010750
T:
sphincsf192shake256simple
584226000584496625584812750
T:
sphincsf128harakasimple
608183750608360625608652125
T:
pqrsa15
626375125627570000627658125
T:
rainbow3ccompres683248
664014625664180000664911500picnic3l5
681007125681360000681780625
T:
sphincsf192harakasimple
762781125763232000763743875
T:
sphincsf128shake256robust
983744375984626375985343625
T:
sphincsf128harakarobust
997135250997842625998293000
T:
sphincsf192shake256robust
119393662511943932501194719000
T:
sphincsf256shake256simple
120671362512071308751208329125
T:
sphincsf192harakarobust
146583225014660530001466431750
T:
picnic2l1fs
158823762515887167501592102000
T:
rainbow5ccompres963664
168031850016807647501681017875
T:
sphincsf256harakasimple
219691875021977616252198577875
T:
sphincsf256shake256robust
290988612529104662502911436500
T:
sphincsf256harakarobust
3398131375?4061216125?4752919750?
T:
bluegemss128
409024262540913568754091896125
T:
picnic2l3fs
642437175064250262506426937250
T:
sphincss128shake256simple
7332927875?9151979500?12787820000?
T:
bluegemss128v2
936925887593706555009371213125
T:
sphincss128harakasimple
995542237599561143759959820375
T:
sphincss256shake256simple
112987380001129917937511299483375
T:
sphincss128shake256robust
134180942501342161875013424621125
T:
sphincss192shake256simple
149272758751492778912514931174625
T:
sphincss256harakasimple
155268607501552757900015528397250
T:
sphincss128harakarobust
Cycles to verify 59 bytes
25%50%75%system
126750131125134500
T:
rainbow1aclassic363232
196875199500202000
T:
falcon512dyn
387375389375392375
T:
qtesla1
402750404750408250
T:
falcon1024dyn
452375455125461500
T:
sflashv2
602000605062609875ed25519
764250783000809625
T:
bluegemss128v2
827250830125839250dilithium2
819000851875879500
T:
rainbow3cclassic683248
920125924250937250
T:
qtesla3s
930375937875945125
T:
qtesla3f
9920009965001010875
T:
ecdonaldp256
123962512527501262000
T:
donald1024
128825012990001302500dilithium3
138975014006251407000dilithium2aes
165575016892501710625
T:
rainbow5cclassic963664
204675020485002051250dilithium5
225387522611252264875
T:
qtesla1p
235375023620002370875dilithium3aes
242050024388752455875
T:
ecdonaldp160
283962528486252867000
T:
ecdonaldp192
348637534990623525000
T:
ecdonaldp224
396662540171254041750
T:
sphincs256
402887540410624049625dilithium5aes
461675046246254628000
T:
qtesla256
690787569158756932000
T:
ecdonaldk163
721050072212507232750
T:
ecdonaldb163
704600072606257482750
T:
sphincss128shake256simple
906750090914389114625
T:
ecdonaldp384
959312595984389633875
T:
ecdonaldk233
963200096563129684000
T:
qtesla3p
9743375991675010135250
T:
sphincss128harakasimple
100645001007687510096500
T:
ecdonaldb233
104063751053412510743250
T:
sphincss192shake256simple
135672501370675013889750
T:
sphincss256shake256simple
135320001393375014188750
T:
sphincss128shake256robust
169995001728375017512875
T:
sphincsf128shake256simple
175090001788062518348500
T:
sphincss128harakarobust
187840001881262518851875
T:
ecdonaldk283
200786252012587520207125
T:
ecdonaldp521
203117502034237520375375
T:
ecdonaldb283
202867502052237520812375
T:
sphincss256harakasimple
225968752287662523208000
T:
sphincsf128harakasimple
268377502685075026882250picnicl1full
273498752751075027785500
T:
sphincsf192shake256simple
274777502778150028126000
T:
sphincsf256shake256simple
331078753353000033987125
T:
sphincsf128shake256robust
352113753554075036082250
T:
sphincsf192harakasimple
378891253820437538508000
T:
sphincsf256harakasimple
393013753934768839382750
T:
ecdonaldk409
407202504134162542132250
T:
sphincsf128harakarobust
434012504342250043459250
T:
ecdonaldb409
490687504960400050273375
T:
mqdss48
536203755364962553676000
T:
rainbow1acyclicc363232
537546255377231253787750
T:
rainbow1acompres363232
531745005378625054238250
T:
sphincsf192shake256robust
537352505471475055274625
T:
sphincsf256shake256robust
651025006605437566627625
T:
sphincsf192harakarobust
689908756970000070177000
T:
sphincsf256harakarobust
699482507001450070056500
T:
pqrsa15
716207507184762571927000
T:
luov4849242
817988758186475081927500picnicl3fs
824443758249962582538250
T:
ecdonaldk571
855446258585850085948250picnicl5full
873773758770012588141375
T:
bluegemss128
884223758862425088978375
T:
redgemss128
920807509212825092175125
T:
ecdonaldb571
111792250111861000111928625
T:
luov890351
118219750118255000118317250picnicl3ur
139498750139529375139565125picnicl5fs
151825500153310750154453250
T:
mqdss64
154422250154492250154614625picnic3l1
191848438191886125191939312picnicl5ur
197250500197406875197865125
T:
luov8117404
214075125214429375214987875
T:
luov6468330
226769875227375000230227000
T:
redgemss192
328163250328424125330085625
T:
rainbow3ccyclicc683248
329852500331853125331920875
T:
rainbow3ccompres683248
345414500345586500345668625picnic3l3
392729125393197375404566000
T:
redgemss256
530295875530600250530775625picnic3l5
734133750734570500736495250
T:
rainbow5ccyclicc963664
733899375735985875739799750
T:
rainbow5ccompres963664
833870875833993750834142750
T:
picnic2l1fs
190934475019097815001910285125
T:
picnic2l3fs