是否有任何方法的实现来从有限域中获取元素的平方根。用C ++编程我使用的是NTL,但没有提供这样做的方法。 提前致谢
答案 0 :(得分:0)
也许约翰克尔的"Computation in finite fields"(遗憾地是一本古老未完成的手稿)给出了一些暗示。据我所知,没有有效的算法,但我完全错了。您应该在http://math.stackexchange.com或http://cs.stackexchange.com询问。
答案 1 :(得分:0)
实际上,NTL库提供了一个名为ZZ :: SqrRootMod(...)的方法,它有几个重载。该方法实际上实现了我描述的功能。我想给你们一个例子,例如:
ZZ response;
response= SqrRootMod(conv<ZZ>(value), conv<ZZ>(prime));
值可以是几种数值类型,只要它可以转换为ZZ,例如(ZZ_p,int)
收到Prf的电子邮件后,我注意到了这一点。我感谢谁。