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; Sandy Bridge+AES (206a7); 2011 Intel Xeon E3-1225; 4 x 3100MHz; hydra7, supercop-20240625

[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
568957415865picnic3l1
585959196097picnicl1full
832383968476picnicl3full
837484398498picnic3l3
110701113811262picnic3l5
110921120911322picnicl5full
128951293113000picnicl1ur
129381300113111
T:
picnic2l1fs
129741302113085picnicl1fs
247422481424993
T:
picnic2l3fs
248112492925066picnicl3fs
249212496825094picnicl3ur
328373290933182picnicl5fs
328243292533129picnicl5ur
333293338833524
T:
picnic2l5fs
697536996370119ed25519
412957413642414274T!!!dilithium2
432800434577436633
T:
pass769
531436541423544789
T:
pass863
759853761087762493T!!!dilithium3
104876710524021059502T!!!dilithium2aes
111308011135201113893
T:
sphincsf128harakasimple
113114311318251133262T!!!dilithium5
127653412785751279101
T:
sphincsf128harakarobust
129973413023621304214
T:
mqdss48
135542313706711390280
T:
donald2048
1012720?1620063?2531793?haetae2
163560616371301639408
T:
sphincsf192harakasimple
177859517843611786944
T:
sphincsf192harakarobust
191990919236881927317T!!!dilithium3aes
1202516?2184763?5070270?haetae3
1820654?2389169?3023410?
T:
qtesla1
303118430341333036270
T:
mqdss64
321136832167523225567T!!!dilithium5aes
3678089?3690263?8857158?
T:
qtesla3f
376109237662563777002
T:
sphincsf256harakasimple
1388747?4011711?6232085?haetae5
461742346220034625895
T:
sphincsf256harakarobust
7374913?8524338?10787638?
T:
qtesla1p
7224859?8994234?14219648?
T:
qtesla3s
114902821149094311492448
T:
sphincsf128shake256simple
165533711662077316649126
T:
sphincs256
169764451698217516985560
T:
sphincsf192shake256simple
218942272190199821904683
T:
sphincsf128shake256robust
222087502224579422275952
T:
luov4849242
232342912330065623371808
T:
rainbow1acyclicc363232
234849062350566423939472
T:
rainbow1aclassic363232
238294662386388723904685
T:
rainbow1acompres363232
25545527?26950126?32879689?
T:
falcon512dyn
256148132697049830393747
T:
falcon512tree
302003473025787730280288
T:
luov863256
321795663218147032186895
T:
sphincsf192shake256robust
355168373551962435581803
T:
sphincss128harakasimple
410678424112856641146671
T:
sphincss128harakarobust
33124560?43070393?53077487?
T:
qtesla3p
445161104451909644526636
T:
sphincsf256shake256simple
518630985194590952052695
T:
sphincss192harakasimple
564087585658787456628605
T:
sphincss192harakarobust
677511066778589467867449
T:
sphincss256harakasimple
759255377600663576206023
T:
luov6468330
813075988132651381364495
T:
redgemss128
822443688227098682340765
T:
redgemss128v2
823912848247616082590898
T:
sphincss256harakarobust
797110088304899999569071
T:
falcon1024dyn
838998228395878884048662
T:
bluegemss128
850247718506853085141788
T:
sphincsf256shake256robust
850857408512130185153878
T:
gemss128
859372258598413086312459
T:
bluegemss128v2
863192068637653786413104
T:
gemss128v2
78597162?87410131?105448130?
T:
falcon1024tree
121992777122140395122287119
T:
luov890351
136775637136801779136828669mqsignlr2567246
139651313139768108140112454
T:
rainbow3cclassic683248
143691608143959515144154611
T:
rainbow3ccyclicc683248
144210666144336500145052833
T:
rainbow3ccompres683248
147758412148128893148458297
T:
luov8086399
190141237190179507190229381mqsignrr2567246
218464162218677480218873214
T:
luov8117404
361001120361205114361415973
T:
redgemss192v2
367768200367771146376098070
T:
sphincss128shake256simple
393984404396315558417594025
T:
rainbow5cclassic963664
408735339409022687425233727
T:
rainbow5ccyclicc963664
414531705414999612419578755
T:
rainbow5ccompres963664
414651929415038599415312599
T:
bluegemss192v2
428711436429778202430064254
T:
gemss192v2
500261423500346140500421876
T:
redgemss192
509965785510169094510410927mqsignlr25611272
536604531536675887537078730
T:
bluegemss192
543612311543680024544077577
T:
sphincss192shake256simple
558877730558930300559032595
T:
gemss192
700904541701150391701416163
T:
sphincss128shake256robust
709788789710219887710414048
T:
sphincss256shake256simple
711471232711572028711887309mqsignrr25611272
102971474010305522821031155167
T:
sphincss192shake256robust
107533220410757298131109117937
T:
redgemss256v2
111825156411218534211123908228
T:
bluegemss256v2
114565513111473885491147569045
T:
gemss256v2
130525935013058850181306229234mqsignlr25614896
135095363613509730501351456791
T:
sphincss256shake256robust
144897955314494864391454871713
T:
redgemss256
156642798815714796261572629826
T:
bluegemss256
162527684316259182221626669155
T:
gemss256
163377793716366466591638031983
T:
gravitysphincss
176834833017692785261782589989mqsignrr25614896
541529082955932208935687629924
T:
pqrsa15
260633245472606423987926070012315
T:
gravitysphincsl
520937054415210048538252156275455
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
780847829078806ed25519
145531146143147808
T:
rainbow1aclassic363232
161564162769165855
T:
rainbow1acyclicc363232
541166544338548238
T:
rainbow3ccyclicc683248
520192?546088?1059473?
T:
pass769
547275550697553146
T:
rainbow3cclassic683248
796198797656800892mqsignlr2567246
804466809708817339
T:
falcon512tree
392902?917403?1825304?
T:
qtesla1
125979312647861267998
T:
rainbow5cclassic963664
126709912704401273621
T:
rainbow5ccyclicc963664
126173212712421278454
T:
falcon512dyn
651977?1287796?1965933?
T:
pass863
134642713556031367624
T:
donald2048
140571314073331410572mqsignrr2567246
1090085?1450057?2049987?T!!!dilithium2
956982?1458711?2785713?
T:
qtesla3f
159984816147801630122
T:
falcon1024tree
1119559?1950313?3052310?
T:
qtesla1p
209724421009302113362mqsignlr25611272
1851268?2256031?2914183?T!!!dilithium2aes
255637825683322583753
T:
falcon1024dyn
1707246?2630757?3557784?T!!!dilithium3
2459883?3150811?5648403?T!!!dilithium5
330414433098223321797mqsignrr25611272
1943366?3606921?6936918?
T:
qtesla3s
2979748?3665396?5490071?T!!!dilithium3aes
435255843552914360765mqsignlr25614896
3350016?4813799?9176864?haetae3
3170427?5114454?7988494?haetae2
4761549?5735455?7535711?T!!!dilithium5aes
666944466742037099853mqsignrr25614896
690344869069046920293picnicl1full
4169107?7796982?13236249?haetae5
6751481?8250428?14234053?
T:
qtesla3p
955669995615079566769
T:
luov863256
7827827?9629933?11139463?
T:
redgemss128
103043781031142410315223picnicl1fs
8809098?10338805?12321050?
T:
redgemss128v2
125951451260244912612986picnicl1ur
130574561306461313070038picnicl3full
134243421344561713529328
T:
gravitysphincss
192684301927720119383477
T:
rainbow1acompres363232
218084472181512721885726picnicl5full
239212752401251124254771
T:
gravitysphincsm
251588732516687725181156picnicl3fs
24320347?28131845?33038946?
T:
redgemss192v2
285507872856329228580020
T:
gravitysphincsl
312012323122387431234178picnicl3ur
328867723290017132935071
T:
luov890351
345016913456194834604309picnic3l1
28717970?35256456?41629992?
T:
redgemss192
357354833574513535770043
T:
mqdss48
383427073841927638453124
T:
sphincsf128harakasimple
439102274394707744516791picnicl5fs
38343714?45453552?52633342?
T:
redgemss256v2
464129984649594746555401
T:
sphincsf128harakarobust
468276494687246247065954
T:
sphincsf192harakasimple
509751485099422951027338
T:
luov4849242
535405785356607853772389picnicl5ur
536920245373475453761696
T:
sphincsf192harakarobust
540700295409750154132121
T:
luov8117404
56231266?62854061?81466544?
T:
redgemss256
698056387006859570137270picnic3l3
949346229504527495150557
T:
sphincsf256harakasimple
107732976107754340107876727
T:
mqdss64
116200032116303502117089015picnic3l5
117144435117310187117487264
T:
rainbow3ccompres683248
123901768123999236124116640
T:
sphincsf256harakarobust
156494656156606648156734539
T:
luov6468330
178585175178645575178682312
T:
pqrsa15
292218687292517426292963076
T:
rainbow5ccompres963664
309124731309191476309643867
T:
sphincs256
316798815316991351317234719
T:
luov8086399
351410996351636035351815446
T:
picnic2l1fs
362862435363097788363352335
T:
sphincsf128shake256simple
310161077?366378744?434611450?
T:
bluegemss128
316783843?442860369?443800278?
T:
bluegemss128v2
463120639463404508463688549
T:
sphincsf192shake256simple
636623030636944872637088367
T:
sphincss128harakasimple
659734617660263128660873266
T:
sphincsf128shake256robust
784529633784639217784991315
T:
sphincss128harakarobust
859667610860107739860519992
T:
sphincsf192shake256robust
919673998919907575920035915
T:
sphincss256harakasimple
101961023010199237121020151896
T:
sphincsf256shake256simple
708212915?1058857543?1236879149?
T:
bluegemss192v2
106469074410652007231065702725
T:
picnic2l3fs
120187681412024699751202883854
T:
sphincss256harakarobust
136841872713701382971372322428
T:
sphincss192harakasimple
1220533974?1466374888?1712011615?
T:
bluegemss192
1401414627?1681529535?1961500930?
T:
bluegemss256v2
173896541317429659021743462587
T:
sphincss192harakarobust
188358298918846145121885643810
T:
sphincsf256shake256robust
227688340522775496352278571119
T:
picnic2l5fs
1961440028?2334606932?2744786495?
T:
gemss128
1983060643?2379822548?2778593976?
T:
gemss128v2
2158883072?2590362853?3023321374?
T:
bluegemss256
546966944354701057675576402646
T:
sphincss128shake256simple
5990470247?7188738777?9581761687?
T:
gemss192v2
6626121504?8280545671?11588710885?
T:
gemss192
847528023684762511398476746695
T:
sphincss256shake256simple
977489207897778044559781264529
T:
sphincss128shake256robust
115052975341150576027911538123625
T:
sphincss192shake256simple
9976757904?11965404177?13958190337?
T:
gemss256v2
154089771351541007533915417326609
T:
sphincss256shake256robust
18526631249?18538793520?24707758740?
T:
gemss256
199728546171997401117819983614193
T:
sphincss192shake256robust
Cycles to verify 59 bytes
25%50%75%system
492814987351109
T:
rainbow1aclassic363232
116333117515118599
T:
falcon512tree
117285119533124184
T:
gravitysphincss
137765139064140341
T:
falcon512dyn
176872177240177921
T:
qtesla1
226507228115238474ed25519
233962235785236884
T:
falcon1024tree
244662246602250068
T:
rainbow3cclassic683248
260870270877285339
T:
bluegemss128
278876280522282083
T:
falcon1024dyn
265010282132289596
T:
gemss128
272364283804292463
T:
gemss128v2
269999289432298286
T:
redgemss128
295358295778296156haetae2
290224298091306200
T:
redgemss128v2
303359313720318978
T:
bluegemss128v2
404482405123406040
T:
qtesla3s
408622409494409815
T:
qtesla3f
463362463719464176T!!!dilithium2
502844507422519248
T:
gravitysphincsm
511943512722513128haetae3
641420645112649184
T:
rainbow5cclassic963664
651164651692652126haetae5
631690652250662114
T:
gemss192
637810653413668352
T:
redgemss192v2
657595660436663780
T:
pass769
650326663418691863
T:
bluegemss192
671039680598690296
T:
gravitysphincsl
671300688970702933
T:
redgemss192
678945691279715633
T:
bluegemss192v2
683344694074710343
T:
gemss192v2
708206728061743706
T:
sphincss128harakasimple
757884758349759025T!!!dilithium3
797082802139830738
T:
pass863
978798981084984100
T:
qtesla1p
103052010346301041723T!!!dilithium2aes
103251510585591073663
T:
sphincss128harakarobust
108414610972461119090
T:
sphincss192harakasimple
119061311913681191970T!!!dilithium5
129189212951931300190mqsignrr2567246
131119313148221316689mqsignlr2567246
129623813159501348689
T:
gemss256v2
129964513258531347954
T:
bluegemss256v2
131288013496071385419
T:
redgemss256v2
135132013756801398551
T:
gemss256
135024513822141413746
T:
bluegemss256
138878414021271422470
T:
redgemss256
141393614245591447802
T:
sphincss256harakasimple
158449715991161606219
T:
donald2048
159121416096511622560
T:
sphincss192harakarobust
166845516861241709107
T:
sphincsf128harakasimple
180419818079261811787T!!!dilithium3aes
219214522218622253582
T:
sphincss256harakarobust
242927924646902504369
T:
sphincsf128harakarobust
259586826137472652588
T:
sphincsf256harakasimple
272452727497102779473
T:
sphincsf192harakasimple
296156629665442976668mqsignrr25611272
296425429698292975773mqsignlr25611272
314877731554803160049T!!!dilithium5aes
387325339153223952751
T:
sphincs256
388939039225263941360
T:
sphincsf192harakarobust
395042739988984041920
T:
sphincsf256harakarobust
468328246940104701656
T:
qtesla3p
549703055075495530799picnicl1full
606297360672956070928mqsignrr25614896
597211661292226322076
T:
sphincss128shake256simple
621452562229276228473mqsignlr25614896
804351380453068053237
T:
luov863256
877797187948808826952picnicl1fs
897330690520899133292
T:
sphincss192shake256simple
106602301066831810678493picnicl3full
106912251071225210750618picnicl1ur
115535921171241911817032
T:
sphincss256shake256simple
118276371205495612271827
T:
sphincss128shake256robust
145180591478336015015172
T:
sphincsf128shake256simple
152967981532206715439881
T:
rainbow1acyclicc363232
153011341535206515536168
T:
rainbow1acompres363232
174517041761103017973777
T:
sphincss192shake256robust
179872361802590418114387picnicl5full
221614032217508622196205picnicl3fs
226190792299100523580228
T:
sphincss256shake256robust
233133912358151623816044
T:
sphincsf192shake256simple
234598642373333923925911
T:
sphincsf256shake256simple
242661552428698324306522
T:
pqrsa15
254553342570758025876521
T:
mqdss48
270940942710808227128303picnicl3ur
275851392762598427764817picnic3l1
283600102838142628397255
T:
luov890351
286860692914531029728353
T:
sphincsf128shake256robust
358281903585713635879318
T:
luov4849242
385153313854509138566374picnicl5fs
457134544614816646544790
T:
sphincsf192shake256robust
460936914688896947528707
T:
sphincsf256shake256robust
470637564709470247136511picnicl5ur
470601664712951847159368
T:
luov8117404
572831545731468957349844picnic3l3
780096917893386379704529
T:
mqdss64
889013338904542189212029picnic3l5
920243049215331792223537
T:
rainbow3ccyclicc683248
922644589263285092837907
T:
rainbow3ccompres683248
929518699371357993789175
T:
luov6468330
137057190137223659137504993
T:
picnic2l1fs
174536848175009897175397502
T:
luov8086399
207737978208105933208592067
T:
rainbow5ccompres963664
208030823209031863224093594
T:
rainbow5ccyclicc963664
309121968309394564309793407
T:
picnic2l3fs
547334635547761246548126337
T:
picnic2l5fs