galois域的快速指数

时间:2012-07-24 03:43:06

标签: multiplication polynomial-math exponentiation galois-field finite-field

我希望能够计算

g^x = g * g * g * ... * g     (x times)

其中g在有限域GF(2 ^ m)中。这里m相当大,m = 256,384,512等,所以查找表不是解决方案。我知道有一个类似的想法的快速算法,Z / nZ的modpow(参见HAC的第619-620页)。

  1. 什么是计算周期的快速,非基于表格的方式(即g ^ x)?
  2. 这绝对是一个一厢情愿的问题,但它来了:montgomery multiplication/exponentiation的想法可以“回收”到Galois领域吗?我想这是因为同构属性,但我真的不知道。
  3. 备注:这是来自我在math.stackoverflow.com上的post我想这是提出这个问题的最佳社区。

1 个答案:

答案 0 :(得分:3)

来自math stackexchange社区,我有两个人建议Binary Exponentiaion。维基百科称其递归为递归算法。它可以更改为迭代算法,如Wiki的伪代码中所示。

我最初对这个想法不屑一顾,但我更多地研究了它,我找到了两篇论文(12),它们可以帮助在使用蒙哥马利乘法的Galois Fields中实现二进制求幂。

此外,Jyrki Lahtonen建议使用正常碱基(或当m = / = 256,384,512等最佳正常碱基时)以加速倍增。这种乘法方法的算法可以在paper中找到。

感谢他/她的输入。