Skip to content

Conversation

@mkannwischer
Copy link
Contributor

@mkannwischer mkannwischer commented Oct 30, 2025

The current NTT + iNTT in mldsa-native originate from the SLOTHY repository and
are, hence, MIT-licensed.
Relicensing was attempted in
#236
without success.

This commit re-implements both iNTT and NTT based on the "Apache-2.0 OR ISC OR MIT"-licensed NTT and iNTT from mlkem-native.
The first commit switches to the exact files from mlkem-native, and the second commit makes minimal changes to make it work for ML-DSA.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mac Mini (M1, 2020) benchmarks (opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 46224 cycles 46214 cycles 1.00
ML-DSA-44 sign 132632 cycles 132516 cycles 1.00
ML-DSA-44 verify 47870 cycles 47875 cycles 1.00
ML-DSA-65 keypair 81165 cycles 81134 cycles 1.00
ML-DSA-65 sign 219234 cycles 219047 cycles 1.00
ML-DSA-65 verify 80151 cycles 80131 cycles 1.00
ML-DSA-87 keypair 132347 cycles 132358 cycles 1.00
ML-DSA-87 sign 281155 cycles 280907 cycles 1.00
ML-DSA-87 verify 130365 cycles 130354 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mac Mini (M1, 2020) benchmarks (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 115054 cycles 115060 cycles 1.00
ML-DSA-44 sign 431657 cycles 431622 cycles 1.00
ML-DSA-44 verify 122217 cycles 122202 cycles 1.00
ML-DSA-65 keypair 197059 cycles 197106 cycles 1.00
ML-DSA-65 sign 701051 cycles 701081 cycles 1.00
ML-DSA-65 verify 197720 cycles 197681 cycles 1.00
ML-DSA-87 keypair 325231 cycles 325228 cycles 1.00
ML-DSA-87 sign 884685 cycles 884716 cycles 1.00
ML-DSA-87 verify 328830 cycles 328859 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A55 (Snapdragon 888) benchmarks (opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 288315 cycles 287853 cycles 1.00
ML-DSA-44 sign 936816 cycles 917885 cycles 1.02
ML-DSA-44 verify 292070 cycles 294498 cycles 0.99
ML-DSA-65 keypair 488360 cycles 486448 cycles 1.00
ML-DSA-65 sign 1528831 cycles 1508569 cycles 1.01
ML-DSA-65 verify 482094 cycles 476811 cycles 1.01
ML-DSA-87 keypair 837518 cycles 829526 cycles 1.01
ML-DSA-87 sign 2096524 cycles 2031020 cycles 1.03
ML-DSA-87 verify 820254 cycles 811735 cycles 1.01

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Arm Cortex-A55 (Snapdragon 888) benchmarks (opt)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-87 sign 2096524 cycles 2031020 cycles 1.03

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 4th gen (c7i)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 34907 cycles 34885 cycles 1.00
ML-DSA-44 sign 121063 cycles 120963 cycles 1.00
ML-DSA-44 verify 38343 cycles 38317 cycles 1.00
ML-DSA-65 keypair 61999 cycles 62663 cycles 0.99
ML-DSA-65 sign 200215 cycles 201214 cycles 1.00
ML-DSA-65 verify 62514 cycles 62474 cycles 1.00
ML-DSA-87 keypair 94914 cycles 94634 cycles 1.00
ML-DSA-87 sign 235124 cycles 233708 cycles 1.01
ML-DSA-87 verify 93941 cycles 94546 cycles 0.99

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 4th gen (c7i) (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 95055 cycles 95105 cycles 1.00
ML-DSA-44 sign 348626 cycles 348797 cycles 1.00
ML-DSA-44 verify 100722 cycles 100891 cycles 1.00
ML-DSA-65 keypair 164854 cycles 164366 cycles 1.00
ML-DSA-65 sign 567460 cycles 567110 cycles 1.00
ML-DSA-65 verify 165353 cycles 165083 cycles 1.00
ML-DSA-87 keypair 267189 cycles 267179 cycles 1.00
ML-DSA-87 sign 721701 cycles 722256 cycles 1.00
ML-DSA-87 verify 272143 cycles 271890 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 3rd gen (c6i)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 57131 cycles 57327 cycles 1.00
ML-DSA-44 sign 180912 cycles 180385 cycles 1.00
ML-DSA-44 verify 61419 cycles 61211 cycles 1.00
ML-DSA-65 keypair 99741 cycles 99428 cycles 1.00
ML-DSA-65 sign 296897 cycles 296541 cycles 1.00
ML-DSA-65 verify 100189 cycles 99935 cycles 1.00
ML-DSA-87 keypair 153657 cycles 153664 cycles 1.00
ML-DSA-87 sign 353986 cycles 352456 cycles 1.00
ML-DSA-87 verify 152885 cycles 153187 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 4th gen (c7a)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 42040 cycles 42710 cycles 0.98
ML-DSA-44 sign 130621 cycles 130749 cycles 1.00
ML-DSA-44 verify 45006 cycles 44253 cycles 1.02
ML-DSA-65 keypair 72376 cycles 73757 cycles 0.98
ML-DSA-65 sign 211462 cycles 211376 cycles 1.00
ML-DSA-65 verify 72885 cycles 72870 cycles 1.00
ML-DSA-87 keypair 109455 cycles 110490 cycles 0.99
ML-DSA-87 sign 248738 cycles 249050 cycles 1.00
ML-DSA-87 verify 110765 cycles 109887 cycles 1.01

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 3rd gen (c6i) (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 158253 cycles 157889 cycles 1.00
ML-DSA-44 sign 566352 cycles 566893 cycles 1.00
ML-DSA-44 verify 170172 cycles 169660 cycles 1.00
ML-DSA-65 keypair 270655 cycles 270428 cycles 1.00
ML-DSA-65 sign 926442 cycles 926410 cycles 1.00
ML-DSA-65 verify 276134 cycles 275530 cycles 1.00
ML-DSA-87 keypair 451653 cycles 453802 cycles 1.00
ML-DSA-87 sign 1182253 cycles 1189145 cycles 0.99
ML-DSA-87 verify 460960 cycles 462952 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 4th gen (c7a) (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 120029 cycles 120561 cycles 1.00
ML-DSA-44 sign 455292 cycles 455880 cycles 1.00
ML-DSA-44 verify 130189 cycles 130918 cycles 0.99
ML-DSA-65 keypair 205204 cycles 206047 cycles 1.00
ML-DSA-65 sign 737270 cycles 739174 cycles 1.00
ML-DSA-65 verify 210582 cycles 210656 cycles 1.00
ML-DSA-87 keypair 337660 cycles 337444 cycles 1.00
ML-DSA-87 sign 925392 cycles 927610 cycles 1.00
ML-DSA-87 verify 345045 cycles 345586 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A55 (Snapdragon 888) benchmarks (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 466361 cycles 466242 cycles 1.00
ML-DSA-44 sign 2214442 cycles 2212266 cycles 1.00
ML-DSA-44 verify 550729 cycles 550372 cycles 1.00
ML-DSA-65 keypair 778060 cycles 778748 cycles 1.00
ML-DSA-65 sign 3645402 cycles 3635941 cycles 1.00
ML-DSA-65 verify 850119 cycles 854033 cycles 1.00
ML-DSA-87 keypair 1261462 cycles 1268682 cycles 0.99
ML-DSA-87 sign 4521620 cycles 4497329 cycles 1.01
ML-DSA-87 verify 1370691 cycles 1375035 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 3rd gen (c6a)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 69402 cycles 69123 cycles 1.00
ML-DSA-44 sign 185402 cycles 186494 cycles 0.99
ML-DSA-44 verify 69157 cycles 69176 cycles 1.00
ML-DSA-65 keypair 121024 cycles 119562 cycles 1.01
ML-DSA-65 sign 299933 cycles 296189 cycles 1.01
ML-DSA-65 verify 116947 cycles 115372 cycles 1.01
ML-DSA-87 keypair 202031 cycles 201764 cycles 1.00
ML-DSA-87 sign 386717 cycles 385754 cycles 1.00
ML-DSA-87 verify 193861 cycles 193267 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton2

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 115212 cycles 115338 cycles 1.00
ML-DSA-44 sign 377502 cycles 377797 cycles 1.00
ML-DSA-44 verify 120434 cycles 120362 cycles 1.00
ML-DSA-65 keypair 199186 cycles 199199 cycles 1.00
ML-DSA-65 sign 624251 cycles 623684 cycles 1.00
ML-DSA-65 verify 198357 cycles 198333 cycles 1.00
ML-DSA-87 keypair 326376 cycles 326299 cycles 1.00
ML-DSA-87 sign 791842 cycles 791197 cycles 1.00
ML-DSA-87 verify 325180 cycles 325134 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 3rd gen (c6a) (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 134922 cycles 134866 cycles 1.00
ML-DSA-44 sign 539696 cycles 539900 cycles 1.00
ML-DSA-44 verify 148744 cycles 148419 cycles 1.00
ML-DSA-65 keypair 228639 cycles 228041 cycles 1.00
ML-DSA-65 sign 890793 cycles 890286 cycles 1.00
ML-DSA-65 verify 238719 cycles 238030 cycles 1.00
ML-DSA-87 keypair 374177 cycles 372651 cycles 1.00
ML-DSA-87 sign 1109288 cycles 1105492 cycles 1.00
ML-DSA-87 verify 388030 cycles 387568 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton4

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 69473 cycles 69256 cycles 1.00
ML-DSA-44 sign 215180 cycles 214215 cycles 1.00
ML-DSA-44 verify 72765 cycles 72454 cycles 1.00
ML-DSA-65 keypair 122913 cycles 123009 cycles 1.00
ML-DSA-65 sign 353022 cycles 352613 cycles 1.00
ML-DSA-65 verify 120784 cycles 120850 cycles 1.00
ML-DSA-87 keypair 200531 cycles 200453 cycles 1.00
ML-DSA-87 sign 451469 cycles 450752 cycles 1.00
ML-DSA-87 verify 198605 cycles 198288 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton3

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 73848 cycles 73607 cycles 1.00
ML-DSA-44 sign 228437 cycles 227471 cycles 1.00
ML-DSA-44 verify 78181 cycles 77864 cycles 1.00
ML-DSA-65 keypair 129680 cycles 129703 cycles 1.00
ML-DSA-65 sign 378385 cycles 376720 cycles 1.00
ML-DSA-65 verify 129105 cycles 128985 cycles 1.00
ML-DSA-87 keypair 208328 cycles 210411 cycles 0.99
ML-DSA-87 sign 475098 cycles 478519 cycles 0.99
ML-DSA-87 verify 208464 cycles 210010 cycles 0.99

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton4 (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 132772 cycles 132736 cycles 1.00
ML-DSA-44 sign 498728 cycles 497985 cycles 1.00
ML-DSA-44 verify 144884 cycles 144837 cycles 1.00
ML-DSA-65 keypair 226579 cycles 226300 cycles 1.00
ML-DSA-65 sign 813455 cycles 813075 cycles 1.00
ML-DSA-65 verify 231767 cycles 231206 cycles 1.00
ML-DSA-87 keypair 374712 cycles 374564 cycles 1.00
ML-DSA-87 sign 1020930 cycles 1021102 cycles 1.00
ML-DSA-87 verify 383904 cycles 383658 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton2 (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 213697 cycles 213517 cycles 1.00
ML-DSA-44 sign 784515 cycles 794796 cycles 0.99
ML-DSA-44 verify 230134 cycles 229984 cycles 1.00
ML-DSA-65 keypair 384987 cycles 384988 cycles 1.00
ML-DSA-65 sign 1309061 cycles 1308906 cycles 1.00
ML-DSA-65 verify 376307 cycles 376450 cycles 1.00
ML-DSA-87 keypair 605064 cycles 605742 cycles 1.00
ML-DSA-87 sign 1625253 cycles 1626304 cycles 1.00
ML-DSA-87 verify 616808 cycles 617507 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@oqs-bot oqs-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton3 (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 138492 cycles 138358 cycles 1.00
ML-DSA-44 sign 493164 cycles 493462 cycles 1.00
ML-DSA-44 verify 148520 cycles 148380 cycles 1.00
ML-DSA-65 keypair 241747 cycles 241583 cycles 1.00
ML-DSA-65 sign 809994 cycles 809602 cycles 1.00
ML-DSA-65 verify 240773 cycles 240577 cycles 1.00
ML-DSA-87 keypair 395991 cycles 395743 cycles 1.00
ML-DSA-87 sign 1027497 cycles 1027225 cycles 1.00
ML-DSA-87 verify 401639 cycles 401343 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SpacemiT K1 8 (Banana Pi F3) benchmarks (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 825007 cycles 822298 cycles 1.00
ML-DSA-44 sign 3333179 cycles 3328889 cycles 1.00
ML-DSA-44 verify 921539 cycles 919881 cycles 1.00
ML-DSA-65 keypair 1398851 cycles 1399516 cycles 1.00
ML-DSA-65 sign 5455024 cycles 5464226 cycles 1.00
ML-DSA-65 verify 1466984 cycles 1467271 cycles 1.00
ML-DSA-87 keypair 2302372 cycles 2302736 cycles 1.00
ML-DSA-87 sign 6816040 cycles 6829767 cycles 1.00
ML-DSA-87 verify 2404751 cycles 2397322 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A76 (Raspberry Pi 5) benchmarks (opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 115005 cycles 115154 cycles 1.00
ML-DSA-44 sign 377208 cycles 377500 cycles 1.00
ML-DSA-44 verify 120241 cycles 120247 cycles 1.00
ML-DSA-65 keypair 198985 cycles 199032 cycles 1.00
ML-DSA-65 sign 623927 cycles 623317 cycles 1.00
ML-DSA-65 verify 198166 cycles 198232 cycles 1.00
ML-DSA-87 keypair 325843 cycles 326045 cycles 1.00
ML-DSA-87 sign 790782 cycles 790668 cycles 1.00
ML-DSA-87 verify 324887 cycles 324882 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A76 (Raspberry Pi 5) benchmarks (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 213046 cycles 213136 cycles 1.00
ML-DSA-44 sign 782804 cycles 782135 cycles 1.00
ML-DSA-44 verify 229810 cycles 230342 cycles 1.00
ML-DSA-65 keypair 384499 cycles 384139 cycles 1.00
ML-DSA-65 sign 1307550 cycles 1315123 cycles 0.99
ML-DSA-65 verify 375891 cycles 375712 cycles 1.00
ML-DSA-87 keypair 604919 cycles 605390 cycles 1.00
ML-DSA-87 sign 1622524 cycles 1623045 cycles 1.00
ML-DSA-87 verify 616996 cycles 617470 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A72 (Raspberry Pi 4) benchmarks (opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 233548 cycles 235495 cycles 0.99
ML-DSA-44 sign 667993 cycles 662800 cycles 1.01
ML-DSA-44 verify 234753 cycles 226921 cycles 1.03
ML-DSA-65 keypair 392605 cycles 412469 cycles 0.95
ML-DSA-65 sign 1092773 cycles 1122974 cycles 0.97
ML-DSA-65 verify 377801 cycles 392531 cycles 0.96
ML-DSA-87 keypair 656111 cycles 688346 cycles 0.95
ML-DSA-87 sign 1467364 cycles 1474034 cycles 1.00
ML-DSA-87 verify 651523 cycles 663133 cycles 0.98

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Arm Cortex-A72 (Raspberry Pi 4) benchmarks (opt)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 verify 234753 cycles 226921 cycles 1.03

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A72 (Raspberry Pi 4) benchmarks (no-opt)

Benchmark suite Current: 2726c27 Previous: 0d8fcae Ratio
ML-DSA-44 keypair 300059 cycles 308602 cycles 0.97
ML-DSA-44 sign 1181409 cycles 1178008 cycles 1.00
ML-DSA-44 verify 328487 cycles 335471 cycles 0.98
ML-DSA-65 keypair 556668 cycles 557372 cycles 1.00
ML-DSA-65 sign 1972952 cycles 1916650 cycles 1.03
ML-DSA-65 verify 531684 cycles 527142 cycles 1.01
ML-DSA-87 keypair 876554 cycles 873711 cycles 1.00
ML-DSA-87 sign 2481949 cycles 2484925 cycles 1.00
ML-DSA-87 verify 908833 cycles 886721 cycles 1.02

This comment was automatically generated by workflow using github-action-benchmark.

@mkannwischer mkannwischer marked this pull request as ready for review October 30, 2025 03:33
@mkannwischer mkannwischer requested a review from a team as a code owner October 30, 2025 03:33
The current NTT + iNTT in mldsa-native originate from the SLOTHY repository and
are, hence, MIT-licensed.
Relicensing was attempted in
#236
without success.

This commit and the following commit do a clean-room re-implementation of the
same techniques. We start of with the
"Apache-2.0 OR ISC OR MIT"-licensed NTT and iNTT from mlkem-native and make the
necessary changes to turn it into a ML-DSA NTT.

Signed-off-by: Matthias J. Kannwischer <[email protected]>
This is the second commit reimplementing the NTT based on the
"Apache-2.0 OR ISC OR MIT"-licensed NTT and iNTT from mlkem-native.
This commit changes the ML-KEM NTT into a ML-DSA NTT using minimal changes.

Resolves #381

Signed-off-by: Matthias J. Kannwischer <[email protected]>
@mkannwischer mkannwischer merged commit d518e10 into main Nov 2, 2025
247 checks passed
@mkannwischer mkannwischer deleted the ntt-again branch November 2, 2025 05:36
mkannwischer added a commit that referenced this pull request Nov 2, 2025
#570 reimplemented
the iNTT/NTT to achieve uniform Apache-2.0 OR ISC OR MIT licensing.
This commit updates the LICENSE to remove the outdated license for the
old NTT and INTT - these were the last files covered by that license.

Signed-off-by: Matthias J. Kannwischer <[email protected]>
mkannwischer added a commit that referenced this pull request Nov 3, 2025
#570 reimplemented
the iNTT/NTT to achieve uniform Apache-2.0 OR ISC OR MIT licensing.
This commit updates the LICENSE to remove the outdated license for the
old NTT and INTT - these were the last files covered by that license.

Signed-off-by: Matthias J. Kannwischer <[email protected]>
mkannwischer added a commit that referenced this pull request Nov 3, 2025
#570 reimplemented
the iNTT/NTT to achieve uniform Apache-2.0 OR ISC OR MIT licensing.
This commit updates the LICENSE to remove the outdated license for the
old NTT and INTT - these were the last files covered by that license.

Signed-off-by: Matthias J. Kannwischer <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AArch64: Relicense or rewrite ntt.s and intt.s

4 participants