首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于计算多项式逆的NTRU伪码

用于计算多项式逆的NTRU伪码
EN

Stack Overflow用户
提问于 2010-03-17 17:23:52
回答 1查看 2.3K关注 0票数 4

我想知道是否有人可以告诉我如何实现以下伪代码的第45行。

代码语言:javascript
复制
Require: the polynomial to invert a(x), N, and q.
1: k = 0
2: b = 1
3: c = 0
4: f = a
5: g = 0 {Steps 5-7 set g(x) = x^N - 1.}
6: g[0] = -1
7: g[N] = 1
8: loop
9:  while f[0] = 0 do
10:         for i = 1 to N do
11:             f[i - 1] = f[i] {f(x) = f(x)/x}
12:             c[N + 1 - i] = c[N - i] {c(x) = c(x) * x}
13:         end for
14:         f[N] = 0
15:         c[0] = 0
16:         k = k + 1
17:     end while
18:     if deg(f) = 0 then
19:         goto Step 32
20:     end if
21:     if deg(f) < deg(g) then
22:         temp = f {Exchange f and g}
23:         f = g
24:         g = temp
25:         temp = b {Exchange b and c}
26:         b = c
27:         c = temp
28:     end if
29:     f = f XOR g
30:     b = b XOR c
31: end loop
32: j = 0
33: k = k mod N
34: for i = N - 1 downto 0 do
35:     j = i - k
36:     if j < 0 then
37:         j = j + N
38:     end if
39:     Fq[j] = b[i]
40: end for
41: v = 2
42: while v < q do
43:     v = v * 2
44:     StarMultiply(a; Fq; temp;N; v)
45:     temp = 2 - temp mod v
46:     StarMultiply(Fq; temp; Fq;N; v)
47: end while
48: for i = N - 1 downto 0 do
49:     if Fq[i] < 0 then
50:         Fq[i] = Fq[i] + q
51:     end if
52: end for
53: {Inverse Poly Fq returns the inverse polynomial, Fq, through the argument list.}

函数StarMultiply返回存储在变量temp中的多项式(数组)。基本上,temp = 2-temp mod v是一个多项式(我将它表示为一个数组),而v是一个整数(比如4或8),那么在普通语言中,temp到底等于什么?我应该如何在我的代码中实现这一行。谁能给我举个例子。

上述算法用于计算NTRUEncrypt密钥生成的反多项式。伪代码可以在this document的第28页找到。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-18 05:05:01

对于temp,tempi中的每个条目,设置tempi = 2-tempi mod v。

这应该与我对Algorithm for computing the inverse of a polynomial的响应中的"Inverse in Z_p^n“部分相对应。

现在看起来,我想我的答案可能不会如它所说的那样--它说的是“在Z_p^n中是逆的”,但它看起来更像是在Z_2^n中的逆,所以它应该适用于p=2,但可能不适用于其他任何东西。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2461019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档