Binary Fields

Binary fields denoted as , i.e. quotient ring of integers modulo ring of 2 integers , are a special class of Finite Fields, with modulus = . Main properties exhibited by Binary fields are:

  • Addition corresponds to bitwise XOR
  • Multiplication corresponds to bitwise AND
  • since, , i.e. negation of a number is itself

This allows for extremely efficient arithmetic that is much more hardware friendly than fields based on other primes.

Binary Extension fields

Finite field with elements represented as , where is an irreducible of degree . Used extensively in cryptography like AES block cipher and error-correcting codes.

Two ways of representing :

  • univariate basis - two ways of representing in univariate basis as well, namely:
    • polynomial basis: elements are represented as degree k-1 polynomial by equivalence class , where f(x) is any irreducible in the kth power.
    • normal basis: elements are represented as taking powers of an element from the field
  • multilinear basis: there’s one other way of representing elements, i.e. Multilinear basis, where elements are represented by monomials: , with each coefficient in .

Extension field using towers

Binius realises binary extension field using towers formalised in Weidemann et al..

Basic idea is to derive sequence of polynomial rings inductively

  • start with
  • set , namely .
  • set
  • continue this further with , where is an irreducible in

In practice, Extension Field elements are represented in vector of binary field components of length . Forms a multilinear basis of the form , where .

Let's take an example of K=2, this forms a field extension of . Let's form our basis vector, with :

  • : representing in binary form, ,

Now, we have our basis to represents numbers in , taking few examples:

A very nice property of binary fields is defining an element using it's subfield, using it's first and second halves in the subfield:

Arithmetic in Binary Extensions

  • Addition, Subtraction is just bitwise XOR
  • Negation is the element itself
  • Multiplication is done using a hybrid of Karatsuba multiplication
  • Inversion is , using Fermat's little theorem