The Finite field arithmetic reference article from the English Wikipedia on 24-Jul-2004
(provided by Fixed Reference: snapshots of Wikipedia from wikipedia.org)

Finite field arithmetic

Get the latest news from Africa
Arithmetic in a finite field is different from standard arithmetic. By definition, all operations must always yield results that remain within the field.

Table of contents
1 Notation
2 Addition and subtraction
3 Multiplication

Notation

Although elements of a finite field can be expressed in numerical form (i.e., hexadecimal, binary, etc.), it is often found convenient to express them as polynomials, with each term in the polynomials representing the bits in the elements' binary expressions. For example, the following are equivalent representations of the same value:

;Hexadecimal: {53} ;Binary: {01010011} ;Polynomial: x6 + x4 + x + 1

The exponents in the polynomial notation serve as "tags", making it possible to keep track of each bit's value throughout arithmetical manipulation, without the need for zero-value placeholders or alignment of digits into columns. If hexadecimal or binary notation is used, braces ( "{" and "}" ) or similar devices are commonly used to indicate that the value is an element of a field.

Addition and subtraction

In a finite field with characteristic 2, addition and subtraction are identical, and are accomplished using the XOR operator. Thus,

;Hexadecimal: {53} + {CA} = {99} ;Binary: {01010011} + {11001010} = {10011001} ;Polynomial: (x6 + x4 + x + 1) + (x7 + x6 + x3 + x) = x7 + x4 + x3 + 1

Multiplication

Multiplication in a finite field is multiplication modulo the irreducible polynomial used to define the finite field. (I.e., it is multiplication followed by division using the irreducible polynomial as the divisor—the remainder is the product.) The symbol "•" may be used to denote multiplication in a finite field.

For example, if the irreducible polynomial used is f(x) = x8 + x4 + x3 + x + 1, then {53} • {CA} = {01} because

(x6 + x4 + x + 1)(x7 + x6 + x3 + x) =

x13 + x12 + x9 + x7 + x11 + x10 + x7 + x5 + x8 + x7 + x4 + x2 + x7 + x6 + x3 + x =

x13 + x12 + x9 + x11 + x10 + x5 + x8 + x4 + x2 + x6 + x3 + x

and

x13 + x12 + x9 + x11 + x10 + x5 + x8 + x4 + x2 + x6 + x3 + x modulo x8 + x4 + x3 + x + 1 (= 11111101111110 mod 100011011) = 1, which can be demonstrated through long division (shown using binary notation, since it lends itself well to the task):

                  111101
100011011)11111101111110
          100011011     
           1110000011110
           100011011    
            110110101110
            100011011   
             10101110110
             100011011  
              0100011010
              000000000 
               100011010
               100011011
                00000001

(The elements {53} and {CA} happen to be multiplicative inversess of one another since their product is 1.)