I am trying to understand some topics in the literature and came across the following problem. Say I have a field $GF(2^4)$ defined by the irreducible polynomial $r(z) = z^4 + z + 1$, and I want to map an element in this field to an element in the isomorphic field $GF((2^2)^2)$ defined by the polynomials $p(x) = x^2 + x + 1$ and $q(y) = y^2 + y + (x + 1)$. Note that the coefficients in the polynomial $q(y)$ belong to the subfield $GF(2^2)$.
Now, I used Magma to find the following subset of roots for $p(x)$ and $q(y)$:
- $p(w + 1) = 0$, where $w + 1$ is in $GF(2^2)$
- $q(x + 1) = 0$, where $x$ is in $GF((2^2)^2)$
Now, assume I have an element $\alpha$ in $GF(2^4$ represented by 4 bits, namely, $\alpha_3\alpha_2\alpha_1\alpha_0$. In the standard (polynomial) basis, $\alpha$ is equivalent to $\alpha_3z^3 + \alpha_2z^2 + \alpha_1z + \alpha_0$. If I use the normal basis $[(w+1)^2, (w+1)]$ for elements in $GF(2^2)$ and $[(x+1)^4, (x+1)]$ for elements in $GF((2^2)^2)$, then we may rewrite $\alpha$ using new bits $g_i$ as follows:
$\alpha = \alpha_3z^3 + \alpha_2z^2 + \alpha_1z + \alpha_0 = (g_3(w+1)^2(x+1)^4 + g_2(w+1)(x+1)^4) + (g_1(w+1)^2(x+1) + g_0(w+1)(x+1))$
Now, if I simply compute $(w+1)(x+1), (w+1)^2(x+1), (w+1)(x+1)^2, (w+1)^2(x+1)^2$, I am under the impression that this is these are the new basis elements for $GF((2^2)^2)$, and so I should be able to easily derive a basis conversion algorithm by setting the binary strings of these products to be the column vectors of the matrix. This process yields the following:
\begin{matrix} 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 1 & 1 & 1 \end{matrix}
Unfortunately, using this basis transformation does not work. I verified its incorrectness by computing the square of some element $\alpha = z^3 + z + 1$ in $GF(2^4)$, and then by mapping $\alpha$ to its isomorphic counterpart in $GF((2^2)^2)$, computing the square in $GF((2^2)^2)$, and then mapping back to $GF(2^4)$. The results of these two steps did not match.
So, to summarize, I suppose my question is really three-fold. First, is my understanding of how the normal basis for an element in $GF((2^2)^2)$ is formed correct?
Second, is it enough to simply compute the products $(w+1)(x+1),\dots,(w+1)^2(x+1)^4$ and then map them to binary strings? Do I need to do any other sort of conversion?
Third, is my method of verification correct?
Thank you so very much to anyone who attempts to answer this question. There is a severe lack of consistency in the literature from which this problem arose, and I am simply trying to get everything along the same line. Also, my apologies for the length of this question.
If there is anything that is unclear, please comment and let me know.