| > What's the multiplicative inverse of 2? What do you mean by 2? :-) The typical way to describe the finite field of order 256 is to look at a set of polynomials like this, c_7 * x^7 + c_6 * x^6 + ... + c_1 * x + c_0 where c_i is an element of Z/2Z, so it's either 0 or 1. Count how many such polynomials of degree <= 7 there are - since each coefficient is either 0 or 1, there are 2^8 = 256. Ok. Now we can define adding these polynomials in the usual term by term way. For multiplication, if you tried to just straight up multiply two polynomials of order 7, you might get a polynomial of order 14. So, here's the trick: pick a polynomial of degree 8 that cannot be factored as a product of polynomials of lesser degree. This is the polynomial equivalent of a prime number (prime numbers cannot be factored further either, right?). Just as we can look at Z/pZ, we can look at the set of polynomials over Z/2Z modulo g, where g is that irreducible poly of order 8. It should not be any more obvious to you that this works than that it is that Z/pZ is well defined, forms a field, etc. But you can verify it in pretty much the same ways as you'd prove it for Z/pZ. Anyway. So what do you mean by '2'? In this representation, 1+1 is 0. Sometimes by '2' people mean x. That's because there's a natural coding of these polynomials as bits in a binary word. Since each coefficient is 0 or 1, you can say the ith bit is the coefficient of x^i. With that encoding, 2 is 0b10, is 1 * x^1 + 0, is x. So, the inverse of x is going to be x^254 mod g (where g is that irreducible generating polynomial). |
And the labelling is opaque, because while it's obvious what polynomial an integer gets mapped to, the multiplication depends on the particular g.