给定生成器,如何检查元素 a 是否属于素数阶的特定循环群 G?现在我只需生成组中的所有元素,将它们保存到容器中并检查元素是否在其中。这是我当前用来生成组的所有元素的代码:
public HashSet<BigInteger> group_elements(BigInteger g, BigInteger q) {
HashSet<BigInteger> group = new HashSet<BigInteger>();
BigInteger element = modPow(g,ONE,q);
for (int i = 2; !group.contains(element); i++) {
group.add(element);
element = modPow(g, BigInteger.valueOf(i), q);
}
return group;
}
要查看一个元素是否在组中,我只需检查:
if (group.contains(num)) { ... }
如您所见,语言是Java