Search

The Online Encyclopedia and Dictionary

 
     
 

Encyclopedia

Dictionary

Quotes

 

Finite field arithmetic

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

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

For those still having trouble coming to grips with this, notice that each of the numbers being added in the example have a x6 in them. x6 + x6 would be 2x6. But, since each coefficient needs to be mod 2, this becomes 0x6, and then gets dropped from the answer.

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 =

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

and

x13 + x12 + x11 + x10 + x9 + x8 + x6 + x5 + x4 + x3 + x2 + 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 inverses of one another since their product is 1.)

The contents of this article are licensed from Wikipedia.org under the GNU Free Documentation License. How to see transparent copy