https://github.com/mupq/pqm4
Revision 8970d37a8c3055d9579007e954449d926c3583b4 authored by Matthias J. Kannwischer on 22 September 2021, 09:09:56 UTC, committed by rpls on 26 September 2021, 17:25:47 UTC
Fixes two minor bugs in matacc. They did not actually result in wrong
outputs.

In the uniform sampling, we use 3 bytes to sample 2 coefficients. In
case the sampled coefficient is too large, we throw it away.
Once we sampled 256 coefficients it is possible that we still have one
coefficient left which needs to be discarded.
The check if we are at the end of a polynomial already was wrongly
implemented by checking for ctr < KYBER_Q/4 rather than ctr < KYBER_N/4
in two places.

Luckily, it has no effect in both cases.
In the first, ctr = KYBER_N/4 implies k=0 and hence the the code does
nothing.
In the second, an additional Keccak squeeze is triggered, but the output
is never used.
1 parent 844e7ca
Raw File
Tip revision: 8970d37a8c3055d9579007e954449d926c3583b4 authored by Matthias J. Kannwischer on 22 September 2021, 09:09:56 UTC
Fix two bugs in Kyber
Tip revision: 8970d37
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),m4fspeed,994446,994445,994479,1204260,1204257,1204291,1151016,1151014,1151048
firesaber (100 executions),m4fstack,1319646,1319644,1319680,1615256,1615254,1615289,1595646,1595644,1595678
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),m4fspeed,352196,352196,352229,481006,481005,481038,452654,452653,452687
lightsaber (100 executions),m4fstack,422434,422434,422467,591556,591555,591588,581073,581072,581106
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
ntrulpr1013 (100 executions),clean,9052666,9052649,9052683,17456889,17456887,17456891,25211523,25211503,25211542
ntrulpr1013 (100 executions),m4f,1102228,1102226,1102262,1842328,1842325,1842359,1991243,1991240,1991274
ntrulpr1277 (100 executions),clean,13975045,13975018,13975053,27077837,27077816,27077852,39376240,39376226,39376266
ntrulpr1277 (100 executions),m4f,1420658,1420657,1420691,2341222,2341217,2341253,2530410,2530405,2530440
ntrulpr653 (100 executions),clean,4262181,4262173,4262207,8152021,8152005,8152040,11603045,11603022,11603057
ntrulpr653 (100 executions),m4f,677981,677980,678013,1157987,1157986,1158021,1233059,1233056,1233091
ntrulpr761 (100 executions),clean,5637525,5637514,5637548,10818403,10818382,10818417,15498070,15498040,15498075
ntrulpr761 (100 executions),m4f,726507,726506,726540,1312278,1312276,1312311,1393675,1393672,1393708
ntrulpr857 (100 executions),clean,7011303,7011290,7011325,13497170,13497143,13497178,19427758,19427750,19427787
ntrulpr857 (100 executions),m4f,921143,921142,921176,1547852,1547849,1547883,1668045,1668042,1668077
ntrulpr953 (100 executions),clean,8540005,8539989,8540025,16476839,16476806,16476842,23804413,23804398,23804435
ntrulpr953 (100 executions),m4f,1007380,1007379,1007412,1677959,1677956,1677991,1795115,1795112,1795146
saber (100 executions),clean,2136066,2136063,2136099,2808330,2808325,2808360,3279876,3279865,3280057
saber (100 executions),m4fspeed,645222,645221,645255,820799,820798,820832,774055,774054,774089
saber (100 executions),m4fstack,820044,820043,820077,1059170,1059168,1059202,1038683,1038681,1038715
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
sntrup1013 (100 executions),clean,247468244,245634978,337296998,8740051,8740034,8740069,26809743,26809722,26809761
sntrup1013 (100 executions),m4f,13955859,13929581,16554582,1031757,1031756,1031789,838171,838170,838204
sntrup1277 (100 executions),clean,393058337,385951901,528080467,13576829,13576804,13576839,42363757,42363737,42363776
sntrup1277 (100 executions),m4f,22989117,22873302,26733435,1326335,1326333,1326368,1071964,1071962,1071996
sntrup653 (100 executions),clean,102879347,102506263,139813864,4060121,4060114,4060148,11723295,11723272,11723307
sntrup653 (100 executions),m4f,6714568,6627693,7868628,631853,631851,631885,486707,486706,486740
sntrup761 (100 executions),clean,141913579,141913560,141913604,5395672,5395662,5395698,15828809,15828778,15828813
sntrup761 (100 executions),m4f,7951328,7951312,7951347,683652,683651,683685,538141,538140,538175
sntrup857 (100 executions),clean,179091448,179091421,179091464,6742099,6742086,6742120,20002037,20002029,20002066
sntrup857 (100 executions),m4f,10264255,10264235,10264271,853302,853301,853335,689920,689919,689952
sntrup953 (100 executions),clean,222055140,222055124,222055172,8240747,8240732,8240767,24678459,24678442,24678479
sntrup953 (100 executions),m4f,12761557,12761535,12761571,943350,943350,943350,744434,744432,744467
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,m4fspeed,7668,8340,8348,,,,,,
firesaber,m4fstack,4300,3316,3324,,,,,,
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,m4fspeed,5612,6284,6292,,,,,,
lightsaber,m4fstack,3276,3052,3060,,,,,,
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,,,,,,
ntrulpr1013,clean,14288,14544,16536,,,,,,
ntrulpr1013,m4f,25716,30420,35692,,,,,,
ntrulpr1277,clean,17984,18104,20624,,,,,,
ntrulpr1277,m4f,44452,50204,56796,,,,,,
ntrulpr653,clean,11864,12056,13304,,,,,,
ntrulpr653,m4f,12680,15952,19424,,,,,,
ntrulpr761,clean,10768,11064,12552,,,,,,
ntrulpr761,m4f,16224,19912,23944,,,,,,
ntrulpr857,clean,15632,15704,17376,,,,,,
ntrulpr857,m4f,24364,28436,32932,,,,,,
ntrulpr953,clean,13456,13736,15592,,,,,,
ntrulpr953,m4f,25164,29628,34596,,,,,,
saber,clean,12904,13008,14112,,,,,,
saber,m4fspeed,6644,7316,7324,,,,,,
saber,m4fstack,3788,3180,3188,,,,,,
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,,,,,,
sntrup1013,clean,16316,12400,14992,,,,,,
sntrup1013,m4f,102704,25932,30772,,,,,,
sntrup1277,clean,20664,15552,18816,,,,,,
sntrup1277,m4f,90232,32452,38524,,,,,,
sntrup653,clean,10664,7992,9664,,,,,,
sntrup653,m4f,91568,12792,16088,,,,,,
sntrup761,clean,12284,9256,11200,,,,,,
sntrup761,m4f,102544,16368,20008,,,,,,
sntrup857,clean,13928,10504,12592,,,,,,
sntrup857,m4f,102200,24548,28852,,,,,,
sntrup953,clean,15472,11584,14128,,,,,,
sntrup953,m4f,89112,25372,29908,,,,,,
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,m4fspeed,71.4,72.7,64.0,,,,,,
firesaber,m4fstack,53.9,54.2,46.2,,,,,,
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,m4fspeed,72.3,74.0,61.9,,,,,,
lightsaber,m4fstack,60.3,60.2,48.2,,,,,,
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,,,,,,
ntrulpr1013,clean,6.5,6.9,4.3,,,,,,
ntrulpr1013,m4f,30.5,51.6,42.4,,,,,,
ntrulpr1277,clean,5.3,5.6,3.5,,,,,,
ntrulpr1277,m4f,29.7,50.7,41.7,,,,,,
ntrulpr653,clean,9.0,9.8,6.2,,,,,,
ntrulpr653,m4f,32.4,54.5,45.4,,,,,,
ntrulpr761,clean,7.9,8.5,5.4,,,,,,
ntrulpr761,m4f,23.8,41.0,38.6,,,,,,
ntrulpr857,clean,7.1,7.6,4.8,,,,,,
ntrulpr857,m4f,30.8,52.3,43.2,,,,,,
ntrulpr953,clean,6.5,6.9,4.3,,,,,,
ntrulpr953,m4f,31.2,53.3,44.3,,,,,,
saber,clean,21.9,21.4,15.1,,,,,,
saber,m4fspeed,72.6,74.0,63.9,,,,,,
saber,m4fstack,57.2,57.4,47.6,,,,,,
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,,,,,,
sntrup1013,clean,0.0,3.0,0.6,,,,,,
sntrup1013,m4f,0.8,27.8,20.4,,,,,,
sntrup1277,clean,0.0,2.4,0.5,,,,,,
sntrup1277,m4f,0.7,26.2,18.4,,,,,,
sntrup653,clean,0.1,4.2,1.0,,,,,,
sntrup653,m4f,1.1,29.9,24.2,,,,,,
sntrup761,clean,0.1,3.7,0.8,,,,,,
sntrup761,m4f,0.0,0.0,0.0,,,,,,
sntrup857,clean,0.1,3.2,0.7,,,,,,
sntrup857,m4f,1.0,27.3,19.6,,,,,,
sntrup953,clean,0.0,2.9,0.7,,,,,,
sntrup953,m4f,0.8,28.5,21.8,,,,,,
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,m4fspeed,18792,0,0,18792,,,,,
firesaber,m4fstack,19536,0,0,19536,,,,,
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,m4fspeed,18900,0,0,18900,,,,,
lightsaber,m4fstack,19712,0,0,19712,,,,,
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,,,,,
ntrulpr1013,clean,8536,0,0,8536,,,,,
ntrulpr1013,m4f,36396,0,0,36396,,,,,
ntrulpr1277,clean,7928,0,0,7928,,,,,
ntrulpr1277,m4f,56524,0,0,56524,,,,,
ntrulpr653,clean,7532,0,0,7532,,,,,
ntrulpr653,m4f,21496,0,0,21496,,,,,
ntrulpr761,clean,7988,0,0,7988,,,,,
ntrulpr761,m4f,35481,0,0,35481,,,,,
ntrulpr857,clean,8276,0,0,8276,,,,,
ntrulpr857,m4f,143432,0,0,143432,,,,,
ntrulpr953,clean,8488,0,0,8488,,,,,
ntrulpr953,m4f,132444,0,0,132444,,,,,
saber,clean,10128,0,0,10128,,,,,
saber,m4fspeed,18708,0,0,18708,,,,,
saber,m4fstack,19428,0,0,19428,,,,,
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,,,,,
sntrup1013,clean,14432,0,0,14432,,,,,
sntrup1013,m4f,388372,0,0,388372,,,,,
sntrup1277,clean,13288,0,0,13288,,,,,
sntrup1277,m4f,455956,0,0,455956,,,,,
sntrup653,clean,12488,0,0,12488,,,,,
sntrup653,m4f,237580,0,0,237580,,,,,
sntrup761,clean,13228,0,0,13228,,,,,
sntrup761,m4f,350545,0,0,350545,,,,,
sntrup857,clean,13632,0,0,13632,,,,,
sntrup857,m4f,597996,0,0,597996,,,,,
sntrup953,clean,14388,0,0,14388,,,,,
sntrup953,m4f,545612,0,0,545612,,,,,
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