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; Ivy Bridge+AES (306a9); 2012 Intel Xeon E3-1275 V2; 4 x 3500MHz; hydra8, supercop-20241022

[Page version: 20241120 00:41:17]

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
599060166077picnicl1full
620562376402picnic3l1
885488988942picnic3l3
902392709470picnicl3full
112961146711690picnic3l5
117901188012091
T:
picnic2l1fs
115931234612684picnicl5full
124591252412635picnicl1ur
125011253812733picnicl1fs
229572323023769
T:
picnic2l3fs
238752396624100picnicl3fs
243682496825345picnicl3ur
297722983829956
T:
lattisigns512
300803025230928
T:
picnic2l5fs
322163256934588picnicl5ur
331263370834204picnicl5fs
653166544465926ed25519
109326109385109520aimer128f
118514118539118644aimer128s
208020208518208728
T:
ed448goldilocks
260701261643261913aimer192s
261073261649275773aimer192f
275082285036297289
T:
hector
349220349638350103T!!!dilithium2
358209360490362344nccsign1
430521431389433231
T:
pass769
459348463641466523nccsign3
542671545623547625
T:
pass863
579387584311589887nccsign1aes
647411648592649341T!!!dilithium3
651812652084653984aimer256s
651885652474654791aimer256f
733639737538742781nccsign5
764325764429764714
T:
sphincsf128harakasimple
759865765054772163nccsign3aes
780022783808787706T!!!dilithium2aes
934443934841936337
T:
sphincsf128harakarobust
100731510076971008165T!!!dilithium5
106367310662041068381
T:
mqdss48
113068811313981131853
T:
sphincsf192harakasimple
115199811597791165908nccsign5aes
630166?1344504?2246492?haetae2
133007413460681356835
T:
donald2048
138392413843891385312
T:
sphincsf192harakarobust
142648514295101437089T!!!dilithium3aes
1063696?1770815?3696855?haetae5
1569879?2070164?2610710?
T:
qtesla1
238502323884542395382T!!!dilithium5aes
246353724659932469674
T:
mqdss64
292862529294982930581
T:
sphincsf256harakasimple
1388013?3181045?5581434?haetae3
369997137006453705224
T:
sphincsf256harakarobust
3536929?5196822?6882184?
T:
qtesla3f
5270170?7027877?11983916?
T:
qtesla3s
6341096?7354007?9276597?
T:
qtesla1p
888502788912108898803
T:
sphincsf128shake256simple
124156141241844212420072
T:
sphincs256
129551951298874613032443
T:
rainbowbinary256181212
130739851307569713077175
T:
sphincsf192shake256simple
167826501678340916784331
T:
sphincsf128shake256robust
216424162165323421676814
T:
rainbow1aclassic363232
224433212246557822484327
T:
rainbow1acompres363232
225066862253963122610720
T:
luov4849242
224997442264462223384524
T:
rainbow1acyclicc363232
243859902439951324408167
T:
sphincss128harakasimple
232357682459535328380850
T:
falcon512tree
249431832501396925016891
T:
sphincsf192shake256robust
23125474?26005482?28913686?
T:
falcon512dyn
295578462956299529564513
T:
sphincss128harakarobust
310000463108323031150234
T:
luov863256
346502443465527334662063
T:
sphincsf256shake256simple
356446763564600535716390
T:
sphincss192harakasimple
443386234434397744408404
T:
sphincss192harakarobust
469615734698242546988840
T:
sphincss256harakasimple
41106865?47540915?60408933?
T:
qtesla3p
588896485889270858971308
T:
sphincss256harakarobust
626531146284385463387330
T:
rainbowbinary16242020
648078216483926064859978
T:
sphincsf256shake256robust
697348386985035769981713
T:
luov6468330
685883527284405080779337
T:
falcon1024tree
708628637656027284288202
T:
falcon1024dyn
767697827681420376847351
T:
redgemss128
801078948014356080186188
T:
bluegemss128
813012998133674181395250
T:
gemss128
876324638766506287698883
T:
redgemss128v2
925858459266427892769010
T:
bluegemss128v2
937793839381474993883438
T:
gemss128v2
115338177115532638115674281
T:
luov890351
132842686132935783133062139
T:
rainbow3ccompres683248
132630286133089685133634898
T:
rainbow3cclassic683248
135233737135958922137671131
T:
rainbow3ccyclicc683248
136254547136501192136736920
T:
luov8086399
139821072140100567140222100mqsignlr2567246
185401148185619445186096182mqsignrr2567246
204483279204745253204996747
T:
luov8117404
284853137285104939285138584
T:
sphincss128shake256simple
373907772374526634375248047
T:
rainbow5cclassic963664
389480316389996097395210481
T:
rainbow5ccyclicc963664
390544120394140875394576651
T:
rainbow5ccompres963664
420567506420695900420734861
T:
sphincss192shake256simple
456139354456363363456932218
T:
redgemss192
491733121492032318492235222
T:
redgemss192v2
495952778496295646497264513
T:
bluegemss192
512901640513267172513593778
T:
bluegemss192v2
519461321520028162520345926
T:
gemss192
522551807522814553523071403mqsignlr25611272
522415940522867091522977480
T:
gemss192v2
541630344541665886541989818
T:
sphincss128shake256robust
546746806547438231548159409
T:
sphincss256shake256simple
700593686700936433701274967mqsignrr25611272
795631234795666610795731792
T:
sphincss192shake256robust
104803543410480947511048151487
T:
sphincss256shake256robust
127837079312793262401285637232mqsignlr25614896
132553715813337541451335843363
T:
redgemss256
143526939714369471781443030466
T:
redgemss256v2
144255180714432597431458547990
T:
bluegemss256
149743769814985810321501051342
T:
bluegemss256v2
149903384114994019141499679503
T:
gemss256
150416156815049770301506350263
T:
gemss256v2
157795044115782151751580313065
T:
gravitysphincss
169536524516963863461696969514mqsignrr25614896
511812493252999743385421409707
T:
pqrsa15
252434550422524563798425246813869
T:
gravitysphincsl
504824211595048769556350501222564
T:
gravitysphincsm
Cycles to sign 59 bytes
25%50%75%system
210712122721669
T:
rainbowbinary256181212
430674346644228
T:
rainbowbinary16242020
731217319573275ed25519
139968141646143740
T:
rainbow1aclassic363232
140348142589145041
T:
rainbow1acyclicc363232
217220217885218135
T:
ed448goldilocks
300377310791322976
T:
hector
248463?407383?638907?
T:
lattisigns512
556776560700563912
T:
rainbow3cclassic683248
567174570175573691
T:
rainbow3ccyclicc683248
309255?586652?966580?
T:
qtesla1
749230752150760933
T:
falcon512tree
832630835436837816mqsignlr2567246
517161?1029727?1564995?
T:
pass769
414169?1038512?2260787?
T:
qtesla3f
1096693?1106967?1618103?nccsign1aes
116322211749971183185
T:
falcon512dyn
918265?1177054?1755369?T!!!dilithium2
834560?1185245?1537564?nccsign1
125699412600101262788
T:
rainbow5cclassic963664
127134012762151280510
T:
rainbow5ccyclicc963664
657562?1325835?1989950?
T:
pass863
132496313333361347684
T:
donald2048
1090350?1459317?2532320?T!!!dilithium2aes
147019814721141474278mqsignrr2567246
149452215001311514193
T:
falcon1024tree
1026354?1554678?2094248?nccsign3
1198189?1768436?2594022?
T:
qtesla1p
1387383?2010224?3185847?nccsign3aes
855927?2124028?3337576?
T:
qtesla3s
219634021993632202327mqsignlr25611272
2113097?2238336?2894351?T!!!dilithium5
1450090?2255044?3146145?T!!!dilithium3
2246708?2258046?3327351?nccsign5aes
236650823751422383027
T:
falcon1024dyn
1731969?2460122?3575485?nccsign5
2314768?3288727?4257249?T!!!dilithium3aes
354059135433333550523mqsignrr25611272
3583090?3704532?5628038?T!!!dilithium5aes
456054845643934569432mqsignlr25614896
538200953843055392052aimer128f
3397511?5525895?8701910?haetae2
3571523?6780597?8389904?haetae3
5077074?6784553?10066110?
T:
qtesla3p
689852069032796907783mqsignrr25614896
691103269248386933969picnicl1full
857692985801758584959
T:
luov863256
7256571?8809609?10358144?
T:
redgemss128
7468844?8868676?11124550?
T:
redgemss128v2
972520097364199740867picnicl1fs
118459151186388511885105picnicl1ur
6393311?12290146?22133379?haetae5
130587301306514313080238
T:
gravitysphincss
132679831328060813294849picnicl3full
135066871351482013547575aimer192f
181715281826220618646869
T:
rainbow1acompres363232
219192342194107021962314picnicl5full
234762322349765123538159
T:
gravitysphincsm
240115652403336224110452picnicl3fs
22777506?26299984?29807384?
T:
redgemss192v2
266984842670362626708717
T:
mqdss48
270982502711783227143109aimer256f
275230272754444627569096
T:
sphincsf128harakasimple
278530382793033027952767
T:
gravitysphincsl
297217162974490729761135
T:
luov890351
299392822994914829964381picnicl3ur
316748223172400132000791picnic3l1
332568773328901633312050
T:
sphincsf192harakasimple
28478174?34452800?45441707?
T:
redgemss192
347528753478276634842081
T:
sphincsf128harakarobust
411698634118394241198392picnicl5fs
425810214259381442616843aimer128s
426747874272694642774204
T:
sphincsf192harakarobust
37015642?45697777?56909672?
T:
redgemss256v2
475425794756484647595370
T:
luov4849242
485892204864668748695247
T:
luov8117404
494372364946593149494684picnicl5ur
52450868?61566247?71265708?
T:
redgemss256
673395806740425667608006picnic3l3
763645147639804576441104
T:
sphincsf256harakasimple
773201677733179077344542
T:
mqdss64
988581939891231798937098
T:
sphincsf256harakarobust
105063075105117231105161831aimer192s
109305202109349308109442282
T:
rainbow3ccompres683248
112636141112936120113049973picnic3l5
146726688147031205147069339
T:
luov6468330
168666604168722837168785633
T:
pqrsa15
208272832208435163210184329aimer256s
231106025231178580231341104
T:
sphincs256
272603409278235083278709457
T:
rainbow5ccompres963664
280861892281045436281192632
T:
sphincsf128shake256simple
281849731281933747282559899
T:
picnic2l1fs
297919592297971977298067266
T:
luov8086399
264520670?317183164?370069160?
T:
bluegemss128v2
287265600?345336933?402648294?
T:
bluegemss128
357206250357326667357563934
T:
sphincsf192shake256simple
465836127466349358466882283
T:
sphincss128harakasimple
505546114505779362506287698
T:
sphincsf128shake256robust
579743808579942639580296490
T:
sphincss128harakarobust
665859041666552168667724791
T:
sphincsf192shake256robust
667323101667655577667938452
T:
sphincss256harakasimple
794495674794623498794795354
T:
sphincsf256shake256simple
836916264837806662838377852
T:
picnic2l3fs
866968738867192164867398192
T:
sphincss256harakarobust
812090263?973972705?1298544917?
T:
bluegemss192v2
102273111710232181611023558039
T:
sphincss192harakasimple
139028718213904853661390743320
T:
sphincss192harakarobust
1182898165?1420187941?1892475598?
T:
bluegemss192
143603874214375608151438438179
T:
sphincsf256shake256robust
176390816117644443861770139842
T:
picnic2l5fs
1300324743?1818649608?1821505109?
T:
bluegemss256v2
1669455723?2002472452?2338916243?
T:
gemss128v2
1809512523?2172020724?2534173199?
T:
gemss128
2105488827?2526676005?2949982021?
T:
bluegemss256
425773161442596904184260267508
T:
sphincss128shake256simple
5453779860?5462026277?7634657272?
T:
gemss192v2
654092853365417064106574375391
T:
sphincss256shake256simple
753953870175416816657542747611
T:
sphincss128shake256robust
895670520689577850588960059590
T:
sphincss192shake256simple
7990329345?9589061593?11188281830?
T:
gemss192
9186311708?11014922867?12850495239?
T:
gemss256v2
119487517001194950358311952805326
T:
sphincss256shake256robust
154125609521541696082715417661605
T:
sphincss192shake256robust
14935660725?17917190359?20921312639?
T:
gemss256
Cycles to verify 59 bytes
25%50%75%system
190961916419310
T:
rainbowbinary256181212
348233524236050
T:
rainbowbinary16242020
440094538247373
T:
rainbow1aclassic363232
482714966950811
T:
lattisigns512
107844109375110196
T:
falcon512tree
114514117353120920
T:
gravitysphincss
128835129668130524
T:
falcon512dyn
132053132645133325
T:
qtesla1
212816214212216075ed25519
220958222052223873
T:
falcon1024tree
247425249379254460
T:
rainbow3cclassic683248
258177258398258881haetae2
259287260211261073
T:
falcon1024dyn
278306278729279407
T:
qtesla3s
275512284160296024
T:
redgemss128v2
283696284356285585
T:
qtesla3f
270534285288295975
T:
redgemss128
281138292925302799
T:
gemss128
272369294562314463
T:
bluegemss128
302434317947325344
T:
bluegemss128v2
311197323394331313
T:
gemss128v2
392996393238393501T!!!dilithium2
461272461930462401haetae3
492333497400508042
T:
gravitysphincsm
519965522190523624nccsign1
570729571224571932haetae5
583095596179618318
T:
sphincss128harakasimple
604684607961610981
T:
rainbow5cclassic963664
641035641295641709T!!!dilithium3
640534642541646629nccsign3
654881656774659355
T:
pass769
674572685570692567
T:
gravitysphincsl
695818697892698944
T:
ed448goldilocks
699455702198704135
T:
qtesla1p
697981710553731028
T:
gemss192
711069717608723088nccsign1aes
708280720922732596
T:
bluegemss192
726001739235757870
T:
redgemss192
728013749886761573
T:
bluegemss192v2
755037757630761952T!!!dilithium2aes
752071761636780550
T:
gemss192v2
760306774544785364
T:
redgemss192v2
813094815129818322
T:
pass863
885123898272908408
T:
sphincss192harakasimple
891695910603921471
T:
sphincss128harakarobust
907194911858919978nccsign3aes
106951610727971076990nccsign5
107614210770241077442T!!!dilithium5
118250411977711220159
T:
sphincss256harakasimple
118742012052101222166
T:
hector
132249113262201330646T!!!dilithium3aes
137290513967631408048
T:
sphincsf128harakasimple
144550014489951456319nccsign5aes
147434814767161479598mqsignlr2567246
148050414822041483334mqsignrr2567246
146553114957981537154
T:
gemss256
146626714968621519784
T:
sphincss192harakarobust
147133615113261527750
T:
gemss256v2
153227915487741582363
T:
redgemss256
155339315663571576289
T:
donald2048
152127615713081604633
T:
bluegemss256
153874515735501624122
T:
redgemss256v2
155458215838171620514
T:
bluegemss256v2
181557418450141869598
T:
sphincss256harakarobust
206774421042922128662
T:
sphincsf128harakarobust
217466921980752217710
T:
sphincsf192harakasimple
225778922783472302189
T:
sphincsf256harakasimple
232214723249202328464T!!!dilithium5aes
291974629459282993362
T:
sphincs256
335169733602293372200
T:
qtesla3p
346215534887983549417
T:
sphincsf256harakarobust
360053736562603685046
T:
sphincsf192harakarobust
376245637651253775567mqsignlr25611272
375954737712423796654mqsignrr25611272
461648547427404858763
T:
sphincss128shake256simple
503163650327845034097aimer128f
552842855424005558672picnicl1full
672562367411636744481mqsignrr25614896
674468667536236762743mqsignlr25614896
686180169507017074693
T:
sphincss192shake256simple
715590471588287160566
T:
luov863256
831470883221878340574picnicl1fs
889668290409069141251
T:
sphincss256shake256simple
901266891839859588303
T:
sphincss128shake256robust
100576811008178710113568picnicl1ur
108870991090649710918238picnicl3full
112474161141822911623920
T:
sphincsf128shake256simple
126555791265949812664965aimer192f
133653181354164613876801
T:
sphincss192shake256robust
141996591423194414975383
T:
rainbow1acyclicc363232
142346831432964214345658
T:
rainbow1acompres363232
174914341768179217832534
T:
sphincss256shake256robust
178589391813158218242232
T:
sphincsf192shake256simple
181088281813449518171004picnicl5full
183218741854183918684634
T:
sphincsf256shake256simple
188096981900484019340726
T:
mqdss48
210722922109945521119982picnicl3fs
217471922220457422437681
T:
sphincsf128shake256robust
227058552272343722736123
T:
pqrsa15
252882192535539725370284aimer256f
255427342556579625592728
T:
luov890351
259202062595001126035420picnicl3ur
258996802597455826027187picnic3l1
327385743274988232777234
T:
luov4849242
350555283545913835915281
T:
sphincsf256shake256robust
354217873582959136336077
T:
sphincsf192shake256robust
361325753615006136167699picnicl5fs
418519564186736441959248
T:
luov8117404
423671584244342442557873aimer128s
438875734394219444150202picnicl5ur
546995905475056154859863picnic3l3
556657095643634456840122
T:
mqdss64
857731468583862188084554
T:
rainbow3ccyclicc683248
858930578596838386044346
T:
rainbow3ccompres683248
868304978696142287025264picnic3l5
872201808738084487526945
T:
luov6468330
104523779104567059104581809aimer192s
123186511123353215123715078
T:
picnic2l1fs
159666577159755185159824223
T:
luov8086399
194259747194438472199500074
T:
rainbow5ccyclicc963664
195233092199470346201226431
T:
rainbow5ccompres963664
206369763206718788206796652aimer256s
278687641280139389280351030
T:
picnic2l3fs
494230525494383452494594604
T:
picnic2l5fs