https://github.com/mupq/pqm4
Revision 12d5e56f1554339d9609b148782a920f86a8127e authored by rpls on 06 June 2021, 20:12:45 UTC, committed by GitHub on 06 June 2021, 20:12:45 UTC
* Adapt the PQM3 Multiplatform & Scheme Discovery to PQM4

* Add HAL support for CW308T-STM32F3

* Adapt platform interfaces

* Implement simplified platform running interface

* Simplify chipwhisperer interface

* Fix for systems without the GNU findutils

* Add the mps2-an386 platform, which is also supported by QEMU

* Speed up scheme search

* Skip scheme list generation if IMPLEMENTATION_PATH is given

* Optionally push all data/bss into the "flash" portion of the MPS2

The flash is actually just a RAM. The main purpose of the board here is stack
testing and this will allow us to use all 4MB of the "ram" memory region for
stack/heap.

* Implement stack size querying

* Don't capture stdin for QEMU platforms

* Fix argument parsing for benchmarks

* Add possibility to run QEMU benchmarks directly from make

* Fix scheme list generation

* Remove automatic call to git

* Add some comments for the scheme finding mechanism

* Add the possibility for scheme specific makefiles

* Clean up makefiles

* Generate a skiplist for each platform

* Move reusable buildsystem and interface code to mupq

* Move randombytes implementation to hal for testvector test

* Make all-in-one compilation the default

* Document the new platforms in the README.md

* Update mupq

* Add _sbrk wrapping to opencm3

* Update mupq

* adjust pqm4 to run multiple iterations in a single binary

* Always add LTO flag

* Update mupq

* Reorganize symmetric crypto sources

* Include HAL and crypto sources in AIO compilation

* Fix LTO compilation

* Use existing linker script if present

* Update mupq

* Don't use the nano libc (worse performance)

* Fix compilation for self-tests

* Quick-fix build error for bikel1 on mps2-an386 platform

* Update benchmarks

* Use full ram for some frodokem schemes

* Fix compilation on mps2-an386 platform

* Update skip_list.py

* switch to mupq master

Co-authored-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
1 parent 8274c41
Raw File
Tip revision: 12d5e56f1554339d9609b148782a920f86a8127e authored by rpls on 06 June 2021, 20:12:45 UTC
Multiplatform support (#174)
Tip revision: 12d5e56
benchmarks.csv
Speed Evaluation,,,,,,,,,,
Key Encapsulation Schemes,,,,,,,,,,
Scheme,Implementation,Key Generation [cycles] (mean),Key Generation [cycles] (min),Key Generation [cycles] (max),Encapsulation [cycles] (mean),Encapsulation [cycles] (min),Encapsulation [cycles] (max),Decapsulation [cycles] (mean),Decapsulation [cycles] (min),Decapsulation [cycles] (max)
bikel1 (100 executions),m4f,25066749,25044123,25093265,3396189,3371978,3421250,51312929,51288697,51338076
bikel1 (100 executions),opt,65551522,65536266,65569190,4962977,4944655,4989740,116657625,116639290,116684485
firesaber (100 executions),clean,3725054,3725018,3725082,4623783,4623773,4623821,5237480,5237439,5238455
firesaber (100 executions),m4f,1002347,1002345,1002379,1213957,1213954,1213990,1166787,1166785,1166820
frodokem640aes (100 executions),m4,48341743,48341710,48341749,47131691,47131687,47131697,46612335,46612315,46612355
frodokem640shake (100 executions),m4,77984424,77835411,77989050,78893964,78893939,78893977,78341812,78341788,78341829
frodokem640shake (100 executions),opt,90654791,90654775,90654814,104138444,104138419,104138534,103834288,103834251,103834338
hqc-rmrs-128 (100 executions),clean,2967262,2924920,3153007,5415022,5325331,5590378,7845462,7713583,8205411
kyber1024 (100 executions),clean,1637602,1635186,1649476,2010657,2008239,2022536,2148861,2146442,2160739
kyber1024 (100 executions),m4,1190374,1185257,1212514,1373614,1368598,1395660,1295290,1290241,1317336
kyber1024-90s (100 executions),clean,3002358,3000594,3017386,3278118,3276347,3293172,3511420,3509649,3526441
kyber1024-90s (100 executions),m4,1033049,1025556,1042122,1130066,1122527,1139198,1146844,1139305,1155976
kyber512 (100 executions),clean,631058,630445,643862,842478,841864,855281,936458,935844,949261
kyber512 (100 executions),m4,457126,456044,469630,551681,550598,564182,511970,510889,524473
kyber512-90s (100 executions),clean,944546,944075,944961,1114167,1113662,1114581,1259241,1258736,1259655
kyber512-90s (100 executions),m4,392855,388644,397231,445609,441398,449985,456990,452778,461365
kyber768 (100 executions),clean,1051021,1049570,1063275,1349400,1347982,1361620,1463791,1462338,1476010
kyber768 (100 executions),m4,744136,742205,768666,898630,896676,923151,838939,836985,863460
kyber768-90s (100 executions),clean,1811726,1810670,1827045,2034922,2033865,2050240,2222406,2221348,2237723
kyber768-90s (100 executions),m4,656589,652287,661063,735172,730870,739646,748573,744271,753047
lightsaber (100 executions),clean,1023162,1023162,1023163,1494462,1494456,1494495,1805694,1805691,1805725
lightsaber (100 executions),m4f,354975,354974,355009,485015,485013,485048,460240,460240,460273
ntruhps2048509 (100 executions),clean,54823343,54823152,54829202,1067060,1067057,1067094,2447633,2447627,2447663
ntruhps2048509 (100 executions),m4f,80183936,80183840,80183949,563396,563395,563429,536377,536376,536410
ntruhps2048677 (100 executions),clean,100624357,100624352,100624361,1802130,1802127,1802161,4306200,4306192,4306227
ntruhps2048677 (100 executions),m4f,143750608,143750584,143750627,820054,820053,820087,812608,812607,812640
ntruhps4096821 (100 executions),clean,151720967,151720960,151721001,2356823,2356819,2356853,5693678,5693667,5693701
ntruhps4096821 (100 executions),m4f,208835960,208835935,208835983,1027338,1027337,1027370,1031141,1031141,1031141
ntruhrss701 (100 executions),clean,109446895,109446874,109446914,1515007,1515004,1515038,4363878,4363870,4363905
ntruhrss701 (100 executions),m4f,149737679,149737647,149737686,375948,375947,375981,867921,867920,867953
ntrulpr653 (100 executions),clean,4261509,4261501,4261537,8150955,8150938,8150976,11601979,11601957,11601993
ntrulpr761 (100 executions),clean,5637773,5637760,5637796,10818648,10818629,10818663,15498314,15498285,15498320
ntrulpr761 (100 executions),m4f,739144,739143,739177,1296912,1296910,1296944,1389543,1389541,1389575
ntrulpr857 (100 executions),clean,7009661,7009648,7009684,13496232,13496205,13496243,19426765,19426759,19426795
saber (100 executions),clean,2136066,2136063,2136099,2808330,2808325,2808360,3279876,3279865,3280057
saber (100 executions),m4f,651611,651610,651643,827170,827169,827203,785427,785427,785460
sikep434 (3 executions),m4,48264607,48264586,48264619,78910673,78910650,78910687,84275488,84275487,84275490
sikep434 (3 executions),opt,642929598,642929525,642929648,1053016085,1053015970,1053016185,1123128815,1123128701,1123129014
sikep503 (3 executions),m4,67365114,67365114,67365114,110843233,110843213,110843246,117990911,117990909,117990915
sikep503 (3 executions),opt,973165635,973165466,973165731,1603575963,1603575924,1603576005,1705351483,1705351462,1705351501
sikep610 (3 executions),m4,119448800,119448799,119448802,219578087,219578076,219578110,220969907,220969906,220969909
sikep610 (3 executions),opt,1819890092,1819890048,1819890116,3348338910,3348338872,3348338953,3368186884,3368186866,3368186913
sikep751 (3 executions),m4,204602404,204602342,204602480,331863483,331863456,331863518,356346637,356346629,356346647
sikep751 (3 executions),opt,3288104083,3288104032,3288104117,5332588530,5332588502,5332588553,5727763554,5727763504,5727763632
sntrup653 (100 executions),clean,96225085,94338602,132067757,4060122,4060109,4060148,11723295,11723271,11723307
sntrup761 (100 executions),clean,122726200,122726184,122726227,5395673,5395662,5395697,15828804,15828773,15828809
sntrup761 (100 executions),m4f,10852491,10852451,10853295,703757,703757,703762,567159,567152,567187
sntrup857 (100 executions),clean,158419829,158419813,158419854,6742098,6742086,6742120,19267590,19267580,19267622
Signature Schemes,,,,,,,,,,
Scheme,Implementation,Key Generation [cycles] (mean),Key Generation [cycles] (min),Key Generation [cycles] (max),Sign [cycles] (mean),Sign [cycles] (min),Sign [cycles] (max),Verify [cycles] (mean),Verify [cycles] (min),Verify [cycles] (max)
dilithium2 (100 executions),clean,1976311,1934124,2022613,7465108,3241343,29601126,2109292,2108823,2109692
dilithium2 (100 executions),m4,1600049,1559631,1635473,3911523,2029960,10277114,1578382,1577841,1578755
dilithium2aes (100 executions),clean,5153665,5109045,5227715,12016668,6375642,28738015,4824282,4779372,4898600
dilithium3 (100 executions),clean,3414513,3413395,3416061,11722059,5037981,36169675,3499388,3498955,3499805
dilithium3 (100 executions),m4,2834440,2833207,2835702,7081175,3285236,25164695,2699909,2699582,2700229
dilithium3aes (100 executions),clean,9258325,9166749,9369734,19417325,10745071,60023085,8581938,8491758,8694807
falcon-1024 (100 executions),clean,582455197,338850289,1754663445,133655078,133335905,133985773,1526901,1526233,1527648
falcon-1024 (100 executions),m4-ct,458300837,273960881,1558842038,85160712,84941964,85410952,977811,966969,985555
falcon-1024 (100 executions),opt-ct,445577914,273960881,1180316927,85152483,84871257,85396462,978443,966990,985220
falcon-1024 (100 executions),opt-leaktime,396490108,245602676,1076623891,76089647,75695829,76600726,977058,967423,986715
falcon-512 (100 executions),clean,211957111,130945749,492061202,61138869,60832802,61335655,765394,764968,765937
falcon-512 (100 executions),m4-ct,163994060,102641420,517362211,39014427,38837777,39185566,473061,464925,482045
falcon-512 (100 executions),opt-ct,162462958,102641423,410657402,38998943,38805455,39227786,473858,464522,481541
falcon-512 (100 executions),opt-leaktime,154023655,90621912,416634647,35418669,35077960,35817105,475004,464624,481707
falcon-512-tree (100 executions),m4-ct,200716259,117772104,550287458,17709471,17507110,17939069,474694,464292,480687
falcon-512-tree (100 executions),opt-ct,198586636,117772108,467465996,17714893,17510506,17952496,474203,464503,480655
falcon-512-tree (100 executions),opt-leaktime,165284792,102064281,409882849,19254787,18900271,19544577,474008,464495,480972
sphincs-haraka-128f-robust (3 executions),clean,105846270,105846258,105846293,2685388480,2682943233,2689929636,172472494,170143524,174335672
sphincs-haraka-128f-simple (3 executions),clean,73970415,73970405,73970435,1861103613,1860043188,1861756199,115058935,113100792,118730462
sphincs-haraka-128s-robust (3 executions),clean,6739168653,6739168651,6739168658,53499410785,53497780342,53500226027,66075544,65260377,67705852
sphincs-haraka-128s-simple (3 executions),clean,4697105419,4697105405,4697105438,36995658276,36993536693,36996963861,43745574,41950604,45132564
sphincs-haraka-192f-robust (3 executions),clean,157000403,157000390,157000427,4697019410,4694572079,4699117109,262491722,261093062,263540743
sphincs-haraka-192f-simple (3 executions),clean,108980946,108980889,108981056,3128988618,3127355454,3131520416,170287414,165632236,174942575
sphincs-haraka-192s-robust (3 executions),clean,10014008298,10014008278,10014008311,105056922735,105054757320,105058668316,103830928,103131652,104879871
sphincs-haraka-192s-simple (3 executions),clean,6937852288,6937852256,6937852314,68492226848,68491492011,68492717226,65344777,64446161,66896631
sphincs-haraka-256f-robust (3 executions),clean,419681954,419681954,419681956,9850397824,9848648639,9852147036,285552621,284619501,287068957
sphincs-haraka-256f-simple (3 executions),clean,289718169,289718158,289718188,6620999794,6618631102,6622306678,185282107,183157086,188551365
sphincs-haraka-256s-robust (3 executions),clean,6706134015,6706133996,6706134029,104498811219,104495079548,104502076680,155820204,152438629,158735384
sphincs-haraka-256s-simple (3 executions),clean,4625711696,4625711692,4625711700,68392331427,68392004226,68392739939,99503426,97951662,101626886
sphincs-sha256-128f-robust (3 executions),clean,30514763,30513199,30517857,750242822,749245139,751117282,43920038,42549739,45427596
sphincs-sha256-128f-simple (3 executions),clean,16112474,16112452,16112486,400443378,399872395,401227289,22548002,21220896,23344299
sphincs-sha256-128s-robust (3 executions),clean,1953252957,1953203029,1953283562,14682924206,14682577057,14683447032,14800944,14287206,15314696
sphincs-sha256-128s-simple (3 executions),clean,1031754884,1031697789,1031857298,7848131084,7847374226,7848685121,7710684,7392187,8082296
sphincs-sha256-192f-robust (3 executions),clean,45161761,45160801,45163648,1250907661,1250145348,1251553620,67089973,66469940,68123479
sphincs-sha256-192f-simple (3 executions),clean,23719514,23719478,23719549,669328611,669178936,669551667,33644995,33075699,34249859
sphincs-sha256-192s-robust (3 executions),clean,2889565189,2889565181,2889565194,26752674216,26752212852,26753101424,23937976,23352631,24592207
sphincs-sha256-192s-simple (3 executions),clean,1517383421,1517383393,1517383438,14389146341,14388794580,14389383836,11980389,11962594,12015965
sphincs-sha256-256f-robust (3 executions),clean,164849751,164849735,164849771,3446568163,3444179128,3447826714,95785564,95024873,96308552
sphincs-sha256-256f-simple (3 executions),clean,62594489,62594395,62594642,1341551848,1341225951,1341989219,35486542,34650880,35931028
sphincs-sha256-256s-robust (3 executions),clean,2633046124,2633040905,2633049685,32385483145,32384617054,32386410035,49641286,48834691,51112106
sphincs-sha256-256s-simple (3 executions),clean,998095638,997347809,998589315,12862955551,12862600996,12863573206,17548744,17018036,18185596
sphincs-shake256-128f-robust (3 executions),clean,113338476,113338464,113338500,2785018905,2784114964,2786826725,160268333,157944173,162979848
sphincs-shake256-128f-simple (3 executions),clean,59754709,59754686,59754722,1481251054,1479336058,1482703829,85436452,84379828,87351601
sphincs-shake256-128s-robust (3 executions),clean,7255215585,7255215557,7255215614,54570043397,54569139474,54570689038,57484752,56193513,58905069
sphincs-shake256-128s-simple (3 executions),clean,3825053911,3825053906,3825053919,29084221948,29083561440,29084552215,29558987,29162750,29757120
sphincs-shake256-192f-robust (3 executions),clean,167141787,167141764,167141800,4463872206,4461133615,4467002050,237573255,235486783,239398861
sphincs-shake256-192f-simple (3 executions),clean,88327026,88327025,88327028,2409662836,2407991965,2411200065,122523477,121453985,123659802
sphincs-shake256-192s-robust (3 executions),clean,10697444146,10697444105,10697444177,93294080159,93293428231,93294992860,83021157,82629899,83412391
sphincs-shake256-192s-simple (3 executions),clean,5652487728,5652487718,5652487744,50820128418,50818391083,50821398019,42085525,41417100,43021304
sphincs-shake256-256f-robust (3 executions),clean,444889911,444889895,444889934,8993855912,8993065785,8995436121,245607215,243105337,247845725
sphincs-shake256-256f-simple (3 executions),clean,235431549,235431547,235431551,4862202181,4859430666,4864297738,126499038,125146650,128392418
sphincs-shake256-256s-robust (3 executions),clean,7116955982,7116955971,7116956001,81034023028,81032311123,81035076510,118824499,117244769,120404198
sphincs-shake256-256s-simple (3 executions),clean,3764083718,3764083699,3764083747,44854626450,44852599234,44856247631,60503704,60030819,61246868
Memory Evaluation,,,,,,,,,,
Key Encapsulation Schemes,,,,,,,,,,
Scheme,Implementation,Key Generation [bytes],Encapsulation [bytes],Decapsulation [bytes],,,,,,
bikel1,m4f,44068,32116,91368,,,,,,
bikel1,opt,35852,25868,78548,,,,,,
firesaber,clean,19340,19444,20924,,,,,,
firesaber,m4f,7252,7204,7220,,,,,,
frodokem640aes,m4,31984,62480,83104,,,,,,
frodokem640shake,m4,26408,51784,72408,,,,,,
frodokem640shake,opt,36480,58136,78760,,,,,,
hqc-rmrs-128,clean,48828,64412,71148,,,,,,
kyber1024,clean,15076,18748,20324,,,,,,
kyber1024,m4,3604,3284,3316,,,,,,
kyber1024-90s,clean,15340,19020,20596,,,,,,
kyber1024-90s,m4,4636,4000,4032,,,,,,
kyber512,clean,6100,8764,9540,,,,,,
kyber512,m4,2212,2300,2316,,,,,,
kyber512-90s,clean,6548,9212,9988,,,,,,
kyber512-90s,m4,2904,2992,3008,,,,,,
kyber768,clean,10196,13364,14460,,,,,,
kyber768,m4,3092,2772,2796,,,,,,
kyber768-90s,clean,10652,13820,14916,,,,,,
kyber768-90s,m4,3432,3504,3520,,,,,,
lightsaber,clean,9320,9424,10168,,,,,,
lightsaber,m4f,5196,5148,5164,,,,,,
ntruhps2048509,clean,25420,20532,18884,,,,,,
ntruhps2048509,m4f,21400,14068,14800,,,,,,
ntruhps2048677,clean,34288,27780,25572,,,,,,
ntruhps2048677,m4f,28504,19980,19728,,,,,,
ntruhps4096821,clean,40984,33060,30460,,,,,,
ntruhps4096821,m4f,34504,23140,23952,,,,,,
ntruhrss701,clean,32908,26164,25972,,,,,,
ntruhrss701,m4f,27560,18324,20560,,,,,,
ntrulpr653,clean,11864,12056,13304,,,,,,
ntrulpr761,clean,10784,12368,13856,,,,,,
ntrulpr761,m4f,13176,19944,23976,,,,,,
ntrulpr857,clean,15640,15704,17376,,,,,,
saber,clean,12904,13008,14112,,,,,,
saber,m4f,6228,6180,6196,,,,,,
sikep434,m4,6208,6496,6832,,,,,,
sikep434,opt,6744,7032,7312,,,,,,
sikep503,m4,6976,7328,7704,,,,,,
sikep503,opt,6656,7008,7384,,,,,,
sikep610,m4,10520,10920,11384,,,,,,
sikep610,opt,10096,10496,10968,,,,,,
sikep751,m4,12288,12296,12864,,,,,,
sikep751,opt,11640,11760,12220,,,,,,
sntrup653,clean,10664,7992,9664,,,,,,
sntrup761,clean,12284,9256,11200,,,,,,
sntrup761,m4f,61516,13320,16952,,,,,,
sntrup857,clean,13928,10504,12592,,,,,,
Signature Schemes,,,,,,,,,,
Scheme,Implementation,Key Generation [bytes],Sign [bytes],Verify [bytes],,,,,,
dilithium2,clean,38284,51908,36196,,,,,,
dilithium2,m4,38276,51900,36188,,,,,,
dilithium2aes,clean,39764,53388,37676,,,,,,
dilithium3,clean,60812,79664,57700,,,,,,
dilithium3,m4,60804,79548,57692,,,,,,
dilithium3aes,clean,62292,81036,59180,,,,,,
falcon-1024,clean,36264,82428,8796,,,,,,
falcon-1024,m4-ct,1488,2568,496,,,,,,
falcon-1024,opt-ct,1448,2568,388,,,,,,
falcon-1024,opt-leaktime,1472,2664,388,,,,,,
falcon-512,clean,18368,42404,4700,,,,,,
falcon-512,m4-ct,1488,2592,388,,,,,,
falcon-512,opt-ct,1400,2592,388,,,,,,
falcon-512,opt-leaktime,1392,2568,388,,,,,,
falcon-512-tree,m4-ct,1480,2776,388,,,,,,
falcon-512-tree,opt-ct,1480,2776,388,,,,,,
falcon-512-tree,opt-leaktime,1464,2792,388,,,,,,
sphincs-haraka-128f-robust,clean,3620,3712,4172,,,,,,
sphincs-haraka-128f-simple,clean,3612,3676,4164,,,,,,
sphincs-haraka-128s-robust,clean,3944,3904,3476,,,,,,
sphincs-haraka-128s-simple,clean,3856,3896,3468,,,,,,
sphincs-haraka-192f-robust,clean,5036,5184,5396,,,,,,
sphincs-haraka-192f-simple,clean,5028,5096,5388,,,,,,
sphincs-haraka-192s-robust,clean,5376,5344,4732,,,,,,
sphincs-haraka-192s-simple,clean,5368,5336,4724,,,,,,
sphincs-haraka-256f-robust,clean,7056,7104,7004,,,,,,
sphincs-haraka-256f-simple,clean,7048,7096,6996,,,,,,
sphincs-haraka-256s-robust,clean,7408,7248,6624,,,,,,
sphincs-haraka-256s-simple,clean,7320,7240,6588,,,,,,
sphincs-sha256-128f-robust,clean,2256,2320,2808,,,,,,
sphincs-sha256-128f-simple,clean,2104,2168,2656,,,,,,
sphincs-sha256-128s-robust,clean,2472,2544,2112,,,,,,
sphincs-sha256-128s-simple,clean,2432,2392,1960,,,,,,
sphincs-sha256-192f-robust,clean,3680,3832,4040,,,,,,
sphincs-sha256-192f-simple,clean,3520,3560,3880,,,,,,
sphincs-sha256-192s-robust,clean,4104,3992,3376,,,,,,
sphincs-sha256-192s-simple,clean,3944,3832,3216,,,,,,
sphincs-sha256-256f-robust,clean,5792,5760,5656,,,,,,
sphincs-sha256-256f-simple,clean,5512,5592,5488,,,,,,
sphincs-sha256-256s-robust,clean,6064,5904,5360,,,,,,
sphincs-sha256-256s-simple,clean,5896,5736,5080,,,,,,
sphincs-shake256-128f-robust,clean,2012,2176,2556,,,,,,
sphincs-shake256-128f-simple,clean,2012,2068,2556,,,,,,
sphincs-shake256-128s-robust,clean,2336,2288,1860,,,,,,
sphincs-shake256-128s-simple,clean,2336,2288,1860,,,,,,
sphincs-shake256-192f-robust,clean,3436,3576,3788,,,,,,
sphincs-shake256-192f-simple,clean,3436,3468,3788,,,,,,
sphincs-shake256-192s-robust,clean,3856,3736,3124,,,,,,
sphincs-shake256-192s-simple,clean,3856,3736,3124,,,,,,
sphincs-shake256-256f-robust,clean,5436,5504,5404,,,,,,
sphincs-shake256-256f-simple,clean,5436,5504,5404,,,,,,
sphincs-shake256-256s-robust,clean,5816,5648,4996,,,,,,
sphincs-shake256-256s-simple,clean,5816,5648,4996,,,,,,
Hashing Evaluation,,,,,,,,,,
Key Encapsulation Schemes,,,,,,,,,,
Scheme,Implementation,Key Generation [%],Encapsulation [%],Decapsulation [%],,,,,,
bikel1,m4f,0.7,15.1,1.0,,,,,,
bikel1,opt,0.3,10.3,0.4,,,,,,
firesaber,clean,19.1,18.9,14.1,,,,,,
firesaber,m4f,70.9,72.1,63.1,,,,,,
frodokem640aes,m4,74.3,77.8,77.1,,,,,,
frodokem640shake,m4,84.7,86.3,86.0,,,,,,
frodokem640shake,opt,74.3,65.4,64.9,,,,,,
hqc-rmrs-128,clean,53.7,41.4,33.3,,,,,,
kyber1024,clean,54.4,53.8,42.7,,,,,,
kyber1024,m4,74.8,78.7,70.8,,,,,,
kyber1024-90s,clean,73.8,70.5,64.0,,,,,,
kyber1024-90s,m4,67.0,69.5,62.8,,,,,,
kyber512,clean,54.7,51.7,37.1,,,,,,
kyber512,m4,75.4,78.9,67.7,,,,,,
kyber512-90s,clean,68.8,62.8,52.7,,,,,,
kyber512-90s,m4,68.3,71.0,61.3,,,,,,
kyber768,clean,52.8,52.4,39.7,,,,,,
kyber768,m4,74.5,78.5,69.1,,,,,,
kyber768-90s,clean,71.5,67.4,59.5,,,,,,
kyber768-90s,m4,66.6,69.7,61.7,,,,,,
lightsaber,clean,24.9,23.8,15.5,,,,,,
lightsaber,m4f,71.7,73.4,60.8,,,,,,
ntruhps2048509,clean,0.0,2.4,4.1,,,,,,
ntruhps2048509,m4f,0.0,4.5,18.9,,,,,,
ntruhps2048677,clean,0.0,2.1,3.2,,,,,,
ntruhps2048677,m4f,0.0,4.6,17.0,,,,,,
ntruhps4096821,clean,0.0,1.6,2.9,,,,,,
ntruhps4096821,m4f,0.0,3.7,15.9,,,,,,
ntruhrss701,clean,0.0,2.5,3.5,,,,,,
ntruhrss701,m4f,0.0,10.0,17.5,,,,,,
ntrulpr653,clean,9.0,9.8,6.2,,,,,,
ntrulpr761,clean,7.9,8.5,5.4,,,,,,
ntrulpr761,m4f,23.4,41.4,38.7,,,,,,
ntrulpr857,clean,7.1,7.6,4.8,,,,,,
saber,clean,21.9,21.4,15.1,,,,,,
saber,m4f,71.9,73.4,62.9,,,,,,
sikep434,m4,0.0,0.1,0.1,,,,,,
sikep434,opt,0.0,0.0,0.0,,,,,,
sikep503,m4,0.0,0.1,0.1,,,,,,
sikep503,opt,0.0,0.0,0.0,,,,,,
sikep610,m4,0.0,0.1,0.1,,,,,,
sikep610,opt,0.0,0.0,0.0,,,,,,
sikep751,m4,0.0,0.0,0.0,,,,,,
sikep751,opt,0.0,0.0,0.0,,,,,,
sntrup653,clean,0.1,4.2,1.0,,,,,,
sntrup761,clean,0.1,3.7,0.8,,,,,,
sntrup761,m4f,0.0,0.0,0.0,,,,,,
sntrup857,clean,0.1,3.2,0.7,,,,,,
Signature Schemes,,,,,,,,,,
Scheme,Implementation,Key Generation [%],Sign [%],Verify [%],,,,,,
dilithium2,clean,67.1,37.3,60.1,,,,,,
dilithium2,m4,82.6,64.0,80.1,,,,,,
dilithium2aes,clean,2.7,3.3,5.0,,,,,,
dilithium3,clean,70.5,37.0,63.6,,,,,,
dilithium3,m4,84.9,63.8,82.3,,,,,,
dilithium3aes,clean,2.2,2.5,3.5,,,,,,
falcon-1024,clean,8.4,0.3,26.9,,,,,,
falcon-1024,m4-ct,10.6,0.5,34.2,,,,,,
falcon-1024,opt-ct,11.1,0.5,34.3,,,,,,
falcon-1024,opt-leaktime,13.1,0.5,34.1,,,,,,
falcon-512,clean,14.9,0.4,29.3,,,,,,
falcon-512,m4-ct,18.5,0.5,35.8,,,,,,
falcon-512,opt-ct,16.7,0.5,36.0,,,,,,
falcon-512,opt-leaktime,19.8,0.6,35.8,,,,,,
falcon-512-tree,m4-ct,18.0,1.1,35.8,,,,,,
falcon-512-tree,opt-ct,16.5,1.1,35.9,,,,,,
falcon-512-tree,opt-leaktime,19.3,1.1,35.8,,,,,,
sphincs-haraka-128f-robust,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-128f-simple,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-128s-robust,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-128s-simple,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-192f-robust,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-192f-simple,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-192s-robust,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-192s-simple,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-256f-robust,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-256f-simple,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-256s-robust,clean,0.0,0.0,0.0,,,,,,
sphincs-haraka-256s-simple,clean,0.0,0.0,0.0,,,,,,
sphincs-sha256-128f-robust,clean,88.2,88.1,88.3,,,,,,
sphincs-sha256-128f-simple,clean,85.8,85.7,85.7,,,,,,
sphincs-sha256-128s-robust,clean,88.2,88.1,88.2,,,,,,
sphincs-sha256-128s-simple,clean,85.8,85.7,85.6,,,,,,
sphincs-sha256-192f-robust,clean,87.7,87.9,88.1,,,,,,
sphincs-sha256-192f-simple,clean,85.4,85.7,85.7,,,,,,
sphincs-sha256-192s-robust,clean,87.8,88.0,88.3,,,,,,
sphincs-sha256-192s-simple,clean,85.4,85.8,86.1,,,,,,
sphincs-sha256-256f-robust,clean,91.3,91.3,91.7,,,,,,
sphincs-sha256-256f-simple,clean,85.1,85.4,85.5,,,,,,
sphincs-sha256-256s-robust,clean,91.4,91.5,91.9,,,,,,
sphincs-sha256-256s-simple,clean,85.5,85.9,86.1,,,,,,
sphincs-shake256-128f-robust,clean,97.4,97.4,97.4,,,,,,
sphincs-shake256-128f-simple,clean,95.7,95.7,95.6,,,,,,
sphincs-shake256-128s-robust,clean,97.4,97.4,97.4,,,,,,
sphincs-shake256-128s-simple,clean,95.7,95.7,95.6,,,,,,
sphincs-shake256-192f-robust,clean,97.4,97.3,97.4,,,,,,
sphincs-shake256-192f-simple,clean,95.6,95.6,95.6,,,,,,
sphincs-shake256-192s-robust,clean,97.4,97.3,97.4,,,,,,
sphincs-shake256-192s-simple,clean,95.7,95.6,95.5,,,,,,
sphincs-shake256-256f-robust,clean,97.3,97.3,97.4,,,,,,
sphincs-shake256-256f-simple,clean,95.6,95.6,95.6,,,,,,
sphincs-shake256-256s-robust,clean,97.4,97.2,97.4,,,,,,
sphincs-shake256-256s-simple,clean,95.7,95.5,95.6,,,,,,
Size Evaluation,,,,,,,,,,
Key Encapsulation Schemes,,,,,,,,,,
Scheme,Implementation,.text [bytes],.data [bytes],.bss [bytes],Total [bytes],,,,,
bikel1,m4f,181560,24,49,181633,,,,,
bikel1,opt,35051,24,1,35076,,,,,
firesaber,clean,10220,0,0,10220,,,,,
firesaber,m4f,9544,0,0,9544,,,,,
frodokem640aes,m4,8568,0,0,8568,,,,,
frodokem640shake,m4,8644,0,0,8644,,,,,
frodokem640shake,opt,6796,0,0,6796,,,,,
hqc-rmrs-128,clean,18436,0,0,18436,,,,,
kyber1024,clean,6084,0,0,6084,,,,,
kyber1024,m4,11640,0,0,11640,,,,,
kyber1024-90s,clean,6468,0,0,6468,,,,,
kyber1024-90s,m4,11920,0,0,11920,,,,,
kyber512,clean,4900,0,0,4900,,,,,
kyber512,m4,10700,0,0,10700,,,,,
kyber512-90s,clean,5144,0,0,5144,,,,,
kyber512-90s,m4,10912,0,0,10912,,,,,
kyber768,clean,4912,0,0,4912,,,,,
kyber768,m4,10816,0,0,10816,,,,,
kyber768-90s,clean,5176,0,0,5176,,,,,
kyber768-90s,m4,10796,0,0,10796,,,,,
lightsaber,clean,10368,0,0,10368,,,,,
lightsaber,m4f,9612,0,0,9612,,,,,
ntruhps2048509,clean,64644,0,0,64644,,,,,
ntruhps2048509,m4f,99588,0,0,99588,,,,,
ntruhps2048677,clean,17304,0,0,17304,,,,,
ntruhps2048677,m4f,149988,0,0,149988,,,,,
ntruhps4096821,clean,17064,0,0,17064,,,,,
ntruhps4096821,m4f,171308,0,0,171308,,,,,
ntruhrss701,clean,16724,0,0,16724,,,,,
ntruhrss701,m4f,160244,0,0,160244,,,,,
ntrulpr653,clean,7608,0,0,7608,,,,,
ntrulpr761,clean,8096,0,0,8096,,,,,
ntrulpr761,m4f,131025,128,0,131153,,,,,
ntrulpr857,clean,8336,0,0,8336,,,,,
saber,clean,10128,0,0,10128,,,,,
saber,m4f,9400,0,0,9400,,,,,
sikep434,m4,29604,0,0,29604,,,,,
sikep434,opt,28236,0,0,28236,,,,,
sikep503,m4,31580,0,0,31580,,,,,
sikep503,opt,26436,0,0,26436,,,,,
sikep610,m4,29424,0,0,29424,,,,,
sikep610,opt,19424,0,0,19424,,,,,
sikep751,m4,33016,0,0,33016,,,,,
sikep751,opt,21068,0,0,21068,,,,,
sntrup653,clean,12416,0,0,12416,,,,,
sntrup761,clean,13156,0,0,13156,,,,,
sntrup761,m4f,162845,152,3608,166605,,,,,
sntrup857,clean,13532,0,0,13532,,,,,
Signature Schemes,,,,,,,,,,
Scheme,Implementation,.text [bytes],.data [bytes],.bss [bytes],Total [bytes],,,,,
dilithium2,clean,7948,0,0,7948,,,,,
dilithium2,m4,10556,0,0,10556,,,,,
dilithium2aes,clean,14982,0,0,14982,,,,,
dilithium3,clean,7444,0,0,7444,,,,,
dilithium3,m4,10076,0,0,10076,,,,,
dilithium3aes,clean,14470,0,0,14470,,,,,
falcon-1024,clean,82285,0,0,82285,,,,,
falcon-1024,m4-ct,81265,0,79872,161137,,,,,
falcon-1024,opt-ct,81265,0,79872,161137,,,,,
falcon-1024,opt-leaktime,74461,0,79872,154333,,,,,
falcon-512,clean,82253,0,0,82253,,,,,
falcon-512,m4-ct,81265,0,39936,121201,,,,,
falcon-512,opt-ct,81265,0,39936,121201,,,,,
falcon-512,opt-leaktime,74461,0,39936,114397,,,,,
falcon-512-tree,m4-ct,81005,0,27648,108653,,,,,
falcon-512-tree,opt-ct,81005,0,27648,108653,,,,,
falcon-512-tree,opt-leaktime,74201,0,27648,101849,,,,,
sphincs-haraka-128f-robust,clean,16600,0,0,16600,,,,,
sphincs-haraka-128f-simple,clean,16448,0,0,16448,,,,,
sphincs-haraka-128s-robust,clean,16912,0,0,16912,,,,,
sphincs-haraka-128s-simple,clean,16764,0,0,16764,,,,,
sphincs-haraka-192f-robust,clean,16656,0,0,16656,,,,,
sphincs-haraka-192f-simple,clean,16472,0,0,16472,,,,,
sphincs-haraka-192s-robust,clean,17172,0,0,17172,,,,,
sphincs-haraka-192s-simple,clean,16988,0,0,16988,,,,,
sphincs-haraka-256f-robust,clean,17048,0,0,17048,,,,,
sphincs-haraka-256f-simple,clean,16804,0,0,16804,,,,,
sphincs-haraka-256s-robust,clean,17340,0,0,17340,,,,,
sphincs-haraka-256s-simple,clean,17096,0,0,17096,,,,,
sphincs-sha256-128f-robust,clean,4756,0,0,4756,,,,,
sphincs-sha256-128f-simple,clean,4508,0,0,4508,,,,,
sphincs-sha256-128s-robust,clean,5068,0,0,5068,,,,,
sphincs-sha256-128s-simple,clean,4820,0,0,4820,,,,,
sphincs-sha256-192f-robust,clean,5040,0,0,5040,,,,,
sphincs-sha256-192f-simple,clean,4672,0,0,4672,,,,,
sphincs-sha256-192s-robust,clean,5564,0,0,5564,,,,,
sphincs-sha256-192s-simple,clean,5192,0,0,5192,,,,,
sphincs-sha256-256f-robust,clean,5528,0,0,5528,,,,,
sphincs-sha256-256f-simple,clean,5060,0,0,5060,,,,,
sphincs-sha256-256s-robust,clean,5816,0,0,5816,,,,,
sphincs-sha256-256s-simple,clean,5344,0,0,5344,,,,,
sphincs-shake256-128f-robust,clean,4028,0,0,4028,,,,,
sphincs-shake256-128f-simple,clean,3888,0,0,3888,,,,,
sphincs-shake256-128s-robust,clean,4340,0,0,4340,,,,,
sphincs-shake256-128s-simple,clean,4196,0,0,4196,,,,,
sphincs-shake256-192f-robust,clean,4128,0,0,4128,,,,,
sphincs-shake256-192f-simple,clean,3956,0,0,3956,,,,,
sphincs-shake256-192s-robust,clean,4644,0,0,4644,,,,,
sphincs-shake256-192s-simple,clean,4472,0,0,4472,,,,,
sphincs-shake256-256f-robust,clean,4532,0,0,4532,,,,,
sphincs-shake256-256f-simple,clean,4320,0,0,4320,,,,,
sphincs-shake256-256s-robust,clean,4820,0,0,4820,,,,,
sphincs-shake256-256s-simple,clean,4612,0,0,4612,,,,,
back to top