TL;DR: This paper introduces a generalized cyclic convolution which can be implemented via the conventional cyclic Convolution system by the discrete Fourier transform (DFT) with pre-multiplication for the input and post- multiplier for the output.
Abstract: This paper introduces a generalized cyclic convolution which can be implemented via the conventional cyclic convolution system by the discrete Fourier transform (DFT) with pre-multiplication for the input and post-multiplication for the output. The generalized cyclic convolution is applied for computing a negacyclic convolution. Comparison shows that the proposed implementation is more efficient and simpler in structure than other methods. The generalized cyclic convolution is also applied for the linear convolution by the modified Fermat number transform.
TL;DR: The proposed algorithm, based on the discrete Gaussian transform (DGT), is implemented in C++ and compared with mature and highly optimized number theory libraries, namely, NTL and FLINT, and shows that it performs faster than both libraries and achieves speedup factors ranging from 1.01x–1.2x and 1.18x-1.55x compared to NTL or FLINT.
Abstract: Univariate polynomial multiplication in \(\mathbb {Z}_q[x]/\langle x^n+1 \rangle \) has brought great attention recently. Thanks to new construction of cryptographic solutions based on lattice and ring-learning with errors problems. A number of software libraries, such as NTL and FLINT, implements fast multiplication algorithms to perform this operation efficiently. The basic notion behind fast polynomial multiplication algorithms is based on the relation between multiplication and convolution which can be computed efficiently via fast Fourier transform (FFT) algorithms. Hence, efficient FFT is crucial to improve fast multiplication performance. An interesting algorithm that cuts FFT length in half is based on the discrete Gaussian transform (DGT). DGT was first proposed to work only with primes that support Gaussian integers arithmetic known as Gaussian primes. We modify this algorithm to work with not necessarily Gaussian primes and show how its parameters can be found efficiently. We introduce an array of optimization techniques to enhance the performance on commodity 64-bit machines. The proposed algorithm is implemented in C++ and compared with mature and highly optimized number theory libraries, namely, NTL and FLINT. The experiments show that our algorithm performs faster than both libraries and achieves speedup factors ranging from 1.01x–1.2x and 1.18x–1.55x compared to NTL and FLINT, respectively.
TL;DR: A polynomial-transform-based algorithm for calculating products modulo Z/sup n/+1 on a hypercube is presented and the authors discuss the use of this algorithm in the calculation of convolution, compare communication costs with the FFT, and discuss directions for future work.
Abstract: A polynomial-transform-based algorithm for calculating products modulo Z/sup n/+1 on a hypercube is presented. All interprocessor communication in this algorithm occurs over a Hamming distance of one; that is processors communicate only with their immediate neighbors. This algorithm has been implemented on a Connection Machine, and the performance results are discussed. Current figures show a time of 358 ms for negacyclic convolution of 1 K 16 bit samples, up to about 8 s for a 64 K data set. The authors discuss the use of this algorithm in the calculation of convolution, compare communication costs with the FFT, and discuss directions for future work. >
TL;DR: This paper introduces a generalized cyclic convolution which can be implemented via the conventional cyclic Convolution system by the discrete Fourier transform (DFT) with pre-multiplication for the input and post- multiplier for the output.
Abstract: This paper introduces a generalized cyclic convolution which can be implemented via the conventional cyclic convolution system by the discrete Fourier transform (DFT) with pre-multiplication for the input and post-multiplication for the output. The generalized cyclic convolution is applied for computing a negacyclic convolution. Comparison shows that the proposed implementation is more efficient and simpler in structure than other methods. The generalized cyclic convolution is also applied for the linear convolution by the modified Fermat number transform.
TL;DR: The generalized cyclic convolution system by the discrete Fourier transform is modified in such a way that conventional fast algorithms can be applied for the computation.
Abstract: This paper generalizes the cyclic convolution system by the discrete Fourier transform (DFT). The generalized cyclic convolution is modified in such a way that conventional fast algorithms can be applied for the computation. This system is applied for computing a negacyclic convolution and modified Fermat number transform.