Question: mapping function between Z(2^m) and GF(2^m)

When implementing the Groebner Basis over Galois Field(2^m), I found an interesting thing: to represent and compute over GF, you have to map first.

 for example

For example, lef K= \mathbb{F}_2 [x]_{\setminus(x^2+x+1)}. So we have a field with 2 = 4 elements, namely one representation of \mathbb{F}_4. The fields elements are 0, 1, x, and x+1 (choosing their cannonical representatives). In the ring of integers, the elements 0,1,2 and 3 are chosen to represent the field. To map between both sets the substitution map, substituting x with 2 is chosen, so we have

0 <-> 0
1 <-> 1
2 <-> x
3 <-> x+1.

A polynomial Ring Z[y[1..3]]; can be used to represent \mathbb{F}_4[y_1, y_2, y_3]. Therefore, we map Z[y[1..3]]; to Z/(4)[1..3]]; and interpret each integer via the above described map. So the polynomial 3y[1] + 1y[2] + 5y[3] - 1 y[1]y[2]; is first mapped to 3y[1] + 1y[2] + 1y[3] +3 y[1]y[2]; which means the polynomial (x + 1)y1 + y2 + y3 + (x1)y1y2.

The problem here is how and why mapping in this way, i mean, why mapping like this: 

0 <-> 0
1 <-> 1
2 <-> x
3 <-> x+1.
not mapping in this way :

0 <-> 1
1 <-> 0
2 <-> x+1
3 <-> x.
 

whether there is a relationship between Z(2^m) and GF(2^m), or whether there is a polynomial function to map between them. If there exist such functions, how many such functions exist?

 

Thank you. 

 

Please Wait...