Finite Field Arithmetic
Arithmetic over a field containing a finite number of elements, with well-defined addition, multiplication, and multiplicative inverses.
Finite-field arithmetic is not simply integer arithmetic followed by a modulus. In GF(2^m), elements are commonly represented as bit strings or polynomials; addition becomes XOR while multiplication includes polynomial multiplication and reduction by a chosen irreducible polynomial.
GF(2^8) Example
AES interprets bytes as elements of GF(2^8). Operations in MixColumns therefore do not have ordinary 8-bit integer multiplication semantics.
Similar arithmetic appears in Reed-Solomon and other error-correcting codes. Implementations may use lookup tables, carry-less multiplication instructions, or bitsliced techniques depending on cache behavior, side-channel requirements, and the target ISA.
Source
- https://csrc.nist.gov/pubs/fips/197/final