QUICK REVIEW
[论文解读] Frobenius Additive Fast Fourier Transform
Wen-Ding Li, Ming-Syan Chen⋆|arXiv (Cornell University)|Feb 12, 2018
Coding theory and cryptography参考文献 14被引用 3
一句话总结
本文提出了一种基于Frobenius加法快速傅里叶变换(FAFFT)的新方法,利用有限域中的Frobenius映射,在小次数下高效实现二元多项式乘法。该方法在次数小于256时达到29,005次位操作的记录最低值,优于Karatsuba算法和以往的FFT方法,首次在如此低的次数下实现基于FFT的乘法在位操作数上超越Karatsuba算法。
ABSTRACT
In ISSAC 2017, van der Hoeven and Larrieu showed that evaluating a polynomial P in GF(q)[x] of degree
研究动机与目标
- 为克服传统观念中认为FFT在小次数多项式乘法中效率低下的问题,因为其隐藏常数较高。
- 将Frobenius FFT技术从乘法单位根推广至基于Cantor和Gao-Mateer的加法FFT结构。
- 减少二元多项式乘法中的位操作数,尤其针对密码学与编码理论中相关的低次情形。
- 证明基于FFT的乘法在次数低至256时,其位操作数可优于类似Karatsuba的算法。
- 提供一个可公开获取的FAFFT乘法实用代码生成器,适用于嵌入式与密码学系统部署。
提出的方法
- 该方法将Frobenius FFT框架扩展至加法FFT结构,利用有限域扩张中的Frobenius映射来利用对称性。
- 采用Cantor和Gao-Mateer的加法FFT算法,该算法在特征2的Artin-Schreier扩张上使用多项式除法。
- 利用Frobenius映射通过固定基域𝔽₂的域自同构来减少操作数。
- 通过在𝔽₂^d中运算并采用适配于扩张域加法结构的基,对二元多项式进行算法优化。
- 实现了一个代码生成器,可自动生成使用FAFFT的多项式乘法的优化过程。
- 对于现代CPU上的大次数乘法,通过将求值点限制在𝔽₂^128的子集上,将方法适配于使用PCLMULQDQ指令。
实验结果
研究问题
- RQ1Frobenius FFT技术能否从有限域中的乘法结构推广至加法FFT结构?
- RQ2FAFFT能否在小次数下实现低于类似Karatsuba算法的二元多项式乘法位操作数?
- RQ3与Kronecker或标准加法FFT等现有基于FFT的方法相比,Frobenius加法FFT在位操作数上是否表现更优?
- RQ4FAFFT能否高效适配于支持PCLMULQDQ等专用指令的现代CPU?
- RQ5在小次数二元多项式中,基于FFT的乘法在位操作数上的性能上限是什么?
主要发现
- 对于次数小于256的多项式,FAFFT方法仅需29,005次位操作,创下新纪录,优于此前最佳结果33,397次。
- 在次数为128时,该方法实现11,556次位操作,仅比此前最佳的11,466次慢0.78%,表现出近乎最优性。
- 该方法在位操作数上比基于Kronecker的FFT实现低约2倍,与Frobenius FFT的理论预期一致。
- 在Intel Skylake架构上,使用PCLMULQDQ的FAFFT变体在次数高达2^23时,性能优于所有先前实现(如FDFT、ADFT、gf2x)。
- 对于Koblitz曲线(如sect233k1、sect239r1、BBE251),FAFFT相比先前方法减少了位操作数,从而在二元椭圆曲线密码学中实现更快的算术运算。
- 本工作首次证明,基于FFT的乘法可在如此低的次数下实现位操作数上超越类似Karatsuba的算法,挑战了以往的假设。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。