【发布时间】:2019-03-22 01:38:28
【问题描述】:
我正在使用 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 的场/环之外。
我知道我可能遗漏了一些明显的东西,但我对这个领域很陌生,所以请耐心等待。
谢谢!
【问题讨论】:
标签: c++ polynomial-math polynomials ntl