Zech logarithms are used to implement addition in finite fields when elements are represented as powers of a generator
\alpha
Zech logarithms are named after Julius Zech, and are also called Jacobi logarithms, after Carl G. J. Jacobi who used them for number theoretic investigations.
\alpha
\alpha
Z\alpha(n) | |
\alpha |
=1+\alphan,
Z\alpha(n)=log\alpha(1+\alphan).
\alpha
To be more precise,
Z\alpha
\alpha
-infty
\alpha-infty=0
n+(-infty)=-infty
Z\alpha(-infty)=0
Z\alpha(e)=-infty
e
\alphae=-1
e=0
e=
q-1 | |
2 |
q
Using the Zech logarithm, finite field arithmetic can be done in the exponential representation:
\alpham+\alphan=\alpham ⋅ (1+\alphan-m)=\alpham ⋅ \alphaZ(n-m)=\alpham
-\alphan=(-1) ⋅ \alphan=\alphae ⋅ \alphan=\alphae+n
\alpham-\alphan=\alpham+(-\alphan)=\alpham
\alpham ⋅ \alphan=\alpham+n
\left(\alpham\right)-1=\alpha-m
\alpham/\alphan=\alpham ⋅ \left(\alphan\right)-1=\alpham
-infty
-infty
m=-infty
This can be extended to arithmetic of the projective line by introducing another symbol
+infty
\alpha+infty=infty
For fields of characteristic 2,
Z\alpha(n)=m\iffZ\alpha(m)=n
For sufficiently small finite fields, a table of Zech logarithms allows an especially efficient implementation of all finite field arithmetic in terms of a small number of integer addition/subtractions and table look-ups.
The utility of this method diminishes for large fields where one cannot efficiently store the table. This method is also inefficient when doing very few operations in the finite field, because one spends more time computing the table than one does in actual calculation.
Let be a root of the primitive polynomial . The traditional representation of elements of this field is as polynomials in α of degree 2 or less.
A table of Zech logarithms for this field are,,,,,,, and . The multiplicative order of α is 7, so the exponential representation works with integers modulo 7.
Since α is a root of then that means, or if we recall that since all coefficients are in GF(2), subtraction is the same as addition, we obtain .
The conversion from exponential to polynomial representations is given by
\alpha3=\alpha2+1
\alpha4=\alpha3\alpha=(\alpha2+1)\alpha=\alpha3+\alpha=\alpha2+\alpha+1
\alpha5=\alpha4\alpha=(\alpha2+\alpha+1)\alpha=\alpha3+\alpha2+\alpha=\alpha2+1+\alpha2+\alpha=\alpha+1
\alpha6=\alpha5\alpha=(\alpha+1)\alpha=\alpha2+\alpha
Using Zech logarithms to compute α 6 + α 3:
\alpha6+\alpha3=\alpha6=\alpha6=\alpha6=\alpha12=\alpha5,
\alpha6+\alpha3=\alpha3=\alpha3=\alpha5,
\alpha6+\alpha3=(\alpha2+\alpha)+(\alpha2+1)=\alpha+1=\alpha5.