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 (206a7); 2011 Intel Core i3-2310M; 2 x 2100MHz; h6sandy, 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: 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
658166226747picnic3l1
662366526841picnicl1full
945694949596picnic3l3
947495449615picnicl3full
124461250212559picnic3l5
125001252912673picnicl5full
132211333513439
T:
picnic2l1fs
143861444914579picnicl1fs
143831445914577picnicl1ur
254572551425731
T:
picnic2l3fs
261972654526633picnicl3fs
264892658426819picnicl3ur
310103110031268
T:
lattisigns512
328403328033937
T:
picnic2l5fs
343013438134543picnicl5ur
344983476835692picnicl5fs
703957050171139ed25519
124263124596125484aimer128s
123889124714125666aimer128f
215099215394216007
T:
ed448goldilocks
292045292301293446aimer192f
287178294063302624
T:
hector
312944313087313760aimer192s
374416374830375210T!!!dilithium2
373643375577377176nccsign1
432559433991436481
T:
pass769
497029502097505086nccsign3
507928510099512340
T:
pass863
599679604282607952nccsign1aes
688458689640690689T!!!dilithium3
701531702310704139aimer256s
701162702430705285aimer256f
772164774901776441nccsign5
783787790357797345nccsign3aes
834286838614842587T!!!dilithium2aes
105527810560381057179T!!!dilithium5
112976411324801134016
T:
mqdss48
121660512203461229297nccsign5aes
135245413665541382301
T:
donald2048
859920?1436546?2640144?haetae2
151961815245611532745T!!!dilithium3aes
1147301?1861354?3539321?haetae5
1712513?2258037?3337107?
T:
qtesla1
253411125417692545440T!!!dilithium5aes
261865526208132624078
T:
mqdss64
1153914?2747566?4341040?haetae3
3911276?5743632?7586830?
T:
qtesla3f
5793104?7673286?11402546?
T:
qtesla3s
6942747?9062153?10139989?
T:
qtesla1p
959010195914389592996
T:
sphincsf128shake256simple
114944311149568311497600
T:
sphincsf128harakasimple
124734951248404512519183
T:
sphincs256
138917111393074113999950
T:
rainbowbinary256181212
141745961418344014184766
T:
sphincsf192shake256simple
169954131699734217105935
T:
sphincsf192harakasimple
181362051813878118141306
T:
sphincsf128shake256robust
200904022009446620124991
T:
sphincsf128harakarobust
229582022301916423073008
T:
luov4849242
249786172506521925278736
T:
rainbow1aclassic363232
259668392604572127508829
T:
rainbow1acompres363232
260616822610758626177571
T:
rainbow1acyclicc363232
268676372687089326880425
T:
sphincsf192shake256robust
24635241?27842526?33100216?
T:
falcon512tree
298184272982061029823608
T:
sphincsf192harakarobust
281484853090982034768887
T:
falcon512dyn
316740783171050931773763
T:
luov863256
376318243763669437683837
T:
sphincsf256shake256simple
445176414457413544718727
T:
sphincsf256harakasimple
38231117?52325910?59467889?
T:
qtesla3p
653579236565614566155868
T:
rainbowbinary16242020
701352057013995670154594
T:
sphincsf256shake256robust
733292447351828573692615
T:
luov6468330
742458597803183382476994
T:
falcon1024tree
789337347894355379681545
T:
sphincsf256harakarobust
813454468137331081516840
T:
redgemss128
839018038396812984023630
T:
bluegemss128
797923148461929195127858
T:
falcon1024dyn
851143088517056885217503
T:
gemss128
917851079180947291906792
T:
redgemss128v2
957052929574887995846707
T:
bluegemss128v2
965320739656235396696151
T:
gemss128v2
121294663121580242121767634
T:
luov890351
138980855139295860139479316
T:
luov8086399
154480798154649364154819379
T:
rainbow3cclassic683248
156282921156376300156430953mqsignlr2567246
158327160158403822158521337
T:
rainbow3ccompres683248
162854721168276161168679358
T:
rainbow3ccyclicc683248
201599434201968119202252022mqsignrr2567246
216200964216612878216916324
T:
luov8117404
308963452309067160309132588
T:
sphincss128shake256simple
364483594364917974365330822
T:
sphincss128harakasimple
426531851426997328454224471
T:
rainbow5cclassic963664
452325414452338047452414219
T:
sphincss192shake256simple
453113914454303512454957199
T:
rainbow5ccompres963664
459844086460208206460760223
T:
rainbow5ccyclicc963664
510835709511709903512519219
T:
redgemss192
524495803524949538527020529
T:
redgemss192v2
537449755537722717537731719
T:
sphincss192harakasimple
547333733547787133548194505
T:
bluegemss192v2
547665522548695356548855472
T:
bluegemss192
553667767554278797554489824
T:
gemss192v2
568678334568808675569877243
T:
gemss192
583432566583460002584572067
T:
sphincss128shake256robust
588920002589367191589616858mqsignlr25611272
593227777595201297607180343
T:
sphincss256shake256simple
637850866638287251638304502
T:
sphincss128harakarobust
714025215714043983714065249
T:
sphincss256harakasimple
769729487770910670773712520mqsignrr25611272
858496625858532693858863200
T:
sphincss192shake256robust
951133463951317731951402462
T:
sphincss192harakarobust
113519320311352236241135434075
T:
sphincss256shake256robust
125667785712567119871257682304
T:
sphincss256harakarobust
145237643814535664161454278358mqsignlr25614896
149814658415013100831576052864
T:
redgemss256v2
155139158215525637171554827355
T:
gemss256v2
156678062915702174701649884508
T:
redgemss256
172760641917283831461728912507
T:
gemss256
186994657718710924621872489384mqsignrr25614896
168310495619582622181966307150
T:
bluegemss256v2
168889813419604186111992177909
T:
bluegemss256
543307305855633407165762729425
T:
pqrsa15
850204054258504800185185057932367
T:
gravitysphincss
Cycles to sign 59 bytes
25%50%75%system
219572216622927
T:
rainbowbinary256181212
495395021351040
T:
rainbowbinary16242020
784087849178662ed25519
158953161019163421
T:
rainbow1acyclicc363232
160777161844164432
T:
rainbow1aclassic363232
225019225262225624
T:
ed448goldilocks
312014322050332081
T:
hector
172490?494549?893091?
T:
lattisigns512
300469?504470?899953?
T:
qtesla1
568574573129576486
T:
rainbow3cclassic683248
646455649804654680
T:
rainbow3ccyclicc683248
780210791520797468
T:
falcon512tree
873972?876526?1255468?nccsign1
945112946651949698mqsignlr2567246
673933?994659?1815171?
T:
qtesla3f
520530?1036399?1576225?
T:
pass769
615251?1220390?1849663?
T:
pass863
126514612742001280787
T:
falcon512dyn
129630113010941306832
T:
rainbow5cclassic963664
134530413606291370787
T:
donald2048
981094?1528054?2473684?T!!!dilithium2
1074631?1529950?2211266?nccsign3
153408815379051543134
T:
rainbow5ccyclicc963664
157732215878271594176
T:
falcon1024tree
165508916570081659120mqsignrr2567246
1146152?1685526?2126092?nccsign1aes
853107?1806923?2531079?
T:
qtesla1p
1851540?1858595?2850014?nccsign5
896853?2071808?3244840?
T:
qtesla3s
1445669?2090798?2755307?nccsign3aes
1503574?2178687?3059817?T!!!dilithium2aes
1521646?2252948?3906072?T!!!dilithium3
252124425248252531080mqsignlr25611272
256044825769002590737
T:
falcon1024dyn
2350432?2996047?4488326?T!!!dilithium3aes
2391558?3330927?3538494?nccsign5aes
2169620?3359800?4557701?T!!!dilithium5
2505859?3670713?8221772?haetae2
408489240880014094063mqsignrr25611272
3119680?4597703?6014255?T!!!dilithium5aes
529697053064305757575mqsignlr25614896
2138862?5581929?10747285?haetae3
5173476?5611913?9121633?
T:
qtesla3p
597093259733115976043aimer128f
725452972642297269680picnicl1full
805382280579228060835mqsignrr25614896
4807671?9110211?17466705?haetae5
919645992003719206508
T:
luov863256
7875624?9314017?11548002?
T:
redgemss128v2
9283437?9637310?12429378?
T:
redgemss128
106779341089694710931014picnicl1fs
127859051280870012997914picnicl1ur
141394051415767714171064picnicl3full
151045381512686115132123aimer192f
215390302184936622833347
T:
rainbow1acompres363232
234717132350235323510565picnicl5full
258572052589226325912695picnicl3fs
284449142845898228472462
T:
mqdss48
23558026?28750324?32089174?
T:
redgemss192v2
295999292960897029623540aimer256f
318396383186419232080051picnicl3ur
320381343205347532066429
T:
luov890351
332575653329726933324257picnic3l1
29758144?34446185?41683590?
T:
redgemss192
445088624455662244621960picnicl5fs
37940174?46348582?51950917?
T:
redgemss256v2
470971934750248247592785aimer128s
493794064941872949456009
T:
luov4849242
534453975346006753477841picnicl5ur
540522645406400254089510
T:
luov8117404
51391409?62606774?73709807?
T:
redgemss256
706089967098531171061272picnic3l3
814190248143260281584171
T:
mqdss64
117904506118277054118295603aimer192s
119034741119319342119591043picnic3l5
131294071131672232132063608
T:
rainbow3ccompres683248
157699066157746332157972398
T:
luov6468330
178518227178555821178598126
T:
pqrsa15
226629463226711783226841476aimer256s
232918661233169085233571168
T:
sphincs256
302229062302702663303161400
T:
picnic2l1fs
303100817303243459303488102
T:
sphincsf128shake256simple
318188949318597022319585880
T:
luov8086399
322242595322625338324165289
T:
rainbow5ccompres963664
280050906?336371604?447551341?
T:
bluegemss128v2
387180544387316466387602422
T:
sphincsf192shake256simple
428021769428217112428380165
T:
sphincsf128harakasimple
367298251?428259401?489176520?
T:
bluegemss128
496803728497306670497778365
T:
sphincsf192harakasimple
546183376546492457546843417
T:
sphincsf128shake256robust
558246229558552660566872257
T:
gravitysphincss
712927756713336766713812394
T:
sphincsf128harakarobust
718534149719065474719457609
T:
sphincsf192shake256robust
862548945862954443866735909
T:
sphincsf256shake256simple
871364103872119725872573921
T:
sphincsf192harakarobust
909987467910444620911045707
T:
picnic2l3fs
855984986?1027223877?1368161270?
T:
bluegemss192v2
121903059012194748601220110383
T:
sphincsf256harakasimple
1221107552?1464485465?1715529161?
T:
bluegemss192
155343859415541020191556088972
T:
sphincsf256shake256robust
1364850290?1637248106?1907653325?
T:
bluegemss256v2
192352611219248174901925997035
T:
picnic2l5fs
210773241921085745142119177677
T:
sphincsf256harakarobust
1790990761?2154076976?2865290854?
T:
gemss128v2
1960986512?2334455169?2723262455?
T:
gemss128
2158097841?2590209256?3451022898?
T:
bluegemss256
460826340946086104054609410746
T:
sphincss128shake256simple
578250880057856430916940987389
T:
gemss192v2
688732013068905159886899734540
T:
sphincss128harakasimple
709838849071464145117226465339
T:
sphincss256shake256simple
813568505781363834218136953992
T:
sphincss128shake256robust
962369327796242099139625351277
T:
sphincss192shake256simple
8278709656?9934886855?11595184523?
T:
gemss192
108939887941089716580210916334861
T:
sphincss256harakasimple
112635930351126560572411265900807
T:
sphincss128harakarobust
9716010088?11654449529?13602934193?
T:
gemss256v2
129390060921293941241412939965689
T:
sphincss256shake256robust
154078341041541037270515410886642
T:
sphincss192harakasimple
166220676261662802579916629354307
T:
sphincss192shake256robust
15439509154?18528596145?21623517690?
T:
gemss256
185879411871858843792818599268699
T:
sphincss256harakarobust
271757474382717626688727193105132
T:
sphincss192harakarobust
Cycles to verify 59 bytes
25%50%75%system
194491959919838
T:
rainbowbinary256181212
404174142441850
T:
rainbowbinary16242020
478904815948785
T:
lattisigns512
541235550256752
T:
rainbow1aclassic363232
114589116485117147
T:
falcon512tree
137954138747141558
T:
qtesla1
137303139112139964
T:
falcon512dyn
225914227379228324ed25519
237393238524239462
T:
falcon1024tree
271416271672272323haetae2
271422273794276915
T:
rainbow3cclassic683248
279068280315281666
T:
falcon1024dyn
282058292330303420
T:
gemss128
281128293028298379
T:
bluegemss128
293144293976294828
T:
qtesla3s
299394300130302742
T:
qtesla3f
296689304081313864
T:
redgemss128
293732305096321004
T:
redgemss128v2
309566319779327688
T:
gemss128v2
316244324098329243
T:
bluegemss128v2
422691423151423657T!!!dilithium2
489797490396491575haetae3
542978546064547166nccsign1
608556609285610095haetae5
655918658087662511
T:
pass769
674143678457683134
T:
rainbow5cclassic963664
681404681861682763T!!!dilithium3
686785689163691157nccsign3
682436696744714880
T:
gemss192
704788720202749610
T:
bluegemss192
721664723050724932
T:
ed448goldilocks
740532745022750018nccsign1aes
744514745834748753
T:
qtesla1p
724734751508833276
T:
redgemss192
759740762572765809
T:
pass863
759836770022800468
T:
redgemss192v2
755836771534788039
T:
bluegemss192v2
757958771753783500
T:
gemss192v2
803766807757811958T!!!dilithium2aes
948085953018966884nccsign3aes
112105511214101122290T!!!dilithium5
114123511428591146023nccsign5
126421112746481288285
T:
hector
140331014089351417285T!!!dilithium3aes
142899414525831493212
T:
gemss256v2
146704415106241534534
T:
redgemss256v2
153069515343651540503nccsign5aes
149848915392231562231
T:
gemss256
153755715618401593371
T:
bluegemss256
157342515996901611925
T:
donald2048
1570333?1618050?2373998?
T:
redgemss256
161202216710601716684
T:
bluegemss256v2
169125116932531696127mqsignlr2567246
169248416949761698169mqsignrr2567246
246556224699412474422T!!!dilithium5aes
285108229032362945370
T:
gravitysphincss
290457029376292990832
T:
sphincs256
350215335111443520662
T:
qtesla3p
429910743086254319388mqsignrr25611272
433072343407814347094mqsignlr25611272
501452351480665251853
T:
sphincss128shake256simple
556034355620055573599aimer128f
586008858829885903363picnicl1full
710810971967147307081
T:
sphincss128harakasimple
741527474183297419922
T:
luov863256
736013575546237692607
T:
sphincss192shake256simple
789696479043237982395mqsignrr25614896
792170179357897942347mqsignlr25614896
913812991488139164089picnicl1fs
960282797402349937518
T:
sphincss256shake256simple
9718860985199310105512
T:
sphincss128shake256robust
104152711049912010663639
T:
sphincss192harakasimple
109550991099824911031987picnicl1ur
116570001168921211700506picnicl3full
121245041237834312517458
T:
sphincsf128shake256simple
126604661292137313058330
T:
sphincss128harakarobust
141366801414726514155235aimer192f
145471951473819714988962
T:
sphincss192shake256robust
146231761484675214999265
T:
sphincss256harakasimple
163775341656919216782776
T:
sphincsf128harakasimple
174629841747378817634938
T:
rainbow1acyclicc363232
174168131773973918717714
T:
rainbow1acompres363232
190688821926797819631477
T:
sphincss256shake256robust
195333161956217419590470picnicl5full
195644671981003119932284
T:
sphincsf192shake256simple
197187891993818320263478
T:
sphincss192harakarobust
197568372000083420290054
T:
sphincsf256shake256simple
199289532006115020273125
T:
mqdss48
227020002274140622770765picnicl3fs
235688792394758724262314
T:
sphincsf128shake256robust
242716082430247024316922
T:
pqrsa15
254913282571321825970205
T:
sphincsf192harakasimple
262850342630158426318694
T:
luov890351
268809502708134827483321
T:
sphincss256harakarobust
270718142728441327566087
T:
sphincsf256harakasimple
272689162729203127316647picnic3l1
276880172769908827732427aimer256f
276839982770980627749179picnicl3ur
295653742996122530180093
T:
sphincsf128harakarobust
339047283392540434069627
T:
luov4849242
381493483860325238999363
T:
sphincsf192shake256robust
382817123860453239155500
T:
sphincsf256shake256robust
394172473946491739506725picnicl5fs
444275614446541644523344
T:
luov8117404
466242984663711546727805aimer128s
473140414772093148461293
T:
sphincsf192harakarobust
477903984782892147852167picnicl5ur
500367725069503651131884
T:
sphincsf256harakarobust
566833685687794256962261picnic3l3
589629915950593860039756
T:
mqdss64
913982759159065492427743picnic3l5
924003269247106892536339
T:
luov6468330
105877848106529233107381385
T:
rainbow3ccompres683248
108207287114276375114648661
T:
rainbow3ccyclicc683248
116962721117247848117288759aimer192s
128781389129037750129166666
T:
picnic2l1fs
170037968170139635170344297
T:
luov8086399
224282144224446920225993763aimer256s
238982627239659063240250739
T:
rainbow5ccyclicc963664
238727777240440629241505008
T:
rainbow5ccompres963664
293362379293793744294961149
T:
picnic2l3fs
520052345520274443520536166
T:
picnic2l5fs