Mit 6.857
Mit 6.857
Intro
These are the notes for the first recitation of 6.857. They borrow heavily
from Prof. Rivests past 6.857 lecture notes on finite fields.
2.1
Groups
2.2
Finite Fields
a,b,c S : (a+b)+c=a+(b+c)
a S : a+0=0+a=a
a S, an inverse (-a) G such that: a+(-a)=(-a)+a=0
a,b S : a+b=b+a
In addition (here S = S 0):
(S ,) is an abelian group with 1 being the identity element.
a,b,c S : (ab)c=a(bc)
a S : a1=1a=a
a S , an inverse a1 G such that: aa1 =a1 a=1
a,b S : ab=ba
Finally:
a,b,c S : (a+b)c=ac + b c
It can be proven using the properties of fields that 0 g = g = 0 for all
g F.
A simple example of a finite field is Z2 = {0, 1}. Addition in this field is
just XOR (i.e. 0 + 0 = 1 + 1 = 0 and 1 + 0 = 0 + 1 = 1). Multiplication is
like AND (i.e 1 1 = 1 and 0 0 = 1 0 = 0 1 = 0). You can check that all
the properties of finite fields are satisfied in Z2 .
Another example of a finite field is Zp = {0, 1, 2, ..., p 1} which is the
set of residues modulo a prime number p.
Solving linear equations in finite fields is very intuitive.
Specifically if we want to solve a x + b = 0 where a 6= 0 then we proceed
as follows:
a x + b = 0 (a x + b) + (b) = 0 + (b) = b a x + (b + (b)) =
b a x + 0 = b a x = b a1 (a x) = a1 (b) (a1 a) x =
a1 (b) 1 x = a1 (b) x = a1 (b) which is what one would expect.
2.3
Theorem 1 (Galois) For all primes p and for all positive integers n there
exists a unique finite field with pn elements.
We call this field GF (pn ). Of special interest to cryptography is the case
where p=2. The field GF (28 ) is used in the Advanced Encryption Standard
(to be covered later in the term).
Next, we describe what GF (2k ) looks like for general k.
Definition 3 GF (2k ) = {ak1 xk1 + ak2 xk2 + ... + a1 x + a0 : ai Z2 }
where Z2 = {0, 1} is the finite field with 2 elements.
Each element in GF (2k ) is simply a polynomial of degree k 1 with
coefficients in Z2 = {0, 1}. We can represent an element g = ak1 xk1 +
ak2 xk2 + ... + a1 x + a0 in GF (2k ) simply by its coefficients. I.e. we can
write g = ak1 ak2 ...a1 a0 .
A simple example is GF (22 ) = {0, 1, x, x + 1}
2.4
Addition in GF(2k )
2.5
Multiplication in GF(2k )