0

For example, isomorphic mapping from one $GF(256)$ to a different $GF(256)$, where

$map(a)+map(b) = map(a+b)$ and $map(a) \ map(b) = map(a \ b)$

I've always assumed that such mapping can always be implemented doing a multiply using an 8 row by 8 bit matrix times an 8 row by 1 bit element of the first field to map into an 8 row by 1 bit element of the second field (a linear mapping). If this is always true, and a primitive element $\alpha(x)$ of the first field and a primitive element $\beta(x)$ of the second field are chosen such that the isomorphic mapping works, then

$map(\alpha^i) = \beta^i$ for all i.

This also works when mapping to composite fields, such as mapping from $GF(2^8)$ to $GF(((2^2)^2)^2)$

Is there a way to map between fields where a matrix multiply or its equivalent is not used?

rcgldr
  • 546
  • 1
    Yes, two fields each of order $256$ are $8$-dimensional vector spaces over $\Bbb F_2$, so picking a basis for each of them, any isomorphism between them is a linear map and hence represented by an $8\times 8$ matrix over $\Bbb F_2$. Describing an isomorphism without using matrices will depend on how the two fields are themselves constructed / presented /described. – anon Jul 15 '22 at 01:38
  • @runway44 - exp and log tables could be used, to map from field A to field B: map(a) = expB[logA[a]], but this is equivalent to using a matrix multiply to map. – rcgldr Jul 15 '22 at 04:31
  • 2
    Every isomorphism will be "equivalent" to using a matrix - a field isomorphism is necessarily linear over the prime subfield, and linear maps can be represented by matrices. – anon Jul 15 '22 at 05:11

0 Answers0