コード例 #1
0
void SearchF()
{
	GF2m* a;
	GF2m* b;

	for (int i=3;i< 50;i++)
	{
		a = new GF2m(i);
		b = new GF2m(i);

		a->SetOne();
		b->SetPrimitive();

		a->Inverse();
		//dec(*a);
		printf("\nm=%i  inverse() = %050s",i, a->Print(FMT_BIN, buf1));

		power2(*b,b->BitLength);
	//	b.Square();
		dec(*b);
		printf("\nm=%i  ^2^m-1    = %050s",i, b->Print(FMT_BIN, buf1));

		printf("\n");
		delete b;
		delete a;
	}

	{
		i = 167;
		a = new GF2m(i);
		b = new GF2m(i);

		a->SetOne();
		b->SetPrimitive();

		a->Inverse();
		//dec(*a);
		printf("\nm=%i  inverse() = %050s",i, a->Print(FMT_BIN, buf1));

		power2(*b,b->BitLength);
	//	b.Square();
		dec(*b);
		printf("\nm=%i  ^2^m-1    = %050s",i, b->Print(FMT_BIN, buf1));

		printf("\n");
		delete b;
		delete a;

	}
	
}
コード例 #2
0
test_power2()
{
	//GF2m b(4);
	GF2m* b;

	for (int i=3;i< 50;i++)
	{
		b = new GF2m(i);

		b->SetPrimitive();
		power2(*b,b->BitLength);
	//	b.Square();
		dec(*b);
		printf("\nm=%i  b = %062s",i, b->Print(FMT_BIN, buf1));

		delete b;
	}

	/*b.SetPrimitive();
	power2(b,b.BitLength);
//	b.Square();
	b--;
	printf("\n b = %032s", b.Print(FMT_BIN, buf1));*/
	
}