我正在使用NTL库实验有限域。
我遇到的问题是我按照以下方式初始化不可约多项式:
然后我还初始化了两个多项式:
输出结果为
GF2
是模2的整数,GF2X
是在GF2
上的多项式,GF2E
是在GF2
上的环/域扩展。我遇到的问题是我按照以下方式初始化不可约多项式:
GF2X irreduc;
SetCoeff(irreduc, 128, 1);
SetCoeff(irreduc, 7, 1);
SetCoeff(irreduc, 2, 1);
SetCoeff(irreduc, 1, 1);
SetCoeff(irreduc, 0, 1);
GF2E::init(irreduc);
然后我还初始化了两个多项式:
GF2X a;
SetCoeff(a, 120);
SetCoeff(a, 22);
GF2X b;
SetCoeff(b, 128);
SetCoeff(b, 51);
std::cout << "a: " << a << '\n';
std::cout << "b: " << b << '\n';
并将它们相乘:
std::cout << "\ndeg(a * b): " << deg(a * b) << '\n';
输出结果为
deg(a * b):
248,超出了由不可约多项式定义的2^128
域/环。我知道我可能错过了一些显而易见的东西,但我对这个领域非常陌生,请耐心等待。谢谢!