Multiplying boolean Polynomials with Frobenius Partitions in Additive Fast Fourier Transform

We show a new algorithm and its implementation for multiplying bit-polynomials of large degrees. The algorithm is based on evaluating polynomials at a specific set comprising a natural set for evaluation with additive FFT and a high order element under Frobenius map of $\mathbb{F}_{2}$. With the high order element, we can derive more values of the polynomials under Frobenius map. Besides, we also adapt the additive FFT to efficiently evaluate polynomials at the set with an encoding process. For the implementation, we reorder the computations in the additive FFT for reducing the number of memory writes and hiding the latency for reads. The algebraic operations, including field multiplication, bit-matrix transpose, and bit-matrix multiplication, are implemented with efficient SIMD instructions. As a result, we effect a software of best known efficiency, shown in our experiments.

[1]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[2]  Michael E. Kounavis,et al.  Multiplication Instruction and its Usage for Computing the GCM Mode , 2010 .

[3]  Yunghsiang Sam Han,et al.  FFT Algorithm for Binary Extension Finite Fields and Its Application to Reed–Solomon Codes , 2015, IEEE Transactions on Information Theory.

[4]  David G. Cantor,et al.  On arithmetical algorithms over finite fields , 1989, Journal of combinatorial theory. Series A.

[5]  Arnold Schönhage,et al.  Schnelle Multiplikation von Polynomen über Körpern der Charakteristik 2 , 1977, Acta Informatica.

[6]  Gregory V. Bard,et al.  Algorithm 898: Efficient multiplication of dense matrices over GF(2) , 2010, TOMS.

[7]  Owen Kaser,et al.  Faster 64-bit universal hashing using carry-less multiplications , 2015, Journal of Cryptographic Engineering.

[8]  Erich Kaltofen,et al.  On fast multiplication of polynomials over arbitrary algebras , 1991, Acta Informatica.

[9]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[10]  Chen-Mou Cheng,et al.  Frobenius Additive Fast Fourier Transform , 2018, ISSAC.

[11]  Joris van der Hoeven,et al.  The Frobenius FFT , 2017, ISSAC.

[12]  Shuhong Gao,et al.  Additive Fast Fourier Transforms Over Finite Fields , 2010, IEEE Transactions on Information Theory.

[13]  Daniel J. Bernstein,et al.  Faster Binary-Field Multiplication and Faster Binary-Field MACs , 2014, IACR Cryptol. ePrint Arch..

[14]  Joris van der Hoeven,et al.  Implementing Fast Carryless Multiplication , 2017, MACIS.

[15]  Yunghsiang Sam Han,et al.  Novel Polynomial Basis and Its Application to Reed-Solomon Erasure Codes , 2014, 2014 IEEE 55th Annual Symposium on Foundations of Computer Science.

[16]  Joachim von zur Gathen,et al.  Modern Computer Algebra , 1998 .

[17]  Joris van der Hoeven,et al.  Fast Polynomial Multiplication over F260 , 2016, ISSAC.

[18]  Chen-Mou Cheng,et al.  Faster Multiplication for Long Binary Polynomials , 2017, ArXiv.

[19]  Richard P. Brent,et al.  Faster Multiplication in GF(2)[x] , 2008, ANTS.

[20]  Joris van der Hoeven,et al.  Faster Polynomial Multiplication over Finite Fields , 2014, J. ACM.