Paper 2026/2366

Multiplying Not-So-Big Integers with FFTs: Finding and Pushing the Crossover on Large Modern OoO ARM CPUs

Cesare Huang, IIS and CITI, Academia Sinica
Daisy Meng-Wei Liu, IIS and CITI, Academia Sinica, National Tsing-Hua University
David Shu-Yu Wu, IIS and CITI, Academia Sinica, National Taiwan University
Bow-Yaw Wang, IIS and CITI, Academia Sinica
Bo-Yin Yang, IIS and CITI, Academia Sinica
Abstract

Established multiple-precision software generally reserves Fast-Fourier Transform (FFT) multiplication for very large operands; for example, GMP reports full-product FFT thresholds of roughly 3000--10000 limbs. Becker et al. showed that Number-Theoretic Transform (NTT) multiplication can become advantageous much earlier on Cortex-M microcontrollers. It thus becomes an interesting engineering question to check where the crossover actually takes place on a big modern CPU. Our first-generation implementation on Cortex-A76 and Neoverse-N1 shows that the crossover point is around 10k bits when using ARMv8+ with Neon, using optimized and verified code. Motivated by the tighter Barrett bound of Becker, we developed the Second implementation, which eliminates additional reductions and pushes the crossover below 5.6k bits. We integrate our multipliers into OpenSSL RSA, resulting in end-to-end speedup for the public-key operations.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint.
Keywords
Fast Fourier TransformBig Integer MultiplicationsUnsaturated Limbs
Contact author(s)
cesarehuang @ icloud com
daisyliu0225 @ gmail com
b12902036 @ ntu edu tw
bywang @ iis sinica edu tw
byyang @ iis sinica edu tw
History
2026-10-07: approved
2026-10-05: received
See all versions
Short URL
https://ia.cr/2026/2366
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2026/2366,
      author = {Cesare Huang and Daisy Meng-Wei Liu and David Shu-Yu Wu and Bow-Yaw Wang and Bo-Yin Yang},
      title = {Multiplying Not-So-Big Integers with {FFTs}: Finding and Pushing the Crossover on Large Modern {OoO} {ARM} {CPUs}},
      howpublished = {Cryptology {ePrint} Archive, Paper 2026/2366},
      year = {2026},
      url = {https://eprint.iacr.org/2026/2366}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.