获取int表示NTL GF2E

时间:2014-06-20 16:49:56

标签: ntl

我将如何使用NTL库在Galois Field中获取int表示。例如元素

GF2E xx=random_GF2E();

我正在尝试使用

printf("%d",xx._GF2E__rep.HexOutput);

但我得到0

1 个答案:

答案 0 :(得分:1)

GF2E是一个扩展字段,即GF2E中的元素位于GF(2)[X]/(P),其中P是不可简化的多项式。所以你不能得到一个整数表示。但是你可以将一个表示作为一个向量。

GF2X P;
SetCoeff(P, 0, 1);
SetCoeff(P, 1, 1);
SetCoeff(P, 2, 1);
// P is now x^2+x+1, this is irreducable since P(1)=1 and P(0)=1

GF2E::init(P);
GF2E xx = random_GF2E();

cout << xx << endl;     // Prints something like "[0 1]"

注意:要使用此代码段,您必须使用NTL和{{1}将名称空间stdusing namespace NTL;导入您的程序在你的包括之后 另一种方法是将using namespace std;添加到所有NTL函数,将NTL::添加到std::cout
有关命名空间的更多信息,请参阅this tutorial