Professional Documents
Culture Documents
Finite Fields1
Finite Fields1
Algebraic Structure
An arbitrary set with one or more limited operation defined on
it with certain axioms is called algebraic structure.
3 types of algebraic structure: Groups, Rings, Fields
Various operations performed on these algebraic structures are
addition, subtraction, multiplication and division operations.
Each operation takes any two elements from the defined
algebraic structure as input and produces a 3rd element as
output which will also be available in the algebraic structure.
Example: a and b are 2 input values taken from any algebraic
structure. The input values can be added to produce an output
element c by using commutative law (i.e., a+b = c).
According to the principles of algebraic structures, the resultant
element c will also be available in the algebraic structure from
where the input values are taken.
Algebraic structures are used in various cryptography algorithms
to process with integers.
Classification of algebraic structures and the operations supported
by each algebraic structure:
Group
A group contains a set of elements denoted as G together with a
binary operator * on G that satisfies the following axioms:
Example:
Addition Modulo 10
Example:
Consider the group n, where n=10. Prove that the given group is a
multiplicative group.
Multiplication modulo 10
Reason: All the elements are relatively prime to the order or size of
the group 7. This type of group is called prime group and is denoted
as Zp.
Prime group is used in many cryptographic algorithms such as Diffie-
Hellman and Elgamal cryptosystem.
Ring:
Field:
Example Problem:
The field (F) is divided into two types, namely a finite field and
an infinite field.
Finite field is mainly used in cryptography to design a
computationally efficient algorithm.
Finite field is also called a Galois field (GF) that has a different
structure than field structure.
GF is used in many cryptographic algorithms such as advanced
encryption standard (AES) and ellipticcurve cryptography (ECC).
The order, or number of elements, of a finite field is
represented in the form of (pn), where p is a prime number and
n is a positive integer. For every prime number p and positive
integer n, there exists a finite field with (pn) elements.
Another notation for a finite field is of the form GF(pn), where
the GF represents a ‘Galois Field’.
One important issue in the structure (pn) is that arithmetic
operations modulo (pn) do not satisfy all the axioms of a field.
Consider, for example, p = 2 and n = 6 and then the field will
have the set of integers from 0 to 63.
Therefore, the field will have 64 integer elements and the order
of the field is 64. Since 64 is not a prime number, the set of
integers is not a field.
In order to make it to become a field, we have to choose a
closest prime number to the size of field 64. The closest prime
number of the order of the field 64 is 61. However, in this case
the numbers 61,62 and 63 are not used in the field and hence it
is an inefficient way of using a field.
Therefore, the GF is purely based on polynomial equations.
To add any two polynomials, the terms must be combined.
o For instance, the addition of two polynomial equations 3x
and 5x can be 8x by adding its terms.
o Likewise, 3x2y and 5x2y can be added to get 8x2y. However,
3x2y and 5x2y3 cannot be added together.
o The reason is that these two terms do not have the exact
variables and the exact powers of those variables.
The basic definitions used in polynomial equations are given
below:
o Polynomial: A polynomial in x is any expression which can
be written as:
Examples:
In polynomial division, there are two types of polynomial
division, namely simplification method and real division
method.
o If there is a common factor both in the numerator (top)
and denominator (bottom), then simplification method
is used.
o Otherwise, real polynomial division is used.
o For example, divide the polynomial 2x + 4 by using the
constant polynomial 2. Here, we can use a simplified
method because there is a common factor 2 both in the
numerator and denominator. Therefore,
Galois Fields:
Let’s discuss the way of performing arithmetic operations in the
structure GF(pn).
The addition and subtraction operations are performed by
adding or subtracting two polynomials together, and reducing
the result modulo the attribute p.
In a finite field with the attribute p = 2, addition modulo 2 is
performed for addition operation and subtraction modulo 2 is
performed for subtraction operation. This is very identical to
performing XOR operation.
Therefore, simple XOR operation can be used for performing
addition and subtraction operations when p = 2 in the Galois
field GF(2n).
For example, addition/subtraction of given two polynomials f(x)
= x2 + 1 and g(x) = x2 + x +1 taken from GF(23) is x.
Multiplication operation in a Galois field GF(2n) is performed by
multiplication modulo an irreducible reducing polynomial used
to define the Galois field GF(2n).
During the multiplication operation performed in GF, a
multiplication operation followed by a modulo division
operation is performed using the irreducible polynomial as the
divisor.
Irreducible polynomial m(x) is a polynomial that has no divisors
other than itself and 1; otherwise, it is called a reducible
polynomial.
A few examples of some irreducible polynomials are:
NOTE:
Irreducible polynomial is used in GF(2n) because reducible
polynomials are not generating the multiplicative inverse for the
elements of GF(2n).
Therefore, it is necessary to choose an irreducible polynomial in
the cryptographic algorithms where multiplication operation is
used in the encryption function and division operation is used in
the decryption function.
Example:
Multiply the given two polynomials f(x) = x2 + x and g(x) = x2 taken from
the Galois field GF(23) for the irreducible polynomial m(x) = x3 + x2 + 1.
The arithmetic operations performed in GF(23) for the irreducible
polynomial m(x) = x3 + x2 + 1 is shown below: