Finite Fields and Confidentiality · Cryptography and Network Security

Finite Fields of the Form GF(2)

Watch lectures

Finite Fields of the Form GF(2^n)

1. Building GF(2n)GF(2^n): Polynomials mod Irreducible m(x)m(x)

GF(2n)GF(2^n) = polynomials over GF(2)GF(2) of degree <n< n, arithmetic mod an irreducible degree-nn m(x)m(x) — exact parallel of Zp\mathbb{Z}_p (integers mod prime pp):

GF(2n)=GF(2)[x]/(m(x)),∣GF(2n)∣=2nGF(2^n) = GF(2)[x]/(m(x)), \quad |GF(2^n)| = 2^n

Addition = XOR; multiplication = polynomial multiply then reduce mod m(x)m(x); every nonzero element has an inverse (Extended Euclid on polynomials). AES uses n=8n = 8: m(x)=x8+x4+x3+x+1m(x) = x^8+x^4+x^3+x+1 (0x11B), elements = bytes.

2. Worked GF(28)GF(2^8) Multiplication (AES Core)

0x57 • 0x83: polynomials (x6+x4+x2+x+1)(x7+x+1)(x^6+x^4+x^2+x+1)(x^7+x+1). Multiply (convolution, XOR combine): collect degree by degree — result before reduction: x13+x11+x9+x8+x7+x7+x5+x3+x2+x+x6+x4+x2+x+1x^{13}+x^{11}+x^9+x^8+x^7 + x^7+x^5+x^3+x^2+x + x^6+x^4+x^2+x+1. Cancel pairs (x7⊕x7=0x^7 \oplus x^7 = 0, x2⊕x2=0x^2 \oplus x^2 = 0, x⊕x=0x \oplus x = 0): x13+x11+x9+x8+x6+x5+x4+x3+1x^{13}+x^{11}+x^9+x^8+x^6+x^5+x^4+x^3+1. Reduce mod m(x)m(x): x8≡x4+x3+x+1x^8 \equiv x^4+x^3+x+1, x9≡x(x4+x3+x+1)=x5+x4+x2+xx^9 \equiv x(x^4+x^3+x+1) = x^5+x^4+x^2+x, x11x^{11}, x13x^{13} similarly (repeated xtime) — final remainder: 0xC1. (Stallings's canonical example: 0x57 • 0x83 = 0xC1 — quote it.)

Small-field sanity trace (GF(23)GF(2^3), m(x)=x3+x+1m(x) = x^3+x+1): (x2+1)(x2+x)=x4+x3+x2+x(x^2+1)(x^2+x) = x^4+x^3+x^2+x. Reduce: x3≡x+1x^3 \equiv x+1, x4≡x2+xx^4 \equiv x^2+x → (x2+x)+(x+1)+x2+x=(x2⊕x2)+(x⊕x⊕x)+1=x+1(x^2+x)+(x+1)+x^2+x = (x^2 \oplus x^2) + (x \oplus x \oplus x) + 1 = x+1. So (101)(110)=(011)(101)(110) = (011) in GF(23)GF(2^3) — hand-checkable in exams.

3. Inverses and Generators in GF(2n)GF(2^n)

  • Inverse via Extended Euclid: a(x)x(x)+m(x)y(x)=1⇒x(x)=a−1a(x)x(x) + m(x)y(x) = 1 \Rightarrow x(x) = a^{-1}. AES S-box starts from this inverse (then affine). Example in GF(23)GF(2^3): (x2+1)−1(x^2+1)^{-1}: Euclid m=(x+1)(x2+1)+xm = (x+1)(x^2+1) + x... solve to get inverse x2+xx^2+x (verify: (x2+1)(x2+x)=x+1×(x^2+1)(x^2+x) = x+1 \times? — Topic-3 division backwards; trust Euclid table method).
  • Multiplicative group cyclic of order 2n−12^n-1: AES GF(28)∗GF(2^8)^* order 255; generator g=x+1g = x+1 (0x03): powers run all 255 nonzero bytes — S-box/ logarithm tables built from this.
  • Freshman's dream: (a+b)2=a2+b2(a+b)^2 = a^2+b^2 in char 2 — squaring is linear (Frobenius automorphism); AES square-and-multiply + Itoh–Tsujii inversion exploit it.

4. GF(2n)GF(2^n) vs GF(p)GF(p) (Exam Table)

Point GF(p)GF(p) GF(2n)GF(2^n)
Elements integers 0..p−10..p-1 polynomials degree <n< n (bit-strings)
Addition ++ mod pp XOR
Modulus prime pp irreducible m(x)m(x) degree nn
Inverse integer Euclid polynomial Euclid
Crypto home DH/DSA/RSA-prime fields, ECC mod pp AES, GCM (GF(2128)GF(2^{128})), Reed–Solomon, CRCs
Example 3−1=53^{-1} = 5 in GF(7)GF(7) 0x57•0x83 = 0xC1 in AES GF(28)GF(2^8)

Exam Points

  • Construction formula GF(2)[x]/(m(x))GF(2)[x]/(m(x)) + AES m(x)m(x) verbatim — 2-mark opener.
  • 0x57 • 0x83 = 0xC1 cited; GF(23)GF(2^3) hand-trace (101)(110)=(011)(101)(110) = (011) — 5-mark core.
  • Inverse-via-Euclid statement + cyclic order 2n−12^n-1 + generator 0x03.
  • Full comparison table GF(p)GF(p) vs GF(2n)GF(2^n).
Free AppAndroid App

Coursify Android App

Generate AI courses, take quick quizzes between classes, and master complex engineering concepts on the go.

← All Cryptography and Network Security modules