在NTRUEncryption中,我看到 trucated polynimials ,但我无法理解trunacated多项式计算。
那么,可以告诉我任何人我们如何计算截断多项式?
答案 0 :(得分:1)
多项式在它们仅具有一定程度的系数的意义上被截断。
以下是截断两个截断多项式的乘积的方法(总和很简单):
假设您有两个截断的多项式,即两个多项式的度数不大于n-1
a = a[0] + a[1]X + ... + a[n-1]X^(n-1)
b = b[0] + b[1]X + ... + b[n-1]X^(n-1)
然后他们"截断" product定义为多项式
a * b = c[0] + c[1]X + ... +c[n-1]X^(n-1)
其中c[k]
系数计算如下:
b[0]..b[n-1]
获取b[n-1]..b[0]
。k+1
次,然后获取b[k]..b[0]b[n-1]..b[k+1]
b_k[0]..b_k[n-1]
表示在2中计算的数组。现在定义
c[k] = a[0]b_k[0] + a[1]b_k[1] + ... + a[n-1]b_k[n-1].
也可以通过以常规方式将多项式a
和b
相乘,然后将结果截断为n-1
度来进行此操作。上述算法的原因是为了避免计算不会在最终结果中使用的系数。