diff --git a/benchmarks.csv b/benchmarks.csv index 6064966e..97b429de 100644 --- a/benchmarks.csv +++ b/benchmarks.csv @@ -8,15 +8,15 @@ bikel3 (10 executions),opt,248083316,248083286,248083345,16405238,16405236,16405 hqc-128 (10 executions),clean,52705201,52705180,52705224,105650897,105650877,105650927,159569179,159569176,159569183 hqc-192 (10 executions),clean,161458617,161458590,161458638,323146261,323146250,323146292,486156251,486156214,486156266 hqc-256 (10 executions),clean,295934078,295934057,295934104,591853870,591853850,591853898,891163005,891162988,891163038 -kyber1024 (10 executions),clean,1540378,1537672,1549497,1707203,1704498,1716319,2019461,2016781,2028566 -kyber1024 (10 executions),m4fspeed,1007332,1004620,1027834,1025692,1023006,1046169,1088140,1085497,1108618 -kyber1024 (10 executions),m4fstack,1010439,1007447,1019916,1034164,1031168,1043640,1097375,1094378,1106850 -kyber512 (10 executions),clean,596231,595868,596646,696137,695809,696547,884186,883823,884599 -kyber512 (10 executions),m4fspeed,387168,386737,387669,386230,385800,386729,423509,423078,424010 -kyber512 (10 executions),m4fstack,386859,386551,387231,388111,387802,388486,425445,425136,425820 -kyber768 (10 executions),clean,990392,988002,998996,1134996,1132606,1143599,1384768,1382378,1393371 -kyber768 (10 executions),m4fspeed,631922,631406,632490,651769,651258,652364,700842,700331,701436 -kyber768 (10 executions),m4fstack,633057,632425,633410,656716,656088,657072,706247,705620,706604 +kyber1024 (10 executions),clean,1540394,1537580,1549267,1712150,1709337,1721019,2024408,2021583,2033304 +kyber1024 (10 executions),m4fspeed,1006341,1004590,1016692,1029398,1027642,1039752,1091847,1090091,1102201 +kyber1024 (10 executions),m4fstack,1009603,1007702,1019835,1038001,1036100,1048226,1101208,1099307,1111470 +kyber512 (10 executions),clean,597372,596106,607563,702227,700957,712416,890274,889008,900467 +kyber512 (10 executions),m4fspeed,387341,386762,387769,391098,390520,391527,428365,427786,428794 +kyber512 (10 executions),m4fstack,386853,386573,387221,392801,392521,393166,430140,429861,430504 +kyber768 (10 executions),clean,989247,987825,999577,1138807,1137381,1149131,1388568,1387146,1398896 +kyber768 (10 executions),m4fspeed,631912,631599,632459,656455,656155,656969,705524,705223,706037 +kyber768 (10 executions),m4fstack,634213,632786,644273,662556,661130,672615,712081,710655,722140 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) aimer-l1-param1 (10 executions),ref,392943,392938,392977,32386301,32386203,32386424,31111672,31111588,31111782 @@ -311,15 +311,15 @@ bikel3,opt,0.0,6.3,0.2,,,,,, hqc-128,clean,0.4,0.8,0.5,,,,,, hqc-192,clean,0.3,0.5,0.3,,,,,, hqc-256,clean,0.2,0.4,0.3,,,,,, -kyber1024,clean,50.0,45.8,38.7,,,,,, -kyber1024,m4fspeed,76.0,75.8,71.5,,,,,, -kyber1024,m4fstack,75.9,75.3,71.0,,,,,, -kyber512,clean,49.8,41.4,32.6,,,,,, -kyber512,m4fspeed,76.6,74.4,68.0,,,,,, -kyber512,m4fstack,76.6,74.0,67.6,,,,,, -kyber768,clean,48.4,43.3,35.5,,,,,, -kyber768,m4fspeed,75.4,74.9,69.6,,,,,, -kyber768,m4fstack,75.4,74.5,69.3,,,,,, +kyber1024,clean,49.9,45.6,38.6,,,,,, +kyber1024,m4fspeed,76.1,75.5,71.2,,,,,, +kyber1024,m4fstack,75.8,74.9,70.6,,,,,, +kyber512,clean,49.8,41.1,32.5,,,,,, +kyber512,m4fspeed,76.5,73.5,67.1,,,,,, +kyber512,m4fstack,76.5,73.1,66.8,,,,,, +kyber768,clean,48.5,43.2,35.4,,,,,, +kyber768,m4fspeed,75.4,74.4,69.2,,,,,, +kyber768,m4fstack,75.3,73.8,68.7,,,,,, Signature Schemes,,,,,,,,,, Scheme,Implementation,Key Generation [%],Sign [%],Verify [%],,,,,, aimer-l1-param1,ref,72.0,47.2,46.7,,,,,, @@ -463,15 +463,15 @@ bikel3,opt,43091,24,1,43116,,,,, hqc-128,clean,18628,0,0,18628,,,,, hqc-192,clean,21104,0,0,21104,,,,, hqc-256,clean,26260,0,0,26260,,,,, -kyber1024,clean,6296,0,0,6296,,,,, -kyber1024,m4fspeed,16912,0,0,16912,,,,, -kyber1024,m4fstack,14120,0,0,14120,,,,, -kyber512,clean,5164,0,0,5164,,,,, -kyber512,m4fspeed,15824,0,0,15824,,,,, -kyber512,m4fstack,13308,0,0,13308,,,,, -kyber768,clean,5168,0,0,5168,,,,, -kyber768,m4fspeed,15992,0,0,15992,,,,, -kyber768,m4fstack,13316,0,0,13316,,,,, +kyber1024,clean,6264,0,0,6264,,,,, +kyber1024,m4fspeed,16884,0,0,16884,,,,, +kyber1024,m4fstack,14092,0,0,14092,,,,, +kyber512,clean,5132,0,0,5132,,,,, +kyber512,m4fspeed,15796,0,0,15796,,,,, +kyber512,m4fstack,13280,0,0,13280,,,,, +kyber768,clean,5136,0,0,5136,,,,, +kyber768,m4fspeed,15964,0,0,15964,,,,, +kyber768,m4fstack,13288,0,0,13288,,,,, Signature Schemes,,,,,,,,,, Scheme,Implementation,.text [bytes],.data [bytes],.bss [bytes],Total [bytes],,,,, aimer-l1-param1,ref,19302,468,0,19770,,,,, diff --git a/benchmarks.md b/benchmarks.md index ba34c3d9..bd700509 100644 --- a/benchmarks.md +++ b/benchmarks.md @@ -9,15 +9,15 @@ | hqc-128 (10 executions) | clean | AVG: 52,705,201
MIN: 52,705,180
MAX: 52,705,224 | AVG: 105,650,897
MIN: 105,650,877
MAX: 105,650,927 | AVG: 159,569,179
MIN: 159,569,176
MAX: 159,569,183 | | hqc-192 (10 executions) | clean | AVG: 161,458,617
MIN: 161,458,590
MAX: 161,458,638 | AVG: 323,146,261
MIN: 323,146,250
MAX: 323,146,292 | AVG: 486,156,251
MIN: 486,156,214
MAX: 486,156,266 | | hqc-256 (10 executions) | clean | AVG: 295,934,078
MIN: 295,934,057
MAX: 295,934,104 | AVG: 591,853,870
MIN: 591,853,850
MAX: 591,853,898 | AVG: 891,163,005
MIN: 891,162,988
MAX: 891,163,038 | -| kyber1024 (10 executions) | clean | AVG: 1,540,378
MIN: 1,537,672
MAX: 1,549,497 | AVG: 1,707,203
MIN: 1,704,498
MAX: 1,716,319 | AVG: 2,019,461
MIN: 2,016,781
MAX: 2,028,566 | -| kyber1024 (10 executions) | m4fspeed | AVG: 1,007,332
MIN: 1,004,620
MAX: 1,027,834 | AVG: 1,025,692
MIN: 1,023,006
MAX: 1,046,169 | AVG: 1,088,140
MIN: 1,085,497
MAX: 1,108,618 | -| kyber1024 (10 executions) | m4fstack | AVG: 1,010,439
MIN: 1,007,447
MAX: 1,019,916 | AVG: 1,034,164
MIN: 1,031,168
MAX: 1,043,640 | AVG: 1,097,375
MIN: 1,094,378
MAX: 1,106,850 | -| kyber512 (10 executions) | clean | AVG: 596,231
MIN: 595,868
MAX: 596,646 | AVG: 696,137
MIN: 695,809
MAX: 696,547 | AVG: 884,186
MIN: 883,823
MAX: 884,599 | -| kyber512 (10 executions) | m4fspeed | AVG: 387,168
MIN: 386,737
MAX: 387,669 | AVG: 386,230
MIN: 385,800
MAX: 386,729 | AVG: 423,509
MIN: 423,078
MAX: 424,010 | -| kyber512 (10 executions) | m4fstack | AVG: 386,859
MIN: 386,551
MAX: 387,231 | AVG: 388,111
MIN: 387,802
MAX: 388,486 | AVG: 425,445
MIN: 425,136
MAX: 425,820 | -| kyber768 (10 executions) | clean | AVG: 990,392
MIN: 988,002
MAX: 998,996 | AVG: 1,134,996
MIN: 1,132,606
MAX: 1,143,599 | AVG: 1,384,768
MIN: 1,382,378
MAX: 1,393,371 | -| kyber768 (10 executions) | m4fspeed | AVG: 631,922
MIN: 631,406
MAX: 632,490 | AVG: 651,769
MIN: 651,258
MAX: 652,364 | AVG: 700,842
MIN: 700,331
MAX: 701,436 | -| kyber768 (10 executions) | m4fstack | AVG: 633,057
MIN: 632,425
MAX: 633,410 | AVG: 656,716
MIN: 656,088
MAX: 657,072 | AVG: 706,247
MIN: 705,620
MAX: 706,604 | +| kyber1024 (10 executions) | clean | AVG: 1,540,394
MIN: 1,537,580
MAX: 1,549,267 | AVG: 1,712,150
MIN: 1,709,337
MAX: 1,721,019 | AVG: 2,024,408
MIN: 2,021,583
MAX: 2,033,304 | +| kyber1024 (10 executions) | m4fspeed | AVG: 1,006,341
MIN: 1,004,590
MAX: 1,016,692 | AVG: 1,029,398
MIN: 1,027,642
MAX: 1,039,752 | AVG: 1,091,847
MIN: 1,090,091
MAX: 1,102,201 | +| kyber1024 (10 executions) | m4fstack | AVG: 1,009,603
MIN: 1,007,702
MAX: 1,019,835 | AVG: 1,038,001
MIN: 1,036,100
MAX: 1,048,226 | AVG: 1,101,208
MIN: 1,099,307
MAX: 1,111,470 | +| kyber512 (10 executions) | clean | AVG: 597,372
MIN: 596,106
MAX: 607,563 | AVG: 702,227
MIN: 700,957
MAX: 712,416 | AVG: 890,274
MIN: 889,008
MAX: 900,467 | +| kyber512 (10 executions) | m4fspeed | AVG: 387,341
MIN: 386,762
MAX: 387,769 | AVG: 391,098
MIN: 390,520
MAX: 391,527 | AVG: 428,365
MIN: 427,786
MAX: 428,794 | +| kyber512 (10 executions) | m4fstack | AVG: 386,853
MIN: 386,573
MAX: 387,221 | AVG: 392,801
MIN: 392,521
MAX: 393,166 | AVG: 430,140
MIN: 429,861
MAX: 430,504 | +| kyber768 (10 executions) | clean | AVG: 989,247
MIN: 987,825
MAX: 999,577 | AVG: 1,138,807
MIN: 1,137,381
MAX: 1,149,131 | AVG: 1,388,568
MIN: 1,387,146
MAX: 1,398,896 | +| kyber768 (10 executions) | m4fspeed | AVG: 631,912
MIN: 631,599
MAX: 632,459 | AVG: 656,455
MIN: 656,155
MAX: 656,969 | AVG: 705,524
MIN: 705,223
MAX: 706,037 | +| kyber768 (10 executions) | m4fstack | AVG: 634,213
MIN: 632,786
MAX: 644,273 | AVG: 662,556
MIN: 661,130
MAX: 672,615 | AVG: 712,081
MIN: 710,655
MAX: 722,140 | ## Signature Schemes | scheme | implementation | key generation [cycles] | sign [cycles] | verify [cycles] | | ------ | -------------- | ----------------------- | ------------- | --------------- | @@ -316,15 +316,15 @@ | hqc-128 | clean | 0.4% | 0.8% | 0.5% | | hqc-192 | clean | 0.3% | 0.5% | 0.3% | | hqc-256 | clean | 0.2% | 0.4% | 0.3% | -| kyber1024 | clean | 50.0% | 45.8% | 38.7% | -| kyber1024 | m4fspeed | 76.0% | 75.8% | 71.5% | -| kyber1024 | m4fstack | 75.9% | 75.3% | 71.0% | -| kyber512 | clean | 49.8% | 41.4% | 32.6% | -| kyber512 | m4fspeed | 76.6% | 74.4% | 68.0% | -| kyber512 | m4fstack | 76.6% | 74.0% | 67.6% | -| kyber768 | clean | 48.4% | 43.3% | 35.5% | -| kyber768 | m4fspeed | 75.4% | 74.9% | 69.6% | -| kyber768 | m4fstack | 75.4% | 74.5% | 69.3% | +| kyber1024 | clean | 49.9% | 45.6% | 38.6% | +| kyber1024 | m4fspeed | 76.1% | 75.5% | 71.2% | +| kyber1024 | m4fstack | 75.8% | 74.9% | 70.6% | +| kyber512 | clean | 49.8% | 41.1% | 32.5% | +| kyber512 | m4fspeed | 76.5% | 73.5% | 67.1% | +| kyber512 | m4fstack | 76.5% | 73.1% | 66.8% | +| kyber768 | clean | 48.5% | 43.2% | 35.4% | +| kyber768 | m4fspeed | 75.4% | 74.4% | 69.2% | +| kyber768 | m4fstack | 75.3% | 73.8% | 68.7% | ## Signature Schemes | Scheme | Implementation | Key Generation [%] | Sign [%] | Verify [%] | | ------ | -------------- | ------------------ | -------- | ---------- | @@ -470,15 +470,15 @@ | hqc-128 | clean | 18,628 | 0 | 0 | 18,628 | | hqc-192 | clean | 21,104 | 0 | 0 | 21,104 | | hqc-256 | clean | 26,260 | 0 | 0 | 26,260 | -| kyber1024 | clean | 6,296 | 0 | 0 | 6,296 | -| kyber1024 | m4fspeed | 16,912 | 0 | 0 | 16,912 | -| kyber1024 | m4fstack | 14,120 | 0 | 0 | 14,120 | -| kyber512 | clean | 5,164 | 0 | 0 | 5,164 | -| kyber512 | m4fspeed | 15,824 | 0 | 0 | 15,824 | -| kyber512 | m4fstack | 13,308 | 0 | 0 | 13,308 | -| kyber768 | clean | 5,168 | 0 | 0 | 5,168 | -| kyber768 | m4fspeed | 15,992 | 0 | 0 | 15,992 | -| kyber768 | m4fstack | 13,316 | 0 | 0 | 13,316 | +| kyber1024 | clean | 6,264 | 0 | 0 | 6,264 | +| kyber1024 | m4fspeed | 16,884 | 0 | 0 | 16,884 | +| kyber1024 | m4fstack | 14,092 | 0 | 0 | 14,092 | +| kyber512 | clean | 5,132 | 0 | 0 | 5,132 | +| kyber512 | m4fspeed | 15,796 | 0 | 0 | 15,796 | +| kyber512 | m4fstack | 13,280 | 0 | 0 | 13,280 | +| kyber768 | clean | 5,136 | 0 | 0 | 5,136 | +| kyber768 | m4fspeed | 15,964 | 0 | 0 | 15,964 | +| kyber768 | m4fstack | 13,288 | 0 | 0 | 13,288 | ## Signature Schemes | Scheme | Implementation | .text [bytes] | .data [bytes] | .bss [bytes] | Total [bytes] | | ------ | -------------- | ------------- | ------------- | ------------ | ------------- |