Module galois_2p8::field

source ·
Expand description

Implements arithmetic operations over all GF(2^8) extensions.

Galois (finite) fields are defined in one variable modulo some prime number, or over algebraic extensions, where the members are polynomials with coefficients in the one-variable field modulo some irreducable polynomial.

An irreducable polynomial is analogous to a prime number: it cannot be factored as the product of two or more polynomials. Performing polynomial arithmetic modulo an irreducable polynomial of degree n ensures that all 2^n values from 0 to 2^n - 1 are represented within the extended field.

Algebraic extensions to Galois fields can be expressed as operations modulo several potential irreducable polynomials, except for the special case of GF(2^2), which can only be represented in terms of one irreducable polynomial. This crate implements field arithmetic modulo all possible irreducable polynomials capable of generating GF(2^8).

Structs

Implements field arithmetic compatible with all IrreducablePolynomials.
Implements field arithmetic compatible with primitive IrreducablePolynomials.

Enums

Represents an irreducable polynomial of GF(2^8).

Constants

Contains all possible irreducable polynomials for GF(2^8).
Contains the primitive polynomials of GF(2^8).

Traits

Establishes GF(2^8) arithmetic for scalar and vector operands.