# Error Free Negacyclic FFT

An error-free negacyclic FFT is a recursive multiplication of transformed vectors with an error-free convolution. It is similar to the FFT, but works with an element of a finite field. In fact, the NTT scheme is similar to the FFT scheme. The only difference is the type of convolution. In the NTT scheme, w = g(M-1)/(2N) means that the root of unity must be two-fold greater than M-1.

## Recursive multiplications of transformed vectors using a negacyclic convolution

The negacyclic convolution algorithm computes a product of x and y modulo N, where N is an integer. Upon input, the numbers are divided into two-dimensional vectors of length 2k. Each of these vectors is multiplied by a weight vector A. Using shifts, the jth entry is shifted left by jn/2k.

The relinearization step is essential in obtaining polynomial-level transforms. In addition, relinearization improves the efficiency of the encrypted element-wise multiplication. Further processing is required for regular cyclic multiplications. The following equation demonstrates how the relinearization step is necessary for the computation. As an example, consider the case where the vector a(q-1) is a square of q.

## Alternatives to Cooley-Tukey FFT

The Cooley-Tukey algorithm is one of the more common algorithms for Fourier Transforms. This algorithm uses the discrete Fourier transform to re-express a signal as a spectral representation. Frederick Gauss introduced the FFT in 1805, but by that time had already been given several names. While other algorithms have been developed, the Cooley-Tukey algorithm is the most widely used today.

Tukey developed his idea while meeting with President Kennedy’s Science Advisory Committee, which was debating ways to detect the effects of nuclear-weapons tests in the Soviet Union. The committee needed fast algorithms for computing DFTs to analyze the data, as ratification of the nuclear test ban required accurate detection. Fortunately, IBM participated and recognized the potential of this method. A member of the committee, Richard Garwin, put Tukey in contact with Cooley.

## Rader reduction

The Rader reduction is a classical tool from the theory of discrete Fourier transforms, and it reduces a DFT of prime length p over the ring R to computation of a cyclic convolution of length p-1. The multivariate version of this technique is discussed in section 4. The Bluestein chirp transform reduces a DFT of general length n over the ring R to a cyclic convolution of same length.

## CRT transforms

Negacyclic convolution is one of the most important features of the Fourier Transform. This technique has several advantages over the classical DFT. It can handle floating point numbers. Negacyclic NTT is a simplified version of the full FFT. In this algorithm, the first layer contains a single multiplying operation (mod(xn-1)). The second layer carries a higher number of multiplications and costs one extra layer.

The Fourier transform is the result of transforming a signal or a set of signals with the power of n. The first step in this process is to define the polynomial, P1pd, for F. This is the primitive -th root of unity. Hence, p1pd is the defining polynomial of F. The second step in constructing a Fourier transform is the multiplication of the input signal by the decomposed signal.

## Prime factor algorithm

The prime factor algorithm is a technique for computing the divisor of a prime number. It is based on the Good-Thomas algorithm (1958/1963). This method re-expresses the discrete Fourier transform as a two-dimensional N1xN2 DFT. It works best for relatively prime numbers N1 and N2, and it can be applied recursively using other FFT algorithms.

The Prime factor algorithm starts by creating a vector of integers (i = 2, i = square-root(N)). It adds the square-root of the N to each of the prime factors. Once the number is derived, it goes through a loop to find its square-root. Once this is done, the output will be a list of prime factors. This process can be repeated until a number n has a prime factor less than the square root of its own.