C ++中有限域元素的平方根

时间:2014-03-18 16:26:22

标签: c++ sqrt ntl finite-field

是否有任何方法的实现来从有限域中获取元素的平方根。用C ++编程我使用的是NTL,但没有提供这样做的方法。 提前致谢

2 个答案:

答案 0 :(得分:0)

也许约翰克尔的"Computation in finite fields"(遗憾地是一本古老未完成的手稿)给出了一些暗示。据我所知,没有有效的算法,但我完全错了。您应该在http://math.stackexchange.comhttp://cs.stackexchange.com询问。

答案 1 :(得分:0)

实际上,NTL库提供了一个名为ZZ :: SqrRootMod(...)的方法,它有几个重载。该方法实际上实现了我描述的功能。我想给你们一个例子,例如:

   ZZ response;

   response= SqrRootMod(conv<ZZ>(value), conv<ZZ>(prime));

值可以是几种数值类型,只要它可以转换为ZZ,例如(ZZ_p,int)

收到Prf的电子邮件后,我注意到了这一点。我感谢谁。