截断多项式的定义是什么?

时间:2016-01-31 08:27:23

标签: cryptography algebra ntruencrypt ntrusign

在NTRUEncryption中,我看到 trucated polynimials ,但我无法理解trunacated多项式计算。
那么,可以告诉我任何人我们如何计算截断多项式?

1 个答案:

答案 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]系数计算如下:

  1. 反向b[0]..b[n-1]获取b[n-1]..b[0]
  2. 将步骤1的结果向右移动k+1次,然后获取b[k]..b[0]b[n-1]..b[k+1]
  3. b_k[0]..b_k[n-1]表示在2中计算的数组。
  4. 现在定义

    c[k] = a[0]b_k[0] + a[1]b_k[1] + ... + a[n-1]b_k[n-1].
    

    也可以通过以常规方式将多项式ab相乘,然后将结果截断为n-1度来进行此操作。上述算法的原因是为了避免计算不会在最终结果中使用的系数。