Files
papers/lux-ntt-simd-implementation/sections/99-conclusion.tex
zeekay 4a753bb639 papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

27 lines
1.6 KiB
TeX

\section{Conclusion}
The NTT transforms lattice cryptography from theoretically elegant to practically
deployable. Our Go implementation with AVX2 SIMD achieves within 5\% of the reference C
implementation, demonstrating that Go is a viable language for production cryptographic
code when combined with targeted assembly for inner loops.
The key takeaways:
\begin{enumerate}[nosep]
\item Precompute twiddle factors in Montgomery form and bit-reversed order.
\item Use Montgomery multiplication throughout---never divide by $q$.
\item Vectorize the butterfly with SIMD: 16 butterflies per AVX2 instruction.
\item Verify with round-trip and homomorphism fuzz tests.
\item Profile before optimizing: NTT is the bottleneck, not the surrounding code.
\end{enumerate}
\begin{thebibliography}{99}
\bibitem{cooley1965} Cooley, J.W. and Tukey, J.W. ``An Algorithm for the Machine Calculation of Complex Fourier Series.'' Mathematics of Computation, 1965.
\bibitem{montgomery1985} Montgomery, P.L. ``Modular Multiplication Without Trial Division.'' Mathematics of Computation, 1985.
\bibitem{longa2016} Longa, P. and Naehrig, M. ``Speeding up the Number Theoretic Transform for Faster Ideal Lattice-Based Cryptography.'' CANS, 2016.
\bibitem{seiler2018} Seiler, G. ``Faster AVX2 Optimized NTT Multiplication for Ring-LWE Lattice Cryptography.'' IACR ePrint 2018/039.
\bibitem{kyber} Avanzi, R. et al. ``CRYSTALS-Kyber: Algorithm Specifications.'' NIST PQC, 2021.
\bibitem{dilithium} Ducas, L. et al. ``CRYSTALS-Dilithium: Algorithm Specifications.'' NIST PQC, 2021.
\end{thebibliography}