Skip to content

Latest commit

 

History

History
328 lines (328 loc) · 31.8 KB

benchmarks.md

File metadata and controls

328 lines (328 loc) · 31.8 KB

Speed Evaluation

Key Encapsulation Schemes

scheme implementation key generation [cycles] encapsulation [cycles] decapsulation [cycles]
bikel1 (100 executions) m4f AVG: 24,974,536
MIN: 24,950,520
MAX: 24,991,477
AVG: 3,394,030
MIN: 3,378,190
MAX: 3,414,910
AVG: 51,214,664
MIN: 51,198,795
MAX: 51,235,513
bikel1 (100 executions) opt AVG: 68,198,074
MIN: 68,181,729
MAX: 68,218,850
AVG: 5,085,537
MIN: 5,068,825
MAX: 5,101,896
AVG: 121,429,912
MIN: 121,416,187
MAX: 121,446,269
hqc-rmrs-128 (100 executions) clean AVG: 2,883,811
MIN: 2,850,356
MAX: 3,090,278
AVG: 5,236,720
MIN: 5,150,902
MAX: 5,554,288
AVG: 7,594,631
MIN: 7,482,072
MAX: 7,890,446
kyber1024 (100 executions) clean AVG: 1,649,604
MIN: 1,646,417
MAX: 1,686,328
AVG: 2,016,366
MIN: 2,013,177
MAX: 2,053,070
AVG: 2,159,906
MIN: 2,156,716
MAX: 2,196,609
kyber1024 (100 executions) m4fspeed AVG: 1,122,936
MIN: 1,120,610
MAX: 1,147,966
AVG: 1,315,737
MIN: 1,313,449
MAX: 1,340,766
AVG: 1,209,901
MIN: 1,207,648
MAX: 1,234,899
kyber1024 (100 executions) m4fstack AVG: 1,126,561
MIN: 1,124,115
MAX: 1,138,795
AVG: 1,323,943
MIN: 1,321,497
MAX: 1,336,212
AVG: 1,219,060
MIN: 1,216,614
MAX: 1,231,295
kyber1024-90s (100 executions) clean AVG: 3,008,837
MIN: 3,007,295
MAX: 3,024,024
AVG: 3,275,730
MIN: 3,274,235
MAX: 3,290,907
AVG: 3,516,691
MIN: 3,515,163
MAX: 3,531,901
kyber1024-90s (100 executions) m4fspeed AVG: 973,196
MIN: 961,657
MAX: 978,853
AVG: 1,068,184
MIN: 1,056,648
MAX: 1,073,886
AVG: 1,059,775
MIN: 1,048,239
MAX: 1,065,477
kyber1024-90s (100 executions) m4fstack AVG: 979,692
MIN: 972,492
MAX: 985,031
AVG: 1,079,272
MIN: 1,072,072
MAX: 1,084,611
AVG: 1,071,817
MIN: 1,064,616
MAX: 1,077,155
kyber512 (100 executions) clean AVG: 636,181
MIN: 635,670
MAX: 648,917
AVG: 843,945
MIN: 843,433
MAX: 856,680
AVG: 940,320
MIN: 939,808
MAX: 953,055
kyber512 (100 executions) m4fspeed AVG: 434,438
MIN: 433,217
MAX: 446,786
AVG: 530,469
MIN: 529,247
MAX: 542,816
AVG: 476,712
MIN: 475,491
MAX: 489,060
kyber512 (100 executions) m4fstack AVG: 433,718
MIN: 433,191
MAX: 446,122
AVG: 531,676
MIN: 531,150
MAX: 544,080
AVG: 478,166
MIN: 477,640
MAX: 490,570
kyber512-90s (100 executions) clean AVG: 948,446
MIN: 947,802
MAX: 964,084
AVG: 1,112,852
MIN: 1,112,208
MAX: 1,128,491
AVG: 1,261,630
MIN: 1,260,986
MAX: 1,277,269
kyber512-90s (100 executions) m4fspeed AVG: 369,011
MIN: 364,769
MAX: 373,816
AVG: 421,685
MIN: 417,443
MAX: 426,490
AVG: 420,333
MIN: 416,092
MAX: 425,139
kyber512-90s (100 executions) m4fstack AVG: 369,736
MIN: 361,461
MAX: 370,708
AVG: 424,339
MIN: 416,065
MAX: 425,312
AVG: 423,234
MIN: 414,960
MAX: 424,207
kyber768 (100 executions) clean AVG: 1,059,876
MIN: 1,057,827
MAX: 1,071,809
AVG: 1,352,934
MIN: 1,350,884
MAX: 1,364,866
AVG: 1,471,055
MIN: 1,469,005
MAX: 1,482,987
kyber768 (100 executions) m4fspeed AVG: 706,531
MIN: 703,969
MAX: 718,271
AVG: 863,343
MIN: 860,765
MAX: 875,091
AVG: 783,369
MIN: 780,788
MAX: 795,114
kyber768 (100 executions) m4fstack AVG: 707,275
MIN: 705,435
MAX: 719,983
AVG: 867,363
MIN: 865,520
MAX: 880,070
AVG: 788,053
MIN: 786,210
MAX: 800,760
kyber768-90s (100 executions) clean AVG: 1,816,649
MIN: 1,815,810
MAX: 1,831,510
AVG: 2,032,562
MIN: 2,031,722
MAX: 2,047,390
AVG: 2,225,597
MIN: 2,224,757
MAX: 2,240,425
kyber768-90s (100 executions) m4fspeed AVG: 614,455
MIN: 610,716
MAX: 619,096
AVG: 694,064
MIN: 690,330
MAX: 698,723
AVG: 688,999
MIN: 685,265
MAX: 693,658
kyber768-90s (100 executions) m4fstack AVG: 617,709
MIN: 613,688
MAX: 622,666
AVG: 700,599
MIN: 696,577
MAX: 705,555
AVG: 696,202
MIN: 692,181
MAX: 701,159

Signature Schemes

scheme implementation key generation [cycles] sign [cycles] verify [cycles]
dilithium2 (10000 executions) clean AVG: 1,944,539
MIN: 1,890,031
MAX: 1,991,828
AVG: 7,144,383
MIN: 3,140,649
MAX: 63,849,339
AVG: 2,064,129
MIN: 2,063,522
MAX: 2,064,634
dilithium2 (10000 executions) m4f AVG: 1,597,999
MIN: 1,543,482
MAX: 1,644,972
AVG: 4,111,596
MIN: 1,975,193
MAX: 28,355,968
AVG: 1,571,804
MIN: 1,571,197
MAX: 1,572,305
dilithium2aes (10000 executions) clean AVG: 4,995,899
MIN: 4,936,813
MAX: 5,118,217
AVG: 11,648,989
MIN: 6,130,462
MAX: 61,958,375
AVG: 4,669,616
MIN: 4,610,387
MAX: 4,791,733
dilithium3 (10000 executions) clean AVG: 3,365,142
MIN: 3,363,198
MAX: 3,378,304
AVG: 11,634,591
MIN: 4,892,049
MAX: 79,793,644
AVG: 3,430,286
MIN: 3,429,812
MAX: 3,430,778
dilithium3 (10000 executions) m4f AVG: 2,830,024
MIN: 2,828,027
MAX: 2,832,150
AVG: 6,588,465
MIN: 3,224,221
MAX: 46,880,624
AVG: 2,691,283
MIN: 2,690,800
MAX: 2,691,739
dilithium3aes (10000 executions) clean AVG: 8,980,662
MIN: 8,870,698
MAX: 9,135,481
AVG: 19,843,507
MIN: 10,319,280
MAX: 112,310,317
AVG: 8,314,038
MIN: 8,205,198
MAX: 8,468,692
dilithium5 (10000 executions) m4f AVG: 4,826,422
MIN: 4,737,706
MAX: 4,914,744
AVG: 8,779,067
MIN: 5,416,181
MAX: 52,012,847
AVG: 4,705,693
MIN: 4,705,090
MAX: 4,706,259
falcon-1024 (100 executions) clean AVG: 589,059,133
MIN: 334,912,351
MAX: 1,243,184,474
AVG: 133,598,726
MIN: 133,189,548
MAX: 133,921,649
AVG: 1,547,336
MIN: 1,546,772
MAX: 1,548,051
falcon-1024 (100 executions) m4-ct AVG: 480,071,949
MIN: 271,647,441
MAX: 1,227,690,897
AVG: 85,125,001
MIN: 84,882,111
MAX: 85,556,430
AVG: 994,972
MIN: 983,996
MAX: 1,002,867
falcon-1024 (100 executions) opt-ct AVG: 437,448,136
MIN: 271,659,962
MAX: 1,092,676,507
AVG: 85,113,093
MIN: 84,848,956
MAX: 85,473,992
AVG: 994,270
MIN: 984,187
MAX: 1,002,619
falcon-1024 (100 executions) opt-leaktime AVG: 413,908,640
MIN: 243,261,195
MAX: 1,126,577,305
AVG: 76,314,462
MIN: 75,745,413
MAX: 76,892,801
AVG: 994,634
MIN: 982,708
MAX: 1,002,471
falcon-512 (100 executions) clean AVG: 217,740,948
MIN: 129,494,100
MAX: 511,780,471
AVG: 61,102,456
MIN: 60,847,251
MAX: 61,330,321
AVG: 774,876
MIN: 774,536
MAX: 775,376
falcon-512 (100 executions) m4-ct AVG: 155,757,768
MIN: 101,804,738
MAX: 436,771,421
AVG: 38,979,435
MIN: 38,774,219
MAX: 39,146,132
AVG: 481,452
MIN: 472,089
MAX: 488,157
falcon-512 (100 executions) opt-ct AVG: 169,979,748
MIN: 101,804,734
MAX: 511,094,390
AVG: 38,995,196
MIN: 38,771,533
MAX: 39,280,349
AVG: 481,457
MIN: 472,109
MAX: 488,208
falcon-512 (100 executions) opt-leaktime AVG: 154,344,796
MIN: 89,719,505
MAX: 442,643,356
AVG: 35,503,133
MIN: 35,166,340
MAX: 35,923,860
AVG: 480,806
MIN: 472,450
MAX: 489,614
falcon-512-tree (100 executions) m4-ct AVG: 179,772,454
MIN: 116,934,668
MAX: 497,881,688
AVG: 17,649,735
MIN: 17,489,319
MAX: 17,847,797
AVG: 480,619
MIN: 471,367
MAX: 488,548
falcon-512-tree (100 executions) opt-ct AVG: 185,495,778
MIN: 116,934,665
MAX: 591,766,146
AVG: 17,664,284
MIN: 17,480,589
MAX: 17,824,518
AVG: 482,085
MIN: 472,168
MAX: 488,509
falcon-512-tree (100 executions) opt-leaktime AVG: 157,683,545
MIN: 101,416,387
MAX: 370,593,247
AVG: 19,162,650
MIN: 18,816,478
MAX: 19,426,978
AVG: 481,577
MIN: 472,170
MAX: 488,230
sphincs-haraka-128f-robust (3 executions) clean AVG: 106,427,973
MIN: 106,427,961
MAX: 106,427,997
AVG: 2,699,060,638
MIN: 2,698,241,211
MAX: 2,699,997,157
AVG: 174,647,895
MIN: 173,477,158
MAX: 176,638,141
sphincs-haraka-128f-simple (3 executions) clean AVG: 74,934,480
MIN: 74,934,458
MAX: 74,934,492
AVG: 1,887,299,882
MIN: 1,887,134,522
MAX: 1,887,382,565
AVG: 118,143,703
MIN: 113,925,327
MAX: 123,851,044
sphincs-haraka-128s-robust (3 executions) clean AVG: 6,775,943,571
MIN: 6,775,943,546
MAX: 6,775,943,591
AVG: 53,822,326,627
MIN: 53,821,272,834
MAX: 53,824,434,213
AVG: 68,158,360
MIN: 65,114,417
MAX: 72,841,330
sphincs-haraka-128s-simple (3 executions) clean AVG: 4,758,339,537
MIN: 4,758,339,511
MAX: 4,758,339,556
AVG: 37,472,069,032
MIN: 37,470,580,002
MAX: 37,474,550,750
AVG: 44,603,270
MIN: 44,272,388
MAX: 44,768,737
sphincs-haraka-192f-robust (3 executions) clean AVG: 157,886,973
MIN: 157,886,961
MAX: 157,886,995
AVG: 4,729,109,673
MIN: 4,724,305,900
MAX: 4,731,687,311
AVG: 261,039,514
MIN: 258,813,178
MAX: 263,734,554
sphincs-haraka-192f-simple (3 executions) clean AVG: 110,403,519
MIN: 110,403,498
MAX: 110,403,532
AVG: 3,167,446,164
MIN: 3,164,466,253
MAX: 3,169,681,094
AVG: 171,820,185
MIN: 169,915,924
MAX: 174,138,430
sphincs-haraka-192s-robust (3 executions) clean AVG: 10,070,301,104
MIN: 10,070,301,092
MAX: 10,070,301,120
AVG: 105,836,052,151
MIN: 105,833,943,123
MAX: 105,838,864,162
AVG: 102,385,564
MIN: 100,510,789
MAX: 104,729,057
sphincs-haraka-192s-simple (3 executions) clean AVG: 7,028,359,469
MIN: 7,028,359,462
MAX: 7,028,359,475
AVG: 69,349,184,156
MIN: 69,348,190,870
MAX: 69,350,922,453
AVG: 64,929,339
MIN: 63,356,226
MAX: 65,840,010
sphincs-haraka-256f-robust (3 executions) clean AVG: 422,110,917
MIN: 422,110,915
MAX: 422,110,921
AVG: 9,925,037,310
MIN: 9,919,761,990
MAX: 9,929,258,109
AVG: 282,995,607
MIN: 280,533,063
MAX: 286,865,365
sphincs-haraka-256f-simple (3 executions) clean AVG: 293,499,115
MIN: 293,499,091
MAX: 293,499,129
AVG: 6,701,863,848
MIN: 6,699,462,526
MAX: 6,705,176,025
AVG: 183,796,029
MIN: 182,221,816
MAX: 186,447,361
sphincs-haraka-256s-robust (3 executions) clean AVG: 6,739,159,318
MIN: 6,739,159,309
MAX: 6,739,159,328
AVG: 105,302,624,797
MIN: 105,300,748,903
MAX: 105,304,266,285
AVG: 156,467,817
MIN: 154,826,875
MAX: 159,398,072
sphincs-haraka-256s-simple (3 executions) clean AVG: 4,683,144,675
MIN: 4,683,144,642
MAX: 4,683,144,705
AVG: 69,202,732,323
MIN: 69,201,324,370
MAX: 69,205,052,507
AVG: 101,719,411
MIN: 100,063,540
MAX: 104,037,675
sphincs-sha256-128f-robust (3 executions) clean AVG: 29,123,270
MIN: 29,123,249
MAX: 29,123,282
AVG: 716,257,523
MIN: 715,884,705
MAX: 716,674,437
AVG: 42,248,922
MIN: 41,497,196
MAX: 42,869,922
sphincs-sha256-128f-simple (3 executions) clean AVG: 15,388,375
MIN: 15,388,352
MAX: 15,388,387
AVG: 382,533,954
MIN: 382,308,022
MAX: 382,976,925
AVG: 21,150,671
MIN: 20,677,650
MAX: 21,741,991
sphincs-sha256-128s-robust (3 executions) clean AVG: 1,864,047,221
MIN: 1,864,042,048
MAX: 1,864,050,532
AVG: 14,012,634,889
MIN: 14,012,400,685
MAX: 14,012,822,953
AVG: 14,847,302
MIN: 14,422,375
MAX: 15,206,848
sphincs-sha256-128s-simple (3 executions) clean AVG: 985,367,046
MIN: 985,355,790
MAX: 985,385,031
AVG: 7,495,603,716
MIN: 7,495,252,193
MAX: 7,496,247,958
AVG: 7,165,875
MIN: 6,861,584
MAX: 7,419,441
sphincs-sha256-192f-robust (3 executions) clean AVG: 43,116,184
MIN: 43,116,173
MAX: 43,116,205
AVG: 1,195,381,634
MIN: 1,193,980,671
MAX: 1,196,819,904
AVG: 64,857,703
MIN: 64,364,605
MAX: 65,153,579
sphincs-sha256-192f-simple (3 executions) clean AVG: 22,645,923
MIN: 22,645,911
MAX: 22,645,947
AVG: 639,321,913
MIN: 639,157,877
MAX: 639,638,579
AVG: 32,940,330
MIN: 31,955,780
MAX: 33,534,443
sphincs-sha256-192s-robust (3 executions) clean AVG: 2,758,781,668
MIN: 2,758,721,187
MAX: 2,758,814,880
AVG: 25,556,205,325
MIN: 25,555,467,827
MAX: 25,556,897,376
AVG: 23,195,383
MIN: 22,702,335
MAX: 23,589,803
sphincs-sha256-192s-simple (3 executions) clean AVG: 1,450,073,477
MIN: 1,449,766,386
MAX: 1,450,529,270
AVG: 13,764,196,955
MIN: 13,762,891,584
MAX: 13,765,362,825
AVG: 11,763,703
MIN: 11,695,761
MAX: 11,899,525
sphincs-sha256-256f-robust (3 executions) clean AVG: 158,034,870
MIN: 158,034,868
MAX: 158,034,873
AVG: 3,305,447,599
MIN: 3,303,450,474
MAX: 3,306,582,779
AVG: 94,366,505
MIN: 92,087,788
MAX: 96,189,482
sphincs-sha256-256f-simple (3 executions) clean AVG: 59,808,433
MIN: 59,807,808
MAX: 59,808,748
AVG: 1,281,329,322
MIN: 1,280,242,352
MAX: 1,282,332,972
AVG: 32,947,097
MIN: 32,522,594
MAX: 33,490,507
sphincs-sha256-256s-robust (3 executions) clean AVG: 2,524,393,357
MIN: 2,524,337,328
MAX: 2,524,432,487
AVG: 31,056,826,302
MIN: 31,055,874,069
MAX: 31,057,485,164
AVG: 47,434,569
MIN: 46,022,129
MAX: 48,212,821
sphincs-sha256-256s-simple (3 executions) clean AVG: 952,799,879
MIN: 952,642,357
MAX: 953,062,293
AVG: 12,304,132,668
MIN: 12,303,657,740
MAX: 12,304,436,252
AVG: 16,715,346
MIN: 16,326,849
MAX: 17,137,621
sphincs-shake256-128f-robust (3 executions) clean AVG: 113,347,070
MIN: 113,347,058
MAX: 113,347,093
AVG: 2,788,974,930
MIN: 2,787,812,662
MAX: 2,790,137,173
AVG: 158,730,948
MIN: 156,406,568
MAX: 160,667,913
sphincs-shake256-128f-simple (3 executions) clean AVG: 59,759,081
MIN: 59,759,080
MAX: 59,759,082
AVG: 1,483,676,214
MIN: 1,483,213,924
MAX: 1,484,204,563
AVG: 83,065,165
MIN: 81,414,021
MAX: 84,584,221
sphincs-shake256-128s-robust (3 executions) clean AVG: 7,255,773,038
MIN: 7,255,773,014
MAX: 7,255,773,057
AVG: 54,573,950,176
MIN: 54,572,529,688
MAX: 54,575,241,560
AVG: 53,615,181
MIN: 51,549,111
MAX: 55,423,008
sphincs-shake256-128s-simple (3 executions) clean AVG: 3,825,341,548
MIN: 3,825,341,531
MAX: 3,825,341,564
AVG: 29,086,410,120
MIN: 29,085,749,525
MAX: 29,087,533,088
AVG: 29,495,105
MIN: 28,966,755
MAX: 30,155,531
sphincs-shake256-192f-robust (3 executions) clean AVG: 167,154,323
MIN: 167,154,303
MAX: 167,154,334
AVG: 4,461,897,673
MIN: 4,458,767,619
MAX: 4,464,636,487
AVG: 240,590,626
MIN: 238,634,394
MAX: 243,329,332
sphincs-shake256-192f-simple (3 executions) clean AVG: 88,333,405
MIN: 88,333,405
MAX: 88,333,406
AVG: 2,409,188,992
MIN: 2,408,787,940
MAX: 2,409,991,046
AVG: 123,334,622
MIN: 122,866,683
MAX: 123,668,857
sphincs-shake256-192s-robust (3 executions) clean AVG: 10,698,254,977
MIN: 10,698,254,964
MAX: 10,698,254,997
AVG: 93,298,513,700
MIN: 93,295,644,767
MAX: 93,301,121,760
AVG: 81,201,582
MIN: 77,549,977
MAX: 83,809,891
sphincs-shake256-192s-simple (3 executions) clean AVG: 5,652,907,918
MIN: 5,652,907,897
MAX: 5,652,907,934
AVG: 50,824,666,973
MIN: 50,823,330,463
MAX: 50,826,137,107
AVG: 41,687,543
MIN: 40,818,602
MAX: 42,623,345
sphincs-shake256-256f-robust (3 executions) clean AVG: 444,922,977
MIN: 444,922,967
MAX: 444,922,998
AVG: 8,993,352,645
MIN: 8,987,821,428
MAX: 9,000,464,222
AVG: 243,254,884
MIN: 240,752,880
MAX: 244,703,467
sphincs-shake256-256f-simple (3 executions) clean AVG: 235,448,503
MIN: 235,448,502
MAX: 235,448,505
AVG: 4,865,464,381
MIN: 4,864,247,499
MAX: 4,867,289,711
AVG: 127,387,108
MIN: 125,561,248
MAX: 129,010,103
sphincs-shake256-256s-robust (3 executions) clean AVG: 7,117,488,480
MIN: 7,117,488,473
MAX: 7,117,488,486
AVG: 81,040,359,080
MIN: 81,037,593,485
MAX: 81,043,519,709
AVG: 124,099,579
MIN: 123,967,874
MAX: 124,362,934
sphincs-shake256-256s-simple (3 executions) clean AVG: 3,764,358,451
MIN: 3,764,358,431
MAX: 3,764,358,466
AVG: 44,857,260,081
MIN: 44,856,516,353
MAX: 44,858,138,896
AVG: 62,264,803
MIN: 61,656,689
MAX: 62,670,229

Memory Evaluation

Key Encapsulation Schemes

Scheme Implementation Key Generation [bytes] Encapsulation [bytes] Decapsulation [bytes]
bikel1 m4f 44,084 32,132 91,384
bikel1 opt 36,000 25,908 78,588
hqc-rmrs-128 clean 48,852 64,436 71,172
kyber1024 clean 15,100 18,772 20,348
kyber1024 m4fspeed 6,400 7,496 7,512
kyber1024 m4fstack 3,296 3,368 3,392
kyber1024-90s clean 15,364 19,044 20,620
kyber1024-90s m4fspeed 7,156 8,252 8,268
kyber1024-90s m4fstack 4,060 4,132 4,156
kyber512 clean 6,116 8,780 9,556
kyber512 m4fspeed 4,320 5,424 5,432
kyber512 m4fstack 2,248 2,336 2,352
kyber512-90s clean 6,572 9,236 10,012
kyber512-90s m4fspeed 5,076 6,180 6,188
kyber512-90s m4fstack 3,012 3,100 3,116
kyber768 clean 10,212 13,380 14,476
kyber768 m4fspeed 5,344 6,456 6,472
kyber768 m4fstack 2,784 2,856 2,872
kyber768-90s clean 10,676 13,844 14,940
kyber768-90s m4fspeed 6,108 7,220 7,236
kyber768-90s m4fstack 3,540 3,612 3,628

Signature Schemes

Scheme Implementation Key Generation [bytes] Sign [bytes] Verify [bytes]
dilithium2 clean 38,308 51,932 36,220
dilithium2 m4f 38,408 49,380 36,212
dilithium2aes clean 39,776 53,400 37,688
dilithium3 clean 60,844 79,588 57,732
dilithium3 m4f 60,836 68,836 57,724
dilithium3aes clean 62,312 81,056 59,200
dilithium5 m4f 97,692 115,932 92,788
falcon-1024 clean 36,296 82,532 8,820
falcon-1024 m4-ct 1,400 2,644 412
falcon-1024 opt-ct 1,384 2,644 520
falcon-1024 opt-leaktime 1,368 2,716 412
falcon-512 clean 18,416 42,508 4,724
falcon-512 m4-ct 1,312 2,556 412
falcon-512 opt-ct 1,344 2,556 412
falcon-512 opt-leaktime 1,296 2,620 412
falcon-512-tree m4-ct 1,408 2,796 412
falcon-512-tree opt-ct 1,384 2,796 412
falcon-512-tree opt-leaktime 1,344 2,804 412
sphincs-haraka-128f-robust clean 3,636 3,728 4,188
sphincs-haraka-128f-simple clean 3,628 3,720 4,180
sphincs-haraka-128s-robust clean 3,960 3,920 3,492
sphincs-haraka-128s-simple clean 3,872 3,912 3,484
sphincs-haraka-192f-robust clean 5,044 5,192 5,412
sphincs-haraka-192f-simple clean 5,064 5,184 5,404
sphincs-haraka-192s-robust clean 5,392 5,352 4,748
sphincs-haraka-192s-simple clean 5,456 5,344 4,740
sphincs-haraka-256f-robust clean 7,044 7,120 7,020
sphincs-haraka-256f-simple clean 7,036 7,032 7,012
sphincs-haraka-256s-robust clean 7,424 7,264 6,640
sphincs-haraka-256s-simple clean 7,416 7,256 6,632
sphincs-sha256-128f-robust clean 2,276 2,340 2,828
sphincs-sha256-128f-simple clean 2,124 2,188 2,676
sphincs-sha256-128s-robust clean 2,492 2,560 2,132
sphincs-sha256-128s-simple clean 2,340 2,408 1,980
sphincs-sha256-192f-robust clean 3,692 3,840 4,060
sphincs-sha256-192f-simple clean 3,532 3,680 3,900
sphincs-sha256-192s-robust clean 4,004 4,000 3,396
sphincs-sha256-192s-simple clean 3,952 3,840 3,236
sphincs-sha256-256f-robust clean 5,700 5,776 5,676
sphincs-sha256-256f-simple clean 5,532 5,500 5,508
sphincs-sha256-256s-robust clean 6,080 5,920 5,268
sphincs-sha256-256s-simple clean 5,804 5,752 5,100
sphincs-shake256-128f-robust clean 2,036 2,200 2,580
sphincs-shake256-128f-simple clean 2,036 2,092 2,580
sphincs-shake256-128s-robust clean 2,360 2,312 1,896
sphincs-shake256-128s-simple clean 2,360 2,312 1,884
sphincs-shake256-192f-robust clean 3,452 3,592 3,812
sphincs-shake256-192f-simple clean 3,452 3,484 3,812
sphincs-shake256-192s-robust clean 3,872 3,752 3,148
sphincs-shake256-192s-simple clean 3,872 3,752 3,148
sphincs-shake256-256f-robust clean 5,460 5,528 5,428
sphincs-shake256-256f-simple clean 5,460 5,528 5,428
sphincs-shake256-256s-robust clean 5,840 5,672 5,020
sphincs-shake256-256s-simple clean 5,840 5,672 5,020

Hashing Evaluation

Key Encapsulation Schemes

Scheme Implementation Key Generation [%] Encapsulation [%] Decapsulation [%]
bikel1 m4f 0.7% 15.1% 1.0%
bikel1 opt 0.3% 10.1% 0.4%
hqc-rmrs-128 clean 54.7% 42.3% 33.8%
kyber1024 clean 54.0% 53.6% 42.5%
kyber1024 m4fspeed 79.1% 81.9% 75.6%
kyber1024 m4fstack 78.8% 81.4% 75.0%
kyber1024-90s clean 73.6% 70.4% 63.8%
kyber1024-90s m4fspeed 70.7% 72.9% 67.5%
kyber1024-90s m4fstack 70.2% 72.2% 66.8%
kyber512 clean 54.3% 51.6% 36.9%
kyber512 m4fspeed 79.4% 82.0% 72.7%
kyber512 m4fstack 79.4% 81.7% 72.4%
kyber512-90s clean 68.4% 62.6% 52.5%
kyber512-90s m4fspeed 72.2% 74.2% 66.2%
kyber512-90s m4fstack 72.1% 73.8% 65.7%
kyber768 clean 52.4% 52.3% 39.5%
kyber768 m4fspeed 78.4% 81.8% 74.0%
kyber768 m4fstack 78.3% 81.3% 73.5%
kyber768-90s clean 71.2% 67.3% 59.3%
kyber768-90s m4fspeed 70.6% 73.1% 66.5%
kyber768-90s m4fstack 70.3% 72.5% 65.9%

Signature Schemes

Scheme Implementation Key Generation [%] Sign [%] Verify [%]
dilithium2 clean 68.2% 38.8% 61.4%
dilithium2 m4f 82.8% 65.5% 80.5%
dilithium2aes clean 2.8% 3.6% 5.2%
dilithium3 clean 71.6% 38.7% 64.9%
dilithium3 m4f 85.0% 64.8% 82.6%
dilithium3aes clean 2.3% 2.4% 3.7%
dilithium5 m4f 86.0% 69.2% 84.5%
falcon-1024 clean 8.2% 0.3% 26.9%
falcon-1024 m4-ct 11.0% 0.5% 34.0%
falcon-1024 opt-ct 11.0% 0.5% 34.0%
falcon-1024 opt-leaktime 12.8% 0.5% 34.0%
falcon-512 clean 13.1% 0.4% 29.3%
falcon-512 m4-ct 18.3% 0.5% 35.7%
falcon-512 opt-ct 18.3% 0.5% 35.7%
falcon-512 opt-leaktime 19.6% 0.6% 35.8%
falcon-512-tree m4-ct 15.9% 1.2% 35.7%
falcon-512-tree opt-ct 16.2% 1.2% 35.6%
falcon-512-tree opt-leaktime 16.8% 1.1% 35.9%
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 87.7% 87.7% 87.8%
sphincs-sha256-128f-simple clean 85.3% 85.2% 85.1%
sphincs-sha256-128s-robust clean 87.7% 87.6% 87.7%
sphincs-sha256-128s-simple clean 85.3% 85.1% 85.0%
sphincs-sha256-192f-robust clean 87.2% 87.4% 87.6%
sphincs-sha256-192f-simple clean 84.9% 85.1% 85.1%
sphincs-sha256-192s-robust clean 87.3% 87.5% 87.9%
sphincs-sha256-192s-simple clean 84.9% 85.2% 85.6%
sphincs-sha256-256f-robust clean 90.9% 91.0% 91.3%
sphincs-sha256-256f-simple clean 84.6% 84.8% 84.9%
sphincs-sha256-256s-robust clean 91.1% 91.1% 91.6%
sphincs-sha256-256s-simple clean 84.9% 85.4% 85.6%
sphincs-shake256-128f-robust clean 97.4% 97.4% 97.5%
sphincs-shake256-128f-simple clean 95.7% 95.7% 95.7%
sphincs-shake256-128s-robust clean 97.5% 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.7% 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.6%
sphincs-shake256-256f-robust clean 97.4% 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.6% 95.6%

Size Evaluation

Key Encapsulation Schemes

Scheme Implementation .text [bytes] .data [bytes] .bss [bytes] Total [bytes]
bikel1 m4f 177,664 24 49 177,737
bikel1 opt 34,947 24 1 34,972
hqc-rmrs-128 clean 17,116 0 0 17,116
kyber1024 clean 6,068 0 0 6,068
kyber1024 m4fspeed 16,496 0 0 16,496
kyber1024 m4fstack 13,752 0 0 13,752
kyber1024-90s clean 6,424 0 0 6,424
kyber1024-90s m4fspeed 16,948 0 0 16,948
kyber1024-90s m4fstack 13,996 0 0 13,996
kyber512 clean 4,872 0 0 4,872
kyber512 m4fspeed 15,332 0 0 15,332
kyber512 m4fstack 12,820 0 0 12,820
kyber512-90s clean 5,088 0 0 5,088
kyber512-90s m4fspeed 15,784 0 0 15,784
kyber512-90s m4fstack 13,052 0 0 13,052
kyber768 clean 4,888 0 0 4,888
kyber768 m4fspeed 15,540 0 0 15,540
kyber768 m4fstack 12,836 0 0 12,836
kyber768-90s clean 5,120 0 0 5,120
kyber768-90s m4fspeed 16,000 0 0 16,000
kyber768-90s m4fstack 13,068 0 0 13,068

Signature Schemes

Scheme Implementation .text [bytes] .data [bytes] .bss [bytes] Total [bytes]
dilithium2 clean 7,888 0 0 7,888
dilithium2 m4f 18,480 0 0 18,480
dilithium2aes clean 14,954 0 0 14,954
dilithium3 clean 7,384 0 0 7,384
dilithium3 m4f 19,924 0 0 19,924
dilithium3aes clean 14,442 0 0 14,442
dilithium5 m4f 18,248 0 0 18,248
falcon-1024 clean 82,281 0 0 82,281
falcon-1024 m4-ct 83,069 0 79,872 162,941
falcon-1024 opt-ct 83,069 0 79,872 162,941
falcon-1024 opt-leaktime 76,261 0 79,872 156,133
falcon-512 clean 82,249 0 0 82,249
falcon-512 m4-ct 83,069 0 39,936 123,005
falcon-512 opt-ct 83,069 0 39,936 123,005
falcon-512 opt-leaktime 76,261 0 39,936 116,197
falcon-512-tree m4-ct 82,821 0 27,648 110,469
falcon-512-tree opt-ct 82,821 0 27,648 110,469
falcon-512-tree opt-leaktime 76,013 0 27,648 103,661
sphincs-haraka-128f-robust clean 16,428 0 0 16,428
sphincs-haraka-128f-simple clean 16,276 0 0 16,276
sphincs-haraka-128s-robust clean 16,700 0 0 16,700
sphincs-haraka-128s-simple clean 16,552 0 0 16,552
sphincs-haraka-192f-robust clean 16,484 0 0 16,484
sphincs-haraka-192f-simple clean 16,300 0 0 16,300
sphincs-haraka-192s-robust clean 17,020 0 0 17,020
sphincs-haraka-192s-simple clean 16,836 0 0 16,836
sphincs-haraka-256f-robust clean 16,868 0 0 16,868
sphincs-haraka-256f-simple clean 16,624 0 0 16,624
sphincs-haraka-256s-robust clean 17,196 0 0 17,196
sphincs-haraka-256s-simple clean 16,952 0 0 16,952
sphincs-sha256-128f-robust clean 4,740 0 0 4,740
sphincs-sha256-128f-simple clean 4,504 0 0 4,504
sphincs-sha256-128s-robust clean 5,012 0 0 5,012
sphincs-sha256-128s-simple clean 4,776 0 0 4,776
sphincs-sha256-192f-robust clean 5,020 0 0 5,020
sphincs-sha256-192f-simple clean 4,668 0 0 4,668
sphincs-sha256-192s-robust clean 5,564 0 0 5,564
sphincs-sha256-192s-simple clean 5,208 0 0 5,208
sphincs-sha256-256f-robust clean 5,488 0 0 5,488
sphincs-sha256-256f-simple clean 5,048 0 0 5,048
sphincs-sha256-256s-robust clean 5,812 0 0 5,812
sphincs-sha256-256s-simple clean 5,368 0 0 5,368
sphincs-shake256-128f-robust clean 4,024 0 0 4,024
sphincs-shake256-128f-simple clean 3,884 0 0 3,884
sphincs-shake256-128s-robust clean 4,296 0 0 4,296
sphincs-shake256-128s-simple clean 4,152 0 0 4,152
sphincs-shake256-192f-robust clean 4,124 0 0 4,124
sphincs-shake256-192f-simple clean 3,952 0 0 3,952
sphincs-shake256-192s-robust clean 4,660 0 0 4,660
sphincs-shake256-192s-simple clean 4,488 0 0 4,488
sphincs-shake256-256f-robust clean 4,520 0 0 4,520
sphincs-shake256-256f-simple clean 4,308 0 0 4,308
sphincs-shake256-256s-robust clean 4,844 0 0 4,844
sphincs-shake256-256s-simple clean 4,636 0 0 4,636