使用FFT/NTT加速格密码中的多项式乘法运算

本文介绍了如何利用傅里叶变换(FFT)和数论变换(NTT)来加速格密码中的多项式乘法运算。讨论了离散傅里叶变换(DFT)的基本原理,并指出其O(N^2)的时间复杂度。通过二分法的快速傅里叶变换(FFT)优化了计算速度,详细解释了一分为二的策略。同时,还提到了数论变换在多项式乘法中的应用。
摘要由CSDN通过智能技术生成

傅里叶变换

傅里叶变换通常用于在数字信号处理中,对数字信号进行频域和时域的转换,分为离散的和连续的,如下图:
在这里插入图片描述
格密码是模整数下的操作,所以只考虑离散情况。

离散傅里叶变换

序列{ x n x_n xn} n = 0 N − 1 _{n=0}^{N-1} n=0N1,DFT为:
在这里插入图片描述
IDFT为:
在这里插入图片描述
IDFT除了指数的符号相反结果需要乘以归一化因子1/N外,与DFT是相同的。
所以计算DFT的程序代码稍作修改也可以用于IDFT。

快速傅里叶变换FFT

O( N 2 N^2 N2)太慢了

原本的DFT中,将{ x n x_n xn}变换为{ X n X_n Xn}。
N个点求出N个DFT,每个Xi都与所有的{ x n x_n xn}有关,换言之,要求出 X i X_i Xi</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值