This repository accompanies the paper Efficient Multiplication of Somewhat Small Integers using Number-Theoretic Transforms available at https://eprint.iacr.org/2022/439.
Authors:
- Hanno Becker
<hanno.becker@arm.com>
- Vincent Hwang
<vincentvbh7@gmail.com>
- Matthias J. Kannwischer
<matthias@kannwischer.eu>
- Lorenz Panny
<lorenz@yx7.cc>
- Bo-Yin Yang
<by@crypto.tw>
It contains the Cortex-M3 implementation of the NTT-based integer multiplier, the schoolbook multiplication (using finely-integrated operand scanning), and the Hensel lifting. The Cortex-M55 code will be published at a later point here.
Clone the code including the submodules using
git clone --recurse-submodules https://github.com/ntt-int-mul/ntt-int-mul-m3
We use the Nucleo STM32F207ZG.
For building the software, we use the arm-none-eabi-gcc toolchain. For flashing binaries, we use st-link.
intmulm3
contains the NTT-based integer multiplier. Refer to the README.mdschoolbookm3
contains the schoolbook multiplier for reference. Refer to the README.mdhensel-lifting-m3
contains Hensel lifting. Refer to the README.md
All files in this repository are published under a CC0 copyright-waiver.