I'm having trouble understanding how to find isomorphisms between finite fields. In my lecture notes it uses the following theorem:
A function $f$ is an isomorphism from $GF(z^n)$ represented modulo $p(X)$ to $GF(z^n)$ represented modulo $q(Y)$ if and only if $f$ commutes with addition and multiplication, $f (1) = 1$ and for $b = f(X)$, $(X - b)$ divides $p(X)$ as polynomials modulo $q(Y)$.
How can you use this to find isomorphisms? Say for example, between $GF(2^8)$ with $p(X) = X^8+X^4+X^3+X+1$ and $q(Y) = Y^8 +Y^4 + Y^3 + Y^2+ 1 $...?
You may observe that $X+1$ has order $255$ (multiplicatively) in the first representation, i.e., the multiplicative group of $\Bbb F_2[X]/(p(X))$ is generated by $X+1+(p(X))$. On the other hand, in the second representation already $Y$ itself has order $255$. This suggests we map $X+1+(p(X))\mapsto Y+(q(Y))$. As necessarily $a\mapsto 1$, this means $X+(p(X))\mapsto Y+1+(q(X))$. And verily, a quick calculation reveals that $$\begin{align}p(X+1)&=(X+1)^8+(X+1)^4+(X+1)^3+(X+1)+1\\ &=(X^8+1)+(X^4+1)+(X^3+X^2+X+1)+(X+1)+1\\ &=X^8+X^4+X^3+X^2+1\\ &=q(X).\end{align}$$ Without the irder calculation I mentioned in my first paragraph, you might simply have tried a few simple maps $X\mapsto r(X)$, and in fact $r(X)=X+1$ should have been among the first to try ...