From 3200c9e3a29bfd954bacd581cb3b0d6c3c7f73c4 Mon Sep 17 00:00:00 2001 From: "Matthias J. Kannwischer" Date: Thu, 31 Oct 2024 16:26:08 +0800 Subject: [PATCH] Remove eliminated schemes from NIST PQC digital signature competition (#365) * Remove eliminated schemes from NIST PQC digital signature competition NIST announced the second round candidates on October 24, 2024: https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/khAfIZPktRE/m/bBZWmET-AAAJ Eliminated schemes (with implementations in mupq): - ascon-sign - biscuit - meds - sphinca-a - tuov None of those have dedicated implementations in pqm4. aimer and haetae also got eliminated, but remain candidates of KPQC (https://www.kpqc.or.kr/competition.html). Let's keep them around. * adjust README * update mupq * fix aimer skiplist --- README.md | 12 +++++--- benchmarks.csv | 76 ------------------------------------------------- benchmarks.md | 77 -------------------------------------------------- mupq | 2 +- skiplist.py | 47 ++++-------------------------- 5 files changed, 15 insertions(+), 199 deletions(-) diff --git a/README.md b/README.md index 2c0ec888..b93095a4 100644 --- a/README.md +++ b/README.md @@ -16,13 +16,17 @@ The design goals of the library are to offer * integration of clean implementations from [PQClean](https://github.com/PQClean/PQClean); and * easy integration of new schemes and implementations into the framework. -## Previous NIST PQC +## Scope of pqm4 -The master branch of **pqm4** contains schemes that either [selected for standardization by NIST](https://csrc.nist.gov/Projects/post-quantum-cryptography/selected-algorithms-2022), -part of the [4th round of the NIST PQC standardization process](https://csrc.nist.gov/Projects/post-quantum-cryptography/round-4-submissions), -or part or the [first round of additional signatures of the NIST PQC standardization process](https://csrc.nist.gov/projects/pqc-dig-sig/round-1-additional-signatures). +The master branch of **pqm4** contains schemes that either +- standardized by NIST in [FIPS203](https://csrc.nist.gov/pubs/fips/203/final), [FIPS204](https://csrc.nist.gov/pubs/fips/203/final), or [FIPS205](https://csrc.nist.gov/pubs/fips/203/final), +- [selected for standardization by NIST](https://csrc.nist.gov/Projects/post-quantum-cryptography/selected-algorithms-2022), +- part of the [4th round of the NIST PQC standardization process](https://csrc.nist.gov/Projects/post-quantum-cryptography/round-4-submissions), +- part or the [first round of additional signatures of the NIST PQC standardization process](https://csrc.nist.gov/projects/pqc-dig-sig/round-1-additional-signatures), +- part of the [second round of the KpqC competition](https://www.kpqc.or.kr/competition.html). Implementations for previous NIST PQC rounds are available here: +- Signature Round 1: https://github.com/mupq/pqm4/releases/tag/SignatureRound1 - Round 3: https://github.com/mupq/pqm4/releases/tag/Round3 - Round 2: https://github.com/mupq/pqm4/releases/tag/Round2 - Round 1: https://github.com/mupq/pqm4/releases/tag/Round1 diff --git a/benchmarks.csv b/benchmarks.csv index 59408b27..ddfa372d 100644 --- a/benchmarks.csv +++ b/benchmarks.csv @@ -40,17 +40,6 @@ aimer256f (10 executions),ref,3344258,3344255,3344292,164484408,164483962,164484 aimer256s (10 executions),m4speed,2899956,2899949,2899989,1391295720,1391289067,1391297144,1321985344,1321984834,1321985426 aimer256s (10 executions),m4stack,2899950,2899950,2899950,1712314043,1712314001,1712314175,1322034101,1322034066,1322034132 aimer256s (10 executions),mem_opt,3344262,3344252,3344293,1752719642,1752719422,1752720844,1361337862,1361336718,1361338013 -ascon-sign-128f-robust (10 executions),ref,122506162,122506099,122506254,2855797836,2855797243,2855798602,174707763,169973472,179525137 -ascon-sign-128f-simple (10 executions),ref,69376878,69376875,69376883,1629111557,1629111334,1629112028,97798317,95509050,98714007 -ascon-sign-128s-robust (10 executions),ref,7842366557,7842366432,7842366620,59267552580,59267543517,59267565672,60232378,57865239,62848708 -ascon-sign-128s-simple (10 executions),ref,4441129007,4441128624,4441129583,33877719255,33877704467,33877739518,33665713,31101669,34993483 -ascon-sign-192f-robust (10 executions),ref,222614206,222614156,222614345,5712962198,5712960682,5712963829,321026499,315341414,327745233 -ascon-sign-192f-simple (10 executions),ref,128167067,128167038,128167083,3345487807,3345484178,3345492588,179328421,175094665,183794127 -ascon-sign-192s-robust (10 executions),ref,14249838562,14249837693,14249840118,126646612223,126646594160,126646651564,111451290,108763808,114965691 -ascon-sign-192s-simple (10 executions),ref,8204011592,8204011246,8204011971,74760768141,74760751354,74760789761,61679880,58983014,64202741 -biscuit128f (10 executions),ref,1054719,1054719,1054720,274072426,274072411,274072461,254371114,254371087,254371140 -biscuit192f (10 executions),ref,1886203,1886199,1886238,765314258,765314227,765314291,713412502,713412394,713412608 -biscuit256f (10 executions),ref,3301990,3301983,3302022,1747187940,1747187918,1747187973,1678998604,1678998013,1678998987 cross-sha2-r-sdp-1-fast (10 executions),ref,5614888,5590276,5650611,216566013,215745202,217395250,143008126,141803162,144002548 cross-sha2-r-sdp-3-fast (10 executions),ref,8201340,8148672,8208465,241899820,241815860,242049039,123896179,123524606,124545760 cross-sha2-r-sdpg-1-fast (10 executions),ref,2151163,2115797,2174685,116162852,116120174,116181821,87741423,87209686,88267494 @@ -92,8 +81,6 @@ mayo1 (10 executions),ref,7977004,7976973,7977015,18005446,18005440,18005487,629 mayo2 (10 executions),m4f,11917959,11917940,11917980,11979613,11979582,11979624,5130148,5130131,5130180 mayo2 (10 executions),ref,18432706,18432701,18432740,23546659,23546640,23546680,5494246,5494236,5494276 mayo3 (10 executions),m4f,18946738,18946737,18946740,32477408,32477407,32477411,16852927,16852799,16853047 -meds13220 (10 executions),ref,47801890,47796259,47805424,1774401869,1773011038,1779733959,1767764521,1766326468,1773152168 -meds55604 (10 executions),ref,253603604,253590695,253615749,8009948412,8009909000,8009995748,8320756990,8320682364,8320835448 mirith_IIIa_fast (10 executions),ref,3009088,3009084,3009123,891195817,891191657,891198221,831725932,831697264,831742620 mirith_IIIb_fast (10 executions),ref,4565011,4565007,4565046,1298812706,1298810546,1298815343,1214260655,1214247570,1214277229 mirith_Ia_fast (10 executions),ref,1303728,1303721,1303764,296732107,296728990,296734109,276059526,276031297,276080171 @@ -152,12 +139,6 @@ snova-25-8-16-3-ssk (10 executions),ref,35195324,35195216,35195579,112654217,931 snova-28-17-16-2-esk (10 executions),ref,51177590,51177548,51177647,23387139,21270788,42311786,19180389,19180360,19180440 snova-28-17-16-2-ssk (10 executions),ref,51065038,51064999,51065086,52865514,50757388,71788606,19180379,19180357,19180425 snova-37-8-16-4-ssk (10 executions),ref,122023801,122023399,122024216,533063912,533033960,533090127,335806349,335805890,335806820 -sphincs-a-sha2-128f (10 executions),ref,30278936,30278762,30279211,382270810,382269421,382271497,35695646,35693840,35698828 -sphincs-a-sha2-128s (10 executions),ref,814836852,814834574,814838039,6981930727,6981924687,6981936443,187090082,187087928,187093600 -sphincs-a-sha2-192f (10 executions),ref,45930664,45930481,45930983,634374072,634373011,634375225,35145783,35144266,35146607 -sphincs-a-shake-128f (10 executions),ref,61578406,61578107,61578885,1188147363,1188146489,1188148063,76330135,76328602,76331478 -sphincs-a-shake-128s (10 executions),ref,2342298427,2342296403,2342299607,22926754899,22926752978,22926758555,241835141,241830735,241838908 -sphincs-a-shake-192f (10 executions),ref,110027677,110027323,110027950,1814954350,1814953585,1814955913,64022276,64020853,64023988 sphincs-sha2-128f-simple (10 executions),clean,15742990,15742958,15742996,368575228,368575193,368575246,21923628,21369867,22456717 sphincs-sha2-128s-simple (10 executions),clean,1007731522,1007731504,1007731551,7657558168,7657558117,7657558212,7471794,7228491,7797915 sphincs-sha2-192f-simple (10 executions),clean,23570224,23570214,23570257,666398438,666398401,666398468,35457937,35087854,35973969 @@ -212,17 +193,6 @@ aimer256f,ref,50040,573284,78716,,,,,, aimer256s,m4speed,50032,615856,116936,,,,,, aimer256s,m4stack,50032,76032,116936,,,,,, aimer256s,mem_opt,50040,76140,117044,,,,,, -ascon-sign-128f-robust,ref,3260,2772,2992,,,,,, -ascon-sign-128f-simple,ref,2632,2144,2448,,,,,, -ascon-sign-128s-robust,ref,3452,2916,2240,,,,,, -ascon-sign-128s-simple,ref,2824,2268,1752,,,,,, -ascon-sign-192f-robust,ref,6092,4924,4504,,,,,, -ascon-sign-192f-simple,ref,4808,3640,3704,,,,,, -ascon-sign-192s-robust,ref,6380,5116,4332,,,,,, -ascon-sign-192s-simple,ref,5096,3812,3048,,,,,, -biscuit128f,ref,600,137348,14560,,,,,, -biscuit192f,ref,640,265964,20796,,,,,, -biscuit256f,ref,720,477468,33108,,,,,, cross-sha2-r-sdp-1-fast,ref,5200,218304,105604,,,,,, cross-sha2-r-sdp-3-fast,ref,9920,324764,158132,,,,,, cross-sha2-r-sdpg-1-fast,ref,2760,130824,69536,,,,,, @@ -264,8 +234,6 @@ mayo1,ref,74444,218644,399348,,,,,, mayo2,m4f,111532,124644,278444,,,,,, mayo2,ref,111532,238324,270260,,,,,, mayo3,m4f,244748,340668,469780,,,,,, -meds13220,ref,44000,180404,47716,,,,,, -meds55604,ref,162196,392852,160324,,,,,, mirith_IIIa_fast,ref,21832,266480,46156,,,,,, mirith_IIIb_fast,ref,32872,298208,59172,,,,,, mirith_Ia_fast,ref,10208,122424,22836,,,,,, @@ -324,12 +292,6 @@ snova-25-8-16-3-ssk,ref,190696,190836,122656,,,,,, snova-28-17-16-2-esk,ref,309216,127232,199684,,,,,, snova-28-17-16-2-ssk,ref,309216,309356,199684,,,,,, snova-37-8-16-4-ssk,ref,640324,640428,411516,,,,,, -sphincs-a-sha2-128f,ref,281168,280772,280656,,,,,, -sphincs-a-sha2-128s,ref,585984,585732,585396,,,,,, -sphincs-a-sha2-192f,ref,504084,502636,502356,,,,,, -sphincs-a-shake-128f,ref,281072,280676,280560,,,,,, -sphincs-a-shake-128s,ref,585888,585636,585264,,,,,, -sphincs-a-shake-192f,ref,503544,502092,501816,,,,,, sphincs-sha2-128f-simple,clean,2856,2468,2664,,,,,, sphincs-sha2-128s-simple,clean,3084,2556,1968,,,,,, sphincs-sha2-192f-simple,clean,5468,4404,4356,,,,,, @@ -385,17 +347,6 @@ aimer256f,ref,58.9,28.0,27.0,,,,,, aimer256s,m4speed,67.7,32.2,28.0,,,,,, aimer256s,m4stack,67.7,43.3,28.0,,,,,, aimer256s,mem_opt,58.9,42.4,27.2,,,,,, -ascon-sign-128f-robust,ref,0.0,0.0,0.0,,,,,, -ascon-sign-128f-simple,ref,0.0,0.0,0.0,,,,,, -ascon-sign-128s-robust,ref,0.0,0.0,0.0,,,,,, -ascon-sign-128s-simple,ref,0.0,0.0,0.0,,,,,, -ascon-sign-192f-robust,ref,0.0,0.0,0.0,,,,,, -ascon-sign-192f-simple,ref,0.0,0.0,0.0,,,,,, -ascon-sign-192s-robust,ref,0.0,0.0,0.0,,,,,, -ascon-sign-192s-simple,ref,0.0,0.0,0.0,,,,,, -biscuit128f,ref,54.3,9.7,8.9,,,,,, -biscuit192f,ref,54.0,6.0,5.5,,,,,, -biscuit256f,ref,54.0,4.4,4.2,,,,,, cross-sha2-r-sdp-1-fast,ref,90.2,86.3,91.0,,,,,, cross-sha2-r-sdp-3-fast,ref,86.5,79.8,81.7,,,,,, cross-sha2-r-sdpg-1-fast,ref,92.9,90.9,92.1,,,,,, @@ -437,8 +388,6 @@ mayo1,ref,39.1,17.7,49.6,,,,,, mayo2,m4f,35.2,35.5,81.2,,,,,, mayo2,ref,22.8,18.1,75.8,,,,,, mayo3,m4f,55.4,32.6,62.2,,,,,, -meds13220,ref,2.5,5.1,4.8,,,,,, -meds55604,ref,1.6,3.0,2.9,,,,,, mirith_IIIa_fast,ref,64.3,6.7,6.5,,,,,, mirith_IIIb_fast,ref,64.5,4.7,4.6,,,,,, mirith_Ia_fast,ref,61.4,10.1,9.7,,,,,, @@ -497,12 +446,6 @@ snova-25-8-16-3-ssk,ref,9.7,3.5,8.0,,,,,, snova-28-17-16-2-esk,ref,10.6,0.2,28.1,,,,,, snova-28-17-16-2-ssk,ref,10.6,10.7,28.1,,,,,, snova-37-8-16-4-ssk,ref,8.8,2.0,3.4,,,,,, -sphincs-a-sha2-128f,ref,43.3,86.6,48.2,,,,,, -sphincs-a-sha2-128s,ref,72.9,88.3,11.7,,,,,, -sphincs-a-sha2-192f,ref,57.5,88.3,46.0,,,,,, -sphincs-a-shake-128f,ref,72.3,96.2,76.0,,,,,, -sphincs-a-shake-128s,ref,90.9,96.9,31.8,,,,,, -sphincs-a-shake-192f,ref,82.6,96.5,70.7,,,,,, sphincs-sha2-128f-simple,clean,90.8,90.7,90.6,,,,,, sphincs-sha2-128s-simple,clean,90.8,90.7,90.4,,,,,, sphincs-sha2-192f-simple,clean,90.2,90.8,90.7,,,,,, @@ -557,17 +500,6 @@ aimer256f,ref,27304,0,0,27304,,,,, aimer256s,m4speed,26372,0,0,26372,,,,, aimer256s,m4stack,25928,0,0,25928,,,,, aimer256s,mem_opt,27636,0,0,27636,,,,, -ascon-sign-128f-robust,ref,17664,0,0,17664,,,,, -ascon-sign-128f-simple,ref,17596,0,0,17596,,,,, -ascon-sign-128s-robust,ref,17972,0,0,17972,,,,, -ascon-sign-128s-simple,ref,17904,0,0,17904,,,,, -ascon-sign-192f-robust,ref,17960,0,0,17960,,,,, -ascon-sign-192f-simple,ref,17912,0,0,17912,,,,, -ascon-sign-192s-robust,ref,18472,0,0,18472,,,,, -ascon-sign-192s-simple,ref,18424,0,0,18424,,,,, -biscuit128f,ref,7580,0,0,7580,,,,, -biscuit192f,ref,7780,0,0,7780,,,,, -biscuit256f,ref,8216,0,0,8216,,,,, cross-sha2-r-sdp-1-fast,ref,14244,0,104,14348,,,,, cross-sha2-r-sdp-3-fast,ref,14744,0,128,14872,,,,, cross-sha2-r-sdpg-1-fast,ref,18409,0,104,18513,,,,, @@ -609,8 +541,6 @@ mayo1,ref,26436,8,0,26444,,,,, mayo2,m4f,17292,8,0,17300,,,,, mayo2,ref,24404,8,0,24412,,,,, mayo3,m4f,23612,8,0,23620,,,,, -meds13220,ref,16844,0,0,16844,,,,, -meds55604,ref,9012,0,0,9012,,,,, mirith_IIIa_fast,ref,7720,256,0,7976,,,,, mirith_IIIb_fast,ref,7760,256,0,8016,,,,, mirith_Ia_fast,ref,7610,256,0,7866,,,,, @@ -669,12 +599,6 @@ snova-25-8-16-3-ssk,ref,28240,0,299,28539,,,,, snova-28-17-16-2-esk,ref,16436,0,280,16716,,,,, snova-28-17-16-2-ssk,ref,16436,0,280,16716,,,,, snova-37-8-16-4-ssk,ref,52440,0,336,52776,,,,, -sphincs-a-sha2-128f,ref,6343,0,0,6343,,,,, -sphincs-a-sha2-128s,ref,6899,0,0,6899,,,,, -sphincs-a-sha2-192f,ref,6867,0,0,6867,,,,, -sphincs-a-shake-128f,ref,5552,0,0,5552,,,,, -sphincs-a-shake-128s,ref,6108,0,0,6108,,,,, -sphincs-a-shake-192f,ref,5916,0,0,5916,,,,, sphincs-sha2-128f-simple,clean,4956,0,0,4956,,,,, sphincs-sha2-128s-simple,clean,5264,0,0,5264,,,,, sphincs-sha2-192f-simple,clean,5444,0,0,5444,,,,, diff --git a/benchmarks.md b/benchmarks.md index fd8ed7c0..e131b348 100644 --- a/benchmarks.md +++ b/benchmarks.md @@ -42,17 +42,6 @@ | aimer256s (10 executions) | m4speed | AVG: 2,899,956
MIN: 2,899,949
MAX: 2,899,989 | AVG: 1,391,295,720
MIN: 1,391,289,067
MAX: 1,391,297,144 | AVG: 1,321,985,344
MIN: 1,321,984,834
MAX: 1,321,985,426 | | aimer256s (10 executions) | m4stack | AVG: 2,899,950
MIN: 2,899,950
MAX: 2,899,950 | AVG: 1,712,314,043
MIN: 1,712,314,001
MAX: 1,712,314,175 | AVG: 1,322,034,101
MIN: 1,322,034,066
MAX: 1,322,034,132 | | aimer256s (10 executions) | mem_opt | AVG: 3,344,262
MIN: 3,344,252
MAX: 3,344,293 | AVG: 1,752,719,642
MIN: 1,752,719,422
MAX: 1,752,720,844 | AVG: 1,361,337,862
MIN: 1,361,336,718
MAX: 1,361,338,013 | -| ascon-sign-128f-robust (10 executions) | ref | AVG: 122,506,162
MIN: 122,506,099
MAX: 122,506,254 | AVG: 2,855,797,836
MIN: 2,855,797,243
MAX: 2,855,798,602 | AVG: 174,707,763
MIN: 169,973,472
MAX: 179,525,137 | -| ascon-sign-128f-simple (10 executions) | ref | AVG: 69,376,878
MIN: 69,376,875
MAX: 69,376,883 | AVG: 1,629,111,557
MIN: 1,629,111,334
MAX: 1,629,112,028 | AVG: 97,798,317
MIN: 95,509,050
MAX: 98,714,007 | -| ascon-sign-128s-robust (10 executions) | ref | AVG: 7,842,366,557
MIN: 7,842,366,432
MAX: 7,842,366,620 | AVG: 59,267,552,580
MIN: 59,267,543,517
MAX: 59,267,565,672 | AVG: 60,232,378
MIN: 57,865,239
MAX: 62,848,708 | -| ascon-sign-128s-simple (10 executions) | ref | AVG: 4,441,129,007
MIN: 4,441,128,624
MAX: 4,441,129,583 | AVG: 33,877,719,255
MIN: 33,877,704,467
MAX: 33,877,739,518 | AVG: 33,665,713
MIN: 31,101,669
MAX: 34,993,483 | -| ascon-sign-192f-robust (10 executions) | ref | AVG: 222,614,206
MIN: 222,614,156
MAX: 222,614,345 | AVG: 5,712,962,198
MIN: 5,712,960,682
MAX: 5,712,963,829 | AVG: 321,026,499
MIN: 315,341,414
MAX: 327,745,233 | -| ascon-sign-192f-simple (10 executions) | ref | AVG: 128,167,067
MIN: 128,167,038
MAX: 128,167,083 | AVG: 3,345,487,807
MIN: 3,345,484,178
MAX: 3,345,492,588 | AVG: 179,328,421
MIN: 175,094,665
MAX: 183,794,127 | -| ascon-sign-192s-robust (10 executions) | ref | AVG: 14,249,838,562
MIN: 14,249,837,693
MAX: 14,249,840,118 | AVG: 126,646,612,223
MIN: 126,646,594,160
MAX: 126,646,651,564 | AVG: 111,451,290
MIN: 108,763,808
MAX: 114,965,691 | -| ascon-sign-192s-simple (10 executions) | ref | AVG: 8,204,011,592
MIN: 8,204,011,246
MAX: 8,204,011,971 | AVG: 74,760,768,141
MIN: 74,760,751,354
MAX: 74,760,789,761 | AVG: 61,679,880
MIN: 58,983,014
MAX: 64,202,741 | -| biscuit128f (10 executions) | ref | AVG: 1,054,719
MIN: 1,054,719
MAX: 1,054,720 | AVG: 274,072,426
MIN: 274,072,411
MAX: 274,072,461 | AVG: 254,371,114
MIN: 254,371,087
MAX: 254,371,140 | -| biscuit192f (10 executions) | ref | AVG: 1,886,203
MIN: 1,886,199
MAX: 1,886,238 | AVG: 765,314,258
MIN: 765,314,227
MAX: 765,314,291 | AVG: 713,412,502
MIN: 713,412,394
MAX: 713,412,608 | -| biscuit256f (10 executions) | ref | AVG: 3,301,990
MIN: 3,301,983
MAX: 3,302,022 | AVG: 1,747,187,940
MIN: 1,747,187,918
MAX: 1,747,187,973 | AVG: 1,678,998,604
MIN: 1,678,998,013
MAX: 1,678,998,987 | | cross-sha2-r-sdp-1-fast (10 executions) | ref | AVG: 5,614,888
MIN: 5,590,276
MAX: 5,650,611 | AVG: 216,566,013
MIN: 215,745,202
MAX: 217,395,250 | AVG: 143,008,126
MIN: 141,803,162
MAX: 144,002,548 | | cross-sha2-r-sdp-3-fast (10 executions) | ref | AVG: 8,201,340
MIN: 8,148,672
MAX: 8,208,465 | AVG: 241,899,820
MIN: 241,815,860
MAX: 242,049,039 | AVG: 123,896,179
MIN: 123,524,606
MAX: 124,545,760 | | cross-sha2-r-sdpg-1-fast (10 executions) | ref | AVG: 2,151,163
MIN: 2,115,797
MAX: 2,174,685 | AVG: 116,162,852
MIN: 116,120,174
MAX: 116,181,821 | AVG: 87,741,423
MIN: 87,209,686
MAX: 88,267,494 | @@ -94,8 +83,6 @@ | mayo2 (10 executions) | m4f | AVG: 11,917,959
MIN: 11,917,940
MAX: 11,917,980 | AVG: 11,979,613
MIN: 11,979,582
MAX: 11,979,624 | AVG: 5,130,148
MIN: 5,130,131
MAX: 5,130,180 | | mayo2 (10 executions) | ref | AVG: 18,432,706
MIN: 18,432,701
MAX: 18,432,740 | AVG: 23,546,659
MIN: 23,546,640
MAX: 23,546,680 | AVG: 5,494,246
MIN: 5,494,236
MAX: 5,494,276 | | mayo3 (10 executions) | m4f | AVG: 18,946,738
MIN: 18,946,737
MAX: 18,946,740 | AVG: 32,477,408
MIN: 32,477,407
MAX: 32,477,411 | AVG: 16,852,927
MIN: 16,852,799
MAX: 16,853,047 | -| meds13220 (10 executions) | ref | AVG: 47,801,890
MIN: 47,796,259
MAX: 47,805,424 | AVG: 1,774,401,869
MIN: 1,773,011,038
MAX: 1,779,733,959 | AVG: 1,767,764,521
MIN: 1,766,326,468
MAX: 1,773,152,168 | -| meds55604 (10 executions) | ref | AVG: 253,603,604
MIN: 253,590,695
MAX: 253,615,749 | AVG: 8,009,948,412
MIN: 8,009,909,000
MAX: 8,009,995,748 | AVG: 8,320,756,990
MIN: 8,320,682,364
MAX: 8,320,835,448 | | mirith_IIIa_fast (10 executions) | ref | AVG: 3,009,088
MIN: 3,009,084
MAX: 3,009,123 | AVG: 891,195,817
MIN: 891,191,657
MAX: 891,198,221 | AVG: 831,725,932
MIN: 831,697,264
MAX: 831,742,620 | | mirith_IIIb_fast (10 executions) | ref | AVG: 4,565,011
MIN: 4,565,007
MAX: 4,565,046 | AVG: 1,298,812,706
MIN: 1,298,810,546
MAX: 1,298,815,343 | AVG: 1,214,260,655
MIN: 1,214,247,570
MAX: 1,214,277,229 | | mirith_Ia_fast (10 executions) | ref | AVG: 1,303,728
MIN: 1,303,721
MAX: 1,303,764 | AVG: 296,732,107
MIN: 296,728,990
MAX: 296,734,109 | AVG: 276,059,526
MIN: 276,031,297
MAX: 276,080,171 | @@ -154,12 +141,6 @@ | snova-28-17-16-2-esk (10 executions) | ref | AVG: 51,177,590
MIN: 51,177,548
MAX: 51,177,647 | AVG: 23,387,139
MIN: 21,270,788
MAX: 42,311,786 | AVG: 19,180,389
MIN: 19,180,360
MAX: 19,180,440 | | snova-28-17-16-2-ssk (10 executions) | ref | AVG: 51,065,038
MIN: 51,064,999
MAX: 51,065,086 | AVG: 52,865,514
MIN: 50,757,388
MAX: 71,788,606 | AVG: 19,180,379
MIN: 19,180,357
MAX: 19,180,425 | | snova-37-8-16-4-ssk (10 executions) | ref | AVG: 122,023,801
MIN: 122,023,399
MAX: 122,024,216 | AVG: 533,063,912
MIN: 533,033,960
MAX: 533,090,127 | AVG: 335,806,349
MIN: 335,805,890
MAX: 335,806,820 | -| sphincs-a-sha2-128f (10 executions) | ref | AVG: 30,278,936
MIN: 30,278,762
MAX: 30,279,211 | AVG: 382,270,810
MIN: 382,269,421
MAX: 382,271,497 | AVG: 35,695,646
MIN: 35,693,840
MAX: 35,698,828 | -| sphincs-a-sha2-128s (10 executions) | ref | AVG: 814,836,852
MIN: 814,834,574
MAX: 814,838,039 | AVG: 6,981,930,727
MIN: 6,981,924,687
MAX: 6,981,936,443 | AVG: 187,090,082
MIN: 187,087,928
MAX: 187,093,600 | -| sphincs-a-sha2-192f (10 executions) | ref | AVG: 45,930,664
MIN: 45,930,481
MAX: 45,930,983 | AVG: 634,374,072
MIN: 634,373,011
MAX: 634,375,225 | AVG: 35,145,783
MIN: 35,144,266
MAX: 35,146,607 | -| sphincs-a-shake-128f (10 executions) | ref | AVG: 61,578,406
MIN: 61,578,107
MAX: 61,578,885 | AVG: 1,188,147,363
MIN: 1,188,146,489
MAX: 1,188,148,063 | AVG: 76,330,135
MIN: 76,328,602
MAX: 76,331,478 | -| sphincs-a-shake-128s (10 executions) | ref | AVG: 2,342,298,427
MIN: 2,342,296,403
MAX: 2,342,299,607 | AVG: 22,926,754,899
MIN: 22,926,752,978
MAX: 22,926,758,555 | AVG: 241,835,141
MIN: 241,830,735
MAX: 241,838,908 | -| sphincs-a-shake-192f (10 executions) | ref | AVG: 110,027,677
MIN: 110,027,323
MAX: 110,027,950 | AVG: 1,814,954,350
MIN: 1,814,953,585
MAX: 1,814,955,913 | AVG: 64,022,276
MIN: 64,020,853
MAX: 64,023,988 | | sphincs-sha2-128f-simple (10 executions) | clean | AVG: 15,742,990
MIN: 15,742,958
MAX: 15,742,996 | AVG: 368,575,228
MIN: 368,575,193
MAX: 368,575,246 | AVG: 21,923,628
MIN: 21,369,867
MAX: 22,456,717 | | sphincs-sha2-128s-simple (10 executions) | clean | AVG: 1,007,731,522
MIN: 1,007,731,504
MAX: 1,007,731,551 | AVG: 7,657,558,168
MIN: 7,657,558,117
MAX: 7,657,558,212 | AVG: 7,471,794
MIN: 7,228,491
MAX: 7,797,915 | | sphincs-sha2-192f-simple (10 executions) | clean | AVG: 23,570,224
MIN: 23,570,214
MAX: 23,570,257 | AVG: 666,398,438
MIN: 666,398,401
MAX: 666,398,468 | AVG: 35,457,937
MIN: 35,087,854
MAX: 35,973,969 | @@ -216,17 +197,6 @@ | aimer256s | m4speed | 50,032 | 615,856 | 116,936 | | aimer256s | m4stack | 50,032 | 76,032 | 116,936 | | aimer256s | mem_opt | 50,040 | 76,140 | 117,044 | -| ascon-sign-128f-robust | ref | 3,260 | 2,772 | 2,992 | -| ascon-sign-128f-simple | ref | 2,632 | 2,144 | 2,448 | -| ascon-sign-128s-robust | ref | 3,452 | 2,916 | 2,240 | -| ascon-sign-128s-simple | ref | 2,824 | 2,268 | 1,752 | -| ascon-sign-192f-robust | ref | 6,092 | 4,924 | 4,504 | -| ascon-sign-192f-simple | ref | 4,808 | 3,640 | 3,704 | -| ascon-sign-192s-robust | ref | 6,380 | 5,116 | 4,332 | -| ascon-sign-192s-simple | ref | 5,096 | 3,812 | 3,048 | -| biscuit128f | ref | 600 | 137,348 | 14,560 | -| biscuit192f | ref | 640 | 265,964 | 20,796 | -| biscuit256f | ref | 720 | 477,468 | 33,108 | | cross-sha2-r-sdp-1-fast | ref | 5,200 | 218,304 | 105,604 | | cross-sha2-r-sdp-3-fast | ref | 9,920 | 324,764 | 158,132 | | cross-sha2-r-sdpg-1-fast | ref | 2,760 | 130,824 | 69,536 | @@ -268,8 +238,6 @@ | mayo2 | m4f | 111,532 | 124,644 | 278,444 | | mayo2 | ref | 111,532 | 238,324 | 270,260 | | mayo3 | m4f | 244,748 | 340,668 | 469,780 | -| meds13220 | ref | 44,000 | 180,404 | 47,716 | -| meds55604 | ref | 162,196 | 392,852 | 160,324 | | mirith_IIIa_fast | ref | 21,832 | 266,480 | 46,156 | | mirith_IIIb_fast | ref | 32,872 | 298,208 | 59,172 | | mirith_Ia_fast | ref | 10,208 | 122,424 | 22,836 | @@ -328,12 +296,6 @@ | snova-28-17-16-2-esk | ref | 309,216 | 127,232 | 199,684 | | snova-28-17-16-2-ssk | ref | 309,216 | 309,356 | 199,684 | | snova-37-8-16-4-ssk | ref | 640,324 | 640,428 | 411,516 | -| sphincs-a-sha2-128f | ref | 281,168 | 280,772 | 280,656 | -| sphincs-a-sha2-128s | ref | 585,984 | 585,732 | 585,396 | -| sphincs-a-sha2-192f | ref | 504,084 | 502,636 | 502,356 | -| sphincs-a-shake-128f | ref | 281,072 | 280,676 | 280,560 | -| sphincs-a-shake-128s | ref | 585,888 | 585,636 | 585,264 | -| sphincs-a-shake-192f | ref | 503,544 | 502,092 | 501,816 | | sphincs-sha2-128f-simple | clean | 2,856 | 2,468 | 2,664 | | sphincs-sha2-128s-simple | clean | 3,084 | 2,556 | 1,968 | | sphincs-sha2-192f-simple | clean | 5,468 | 4,404 | 4,356 | @@ -346,7 +308,6 @@ | sphincs-shake-192s-simple | clean | 5,252 | 3,996 | 3,160 | | sphincs-shake-256f-simple | clean | 7,928 | 5,876 | 5,448 | | sphincs-shake-256s-simple | clean | 8,220 | 6,004 | 5,048 | -| tuov_v | ref | 503,544 | 502,092 | 501,816 | # Hashing Evaluation ## Key Encapsulation Schemes | Scheme | Implementation | Key Generation [%] | Encapsulation [%] | Decapsulation [%] | @@ -391,17 +352,6 @@ | aimer256s | m4speed | 67.7% | 32.2% | 28.0% | | aimer256s | m4stack | 67.7% | 43.3% | 28.0% | | aimer256s | mem_opt | 58.9% | 42.4% | 27.2% | -| ascon-sign-128f-robust | ref | 0.0% | 0.0% | 0.0% | -| ascon-sign-128f-simple | ref | 0.0% | 0.0% | 0.0% | -| ascon-sign-128s-robust | ref | 0.0% | 0.0% | 0.0% | -| ascon-sign-128s-simple | ref | 0.0% | 0.0% | 0.0% | -| ascon-sign-192f-robust | ref | 0.0% | 0.0% | 0.0% | -| ascon-sign-192f-simple | ref | 0.0% | 0.0% | 0.0% | -| ascon-sign-192s-robust | ref | 0.0% | 0.0% | 0.0% | -| ascon-sign-192s-simple | ref | 0.0% | 0.0% | 0.0% | -| biscuit128f | ref | 54.3% | 9.7% | 8.9% | -| biscuit192f | ref | 54.0% | 6.0% | 5.5% | -| biscuit256f | ref | 54.0% | 4.4% | 4.2% | | cross-sha2-r-sdp-1-fast | ref | 90.2% | 86.3% | 91.0% | | cross-sha2-r-sdp-3-fast | ref | 86.5% | 79.8% | 81.7% | | cross-sha2-r-sdpg-1-fast | ref | 92.9% | 90.9% | 92.1% | @@ -443,8 +393,6 @@ | mayo2 | m4f | 35.2% | 35.5% | 81.2% | | mayo2 | ref | 22.8% | 18.1% | 75.8% | | mayo3 | m4f | 55.4% | 32.6% | 62.2% | -| meds13220 | ref | 2.5% | 5.1% | 4.8% | -| meds55604 | ref | 1.6% | 3.0% | 2.9% | | mirith_IIIa_fast | ref | 64.3% | 6.7% | 6.5% | | mirith_IIIb_fast | ref | 64.5% | 4.7% | 4.6% | | mirith_Ia_fast | ref | 61.4% | 10.1% | 9.7% | @@ -503,12 +451,6 @@ | snova-28-17-16-2-esk | ref | 10.6% | 0.2% | 28.1% | | snova-28-17-16-2-ssk | ref | 10.6% | 10.7% | 28.1% | | snova-37-8-16-4-ssk | ref | 8.8% | 2.0% | 3.4% | -| sphincs-a-sha2-128f | ref | 43.3% | 86.6% | 48.2% | -| sphincs-a-sha2-128s | ref | 72.9% | 88.3% | 11.7% | -| sphincs-a-sha2-192f | ref | 57.5% | 88.3% | 46.0% | -| sphincs-a-shake-128f | ref | 72.3% | 96.2% | 76.0% | -| sphincs-a-shake-128s | ref | 90.9% | 96.9% | 31.8% | -| sphincs-a-shake-192f | ref | 82.6% | 96.5% | 70.7% | | sphincs-sha2-128f-simple | clean | 90.8% | 90.7% | 90.6% | | sphincs-sha2-128s-simple | clean | 90.8% | 90.7% | 90.4% | | sphincs-sha2-192f-simple | clean | 90.2% | 90.8% | 90.7% | @@ -565,17 +507,6 @@ | aimer256s | m4speed | 26,372 | 0 | 0 | 26,372 | | aimer256s | m4stack | 25,928 | 0 | 0 | 25,928 | | aimer256s | mem_opt | 27,636 | 0 | 0 | 27,636 | -| ascon-sign-128f-robust | ref | 17,664 | 0 | 0 | 17,664 | -| ascon-sign-128f-simple | ref | 17,596 | 0 | 0 | 17,596 | -| ascon-sign-128s-robust | ref | 17,972 | 0 | 0 | 17,972 | -| ascon-sign-128s-simple | ref | 17,904 | 0 | 0 | 17,904 | -| ascon-sign-192f-robust | ref | 17,960 | 0 | 0 | 17,960 | -| ascon-sign-192f-simple | ref | 17,912 | 0 | 0 | 17,912 | -| ascon-sign-192s-robust | ref | 18,472 | 0 | 0 | 18,472 | -| ascon-sign-192s-simple | ref | 18,424 | 0 | 0 | 18,424 | -| biscuit128f | ref | 7,580 | 0 | 0 | 7,580 | -| biscuit192f | ref | 7,780 | 0 | 0 | 7,780 | -| biscuit256f | ref | 8,216 | 0 | 0 | 8,216 | | cross-sha2-r-sdp-1-fast | ref | 14,244 | 0 | 104 | 14,348 | | cross-sha2-r-sdp-3-fast | ref | 14,744 | 0 | 128 | 14,872 | | cross-sha2-r-sdpg-1-fast | ref | 18,409 | 0 | 104 | 18,513 | @@ -617,8 +548,6 @@ | mayo2 | m4f | 17,292 | 8 | 0 | 17,300 | | mayo2 | ref | 24,404 | 8 | 0 | 24,412 | | mayo3 | m4f | 23,612 | 8 | 0 | 23,620 | -| meds13220 | ref | 16,844 | 0 | 0 | 16,844 | -| meds55604 | ref | 9,012 | 0 | 0 | 9,012 | | mirith_IIIa_fast | ref | 7,720 | 256 | 0 | 7,976 | | mirith_IIIb_fast | ref | 7,760 | 256 | 0 | 8,016 | | mirith_Ia_fast | ref | 7,610 | 256 | 0 | 7,866 | @@ -677,12 +606,6 @@ | snova-28-17-16-2-esk | ref | 16,436 | 0 | 280 | 16,716 | | snova-28-17-16-2-ssk | ref | 16,436 | 0 | 280 | 16,716 | | snova-37-8-16-4-ssk | ref | 52,440 | 0 | 336 | 52,776 | -| sphincs-a-sha2-128f | ref | 6,343 | 0 | 0 | 6,343 | -| sphincs-a-sha2-128s | ref | 6,899 | 0 | 0 | 6,899 | -| sphincs-a-sha2-192f | ref | 6,867 | 0 | 0 | 6,867 | -| sphincs-a-shake-128f | ref | 5,552 | 0 | 0 | 5,552 | -| sphincs-a-shake-128s | ref | 6,108 | 0 | 0 | 6,108 | -| sphincs-a-shake-192f | ref | 5,916 | 0 | 0 | 5,916 | | sphincs-sha2-128f-simple | clean | 4,956 | 0 | 0 | 4,956 | | sphincs-sha2-128s-simple | clean | 5,264 | 0 | 0 | 5,264 | | sphincs-sha2-192f-simple | clean | 5,444 | 0 | 0 | 5,444 | diff --git a/mupq b/mupq index 8e62b94b..21dbaf66 160000 --- a/mupq +++ b/mupq @@ -1 +1 @@ -Subproject commit 8e62b94bfb8125fc81ac2774f8aa8b44120bc619 +Subproject commit 21dbaf66627cbb3ac326e4b695a70b13e21d3914 diff --git a/skiplist.py b/skiplist.py index ae2c41ce..4ae65098 100644 --- a/skiplist.py +++ b/skiplist.py @@ -17,12 +17,12 @@ {'scheme': 'aimer256s', 'implementation': 'm4speed', 'estmemory': 633856}, {'scheme': 'aimer128f', 'implementation': 'm4stack', 'estmemory': 22528}, {'scheme': 'aimer128f', 'implementation': 'm4speed', 'estmemory': 131072}, - {'scheme': 'aimer192s_mem', 'implementation': 'mem_opt', 'estmemory': 70656}, - {'scheme': 'aimer192f_mem', 'implementation': 'mem_opt', 'estmemory': 46080}, - {'scheme': 'aimer128s_mem', 'implementation': 'mem_opt', 'estmemory': 39936}, - {'scheme': 'aimer256f_mem', 'implementation': 'mem_opt', 'estmemory': 105472}, - {'scheme': 'aimer256s_mem', 'implementation': 'mem_opt', 'estmemory': 135168}, - {'scheme': 'aimer128f_mem', 'implementation': 'mem_opt', 'estmemory': 22528}, + {'scheme': 'aimer192s', 'implementation': 'mem_opt', 'estmemory': 70656}, + {'scheme': 'aimer192f', 'implementation': 'mem_opt', 'estmemory': 46080}, + {'scheme': 'aimer128s', 'implementation': 'mem_opt', 'estmemory': 39936}, + {'scheme': 'aimer256f', 'implementation': 'mem_opt', 'estmemory': 105472}, + {'scheme': 'aimer256s', 'implementation': 'mem_opt', 'estmemory': 135168}, + {'scheme': 'aimer128f', 'implementation': 'mem_opt', 'estmemory': 22528}, {'scheme': 'ascon-sign-128f-robust', 'implementation': 'ref', 'estmemory': 21504}, {'scheme': 'ascon-sign-128f-simple', 'implementation': 'ref', 'estmemory': 21504}, {'scheme': 'ascon-sign-128s-robust', 'implementation': 'ref', 'estmemory': 12288}, @@ -35,12 +35,6 @@ {'scheme': 'bikel1', 'implementation': 'opt', 'estmemory': 90112}, {'scheme': 'bikel3', 'implementation': 'm4f', 'estmemory': 194560}, {'scheme': 'bikel3', 'implementation': 'opt', 'estmemory': 175104}, - {'scheme': 'biscuit128f', 'implementation': 'ref', 'estmemory': 145408}, - {'scheme': 'biscuit128s', 'implementation': 'ref', 'estmemory': 1099776}, - {'scheme': 'biscuit192f', 'implementation': 'ref', 'estmemory': 282624}, - {'scheme': 'biscuit192s', 'implementation': 'ref', 'estmemory': 2257920}, - {'scheme': 'biscuit256f', 'implementation': 'ref', 'estmemory': 505856}, - {'scheme': 'biscuit256s', 'implementation': 'ref', 'estmemory': 4004864}, {'scheme': 'cross-sha2-r-sdp-1-fast', 'implementation': 'ref', 'estmemory': 234496}, {'scheme': 'cross-sha2-r-sdp-1-small', 'implementation': 'ref', 'estmemory': 721920}, {'scheme': 'cross-sha2-r-sdp-3-fast', 'implementation': 'ref', 'estmemory': 365568}, @@ -115,12 +109,6 @@ {'scheme': 'mceliece6960119f', 'implementation': 'clean', 'estmemory': 2586624}, {'scheme': 'mceliece8192128', 'implementation': 'clean', 'estmemory': 3259392}, {'scheme': 'mceliece8192128f', 'implementation': 'clean', 'estmemory': 3260416}, - {'scheme': 'meds13220', 'implementation': 'ref', 'estmemory': 209920}, - {'scheme': 'meds134180', 'implementation': 'ref', 'estmemory': 1152000}, - {'scheme': 'meds167717', 'implementation': 'ref', 'estmemory': 927744}, - {'scheme': 'meds41711', 'implementation': 'ref', 'estmemory': 1387520}, - {'scheme': 'meds55604', 'implementation': 'ref', 'estmemory': 509952}, - {'scheme': 'meds9923', 'implementation': 'ref', 'estmemory': 1019904}, {'scheme': 'mirith_IIIa_fast', 'implementation': 'ref', 'estmemory': 287744}, {'scheme': 'mirith_IIIa_short', 'implementation': 'ref', 'estmemory': 2197504}, {'scheme': 'mirith_IIIb_fast', 'implementation': 'ref', 'estmemory': 320512}, @@ -213,18 +201,6 @@ {'scheme': 'snova-61-33-16-2-ssk', 'implementation': 'ref', 'estmemory': 2717696}, {'scheme': 'snova-66-15-16-3-esk', 'implementation': 'ref', 'estmemory': 2617344}, {'scheme': 'snova-66-15-16-3-ssk', 'implementation': 'ref', 'estmemory': 2185216}, - {'scheme': 'sphincs-a-sha2-128f', 'implementation': 'ref', 'estmemory': 301056}, - {'scheme': 'sphincs-a-sha2-128s', 'implementation': 'ref', 'estmemory': 595968}, - {'scheme': 'sphincs-a-sha2-192f', 'implementation': 'ref', 'estmemory': 542720}, - {'scheme': 'sphincs-a-sha2-192s', 'implementation': 'ref', 'estmemory': 1307648}, - {'scheme': 'sphincs-a-sha2-256f', 'implementation': 'ref', 'estmemory': 1124352}, - {'scheme': 'sphincs-a-sha2-256s', 'implementation': 'ref', 'estmemory': 2291712}, - {'scheme': 'sphincs-a-shake-128f', 'implementation': 'ref', 'estmemory': 301056}, - {'scheme': 'sphincs-a-shake-128s', 'implementation': 'ref', 'estmemory': 595968}, - {'scheme': 'sphincs-a-shake-192f', 'implementation': 'ref', 'estmemory': 541696}, - {'scheme': 'sphincs-a-shake-192s', 'implementation': 'ref', 'estmemory': 1306624}, - {'scheme': 'sphincs-a-shake-256f', 'implementation': 'ref', 'estmemory': 1124352}, - {'scheme': 'sphincs-a-shake-256s', 'implementation': 'ref', 'estmemory': 2291712}, {'scheme': 'sphincs-sha2-128f-simple', 'implementation': 'clean', 'estmemory': 21504}, {'scheme': 'sphincs-sha2-128s-simple', 'implementation': 'clean', 'estmemory': 12288}, {'scheme': 'sphincs-sha2-192f-simple', 'implementation': 'clean', 'estmemory': 43008}, @@ -237,17 +213,6 @@ {'scheme': 'sphincs-shake-192s-simple', 'implementation': 'clean', 'estmemory': 22528}, {'scheme': 'sphincs-shake-256f-simple', 'implementation': 'clean', 'estmemory': 59392}, {'scheme': 'sphincs-shake-256s-simple', 'implementation': 'clean', 'estmemory': 38912}, - {'scheme': 'tuov_iii', 'implementation': 'ref', 'estmemory': 3281920}, - {'scheme': 'tuov_iii_pkc', 'implementation': 'ref', 'estmemory': 3468288}, - {'scheme': 'tuov_iii_pkc_skc', 'implementation': 'ref', 'estmemory': 3790848}, - {'scheme': 'tuov_ip', 'implementation': 'ref', 'estmemory': 3790848}, - {'scheme': 'tuov_ip_pkc', 'implementation': 'ref', 'estmemory': 799744}, - {'scheme': 'tuov_ip_pkc_skc', 'implementation': 'ref', 'estmemory': 865280}, - {'scheme': 'tuov_is', 'implementation': 'ref', 'estmemory': 1111040}, - {'scheme': 'tuov_is_pkc', 'implementation': 'ref', 'estmemory': 1176576}, - {'scheme': 'tuov_is_pkc_skc', 'implementation': 'ref', 'estmemory': 1275904}, - {'scheme': 'tuov_v_pkc', 'implementation': 'ref', 'estmemory': 7083008}, - {'scheme': 'tuov_v_pkc_skc', 'implementation': 'ref', 'estmemory': 4639744}, {'scheme': 'falcon-padded-1024', 'implementation': 'clean', 'estmemory': 91136}, {'scheme': 'falcon-padded-512', 'implementation': 'clean', 'estmemory': 48128}, {'scheme': 'ml-dsa-87', 'implementation': 'm4fstack', 'estmemory': 21504},