An open API service indexing awesome lists of open source software.

https://github.com/lattice-based-cryptography/ntt

Implementation of the number theoretic transform in Rust.
https://github.com/lattice-based-cryptography/ntt

fourier-transform ntt number-theory

Last synced: 2 months ago
JSON representation

Implementation of the number theoretic transform in Rust.

Awesome Lists containing this project

README

        

# ntt
![CI](https://github.com/jacksonwalters/ntt/actions/workflows/ci.yml/badge.svg)
![MIT License](https://img.shields.io/badge/License-MIT-brightgreen)
[![crates.io](https://img.shields.io/crates/v/ntt.svg)](https://crates.io/crates/ntt)

Implementation of the number theoretic transform (NTT) in Rust.

The NTT is a DFT over the ring Z/mZ. We use a fast divide-and conquer algorithm. The array size `n` must be a power of two.

We allow composite moduli as long as `n` divides `phi(p^e)` for each prime factor p of the modulus, where `phi` is the Euler totient.