Discrete logarithm tables for the fields $BbbF_8$ and $BbbF_16$.

Clash Royale CLAN TAG#URR8PPP
up vote
20
down vote
favorite
The smallest non-trivial finite field of characteristic two is
$$
BbbF_4=0,1,beta,beta+1=beta^2,
$$
where $beta$ and $beta+1$ are primitive cubic roots of unity, and zeros of the
polynomial $x^2+x+1$. Here the multiplication table is given once we know
how to write the non-zero elements as powers of $beta$. Extend the idea to fields of eight and sixteen elements.
Those fields can be constructed as
$$
BbbF_8=BbbF_2[alpha], quadtextandquad BbbF_16=BbbF_2[gamma],
$$
where $alpha$ has minimal polynomial $x^3+x+1$, and $gamma$ has minimal polynomial $x^4+x+1$, both irreducible in $BbbF_2[x]$.
Task:
Calculate the tables for base $alpha$ discrete logarithm of $BbbF_8$ and base $gamma$ discrete logarithm of $BbbF_16$.
finite-fields
add a comment |Â
up vote
20
down vote
favorite
The smallest non-trivial finite field of characteristic two is
$$
BbbF_4=0,1,beta,beta+1=beta^2,
$$
where $beta$ and $beta+1$ are primitive cubic roots of unity, and zeros of the
polynomial $x^2+x+1$. Here the multiplication table is given once we know
how to write the non-zero elements as powers of $beta$. Extend the idea to fields of eight and sixteen elements.
Those fields can be constructed as
$$
BbbF_8=BbbF_2[alpha], quadtextandquad BbbF_16=BbbF_2[gamma],
$$
where $alpha$ has minimal polynomial $x^3+x+1$, and $gamma$ has minimal polynomial $x^4+x+1$, both irreducible in $BbbF_2[x]$.
Task:
Calculate the tables for base $alpha$ discrete logarithm of $BbbF_8$ and base $gamma$ discrete logarithm of $BbbF_16$.
finite-fields
A related meta-thread. It may be best to discuss eventual objections to this thread there.
â Jyrki Lahtonen
Dec 3 '13 at 19:01
All: The purpose of this Q/A pair is to give an on-site explanation of the use of discrete logarithms in certain finite fields of charactertistic two, and examples of their use. I refer to this question in the tag wiki. The earlier versions of using discrete log are buried in answers to coding theoretical questions and such. My hope is that a standalone Q/A will be more accessible to the interested readers.
â Jyrki Lahtonen
Dec 4 '13 at 12:31
1
Jyrki, have you seen this? link.springer.com/chapter/10.1007%2F978-3-642-55220-5_1
â David Holden
Oct 10 '14 at 14:58
add a comment |Â
up vote
20
down vote
favorite
up vote
20
down vote
favorite
The smallest non-trivial finite field of characteristic two is
$$
BbbF_4=0,1,beta,beta+1=beta^2,
$$
where $beta$ and $beta+1$ are primitive cubic roots of unity, and zeros of the
polynomial $x^2+x+1$. Here the multiplication table is given once we know
how to write the non-zero elements as powers of $beta$. Extend the idea to fields of eight and sixteen elements.
Those fields can be constructed as
$$
BbbF_8=BbbF_2[alpha], quadtextandquad BbbF_16=BbbF_2[gamma],
$$
where $alpha$ has minimal polynomial $x^3+x+1$, and $gamma$ has minimal polynomial $x^4+x+1$, both irreducible in $BbbF_2[x]$.
Task:
Calculate the tables for base $alpha$ discrete logarithm of $BbbF_8$ and base $gamma$ discrete logarithm of $BbbF_16$.
finite-fields
The smallest non-trivial finite field of characteristic two is
$$
BbbF_4=0,1,beta,beta+1=beta^2,
$$
where $beta$ and $beta+1$ are primitive cubic roots of unity, and zeros of the
polynomial $x^2+x+1$. Here the multiplication table is given once we know
how to write the non-zero elements as powers of $beta$. Extend the idea to fields of eight and sixteen elements.
Those fields can be constructed as
$$
BbbF_8=BbbF_2[alpha], quadtextandquad BbbF_16=BbbF_2[gamma],
$$
where $alpha$ has minimal polynomial $x^3+x+1$, and $gamma$ has minimal polynomial $x^4+x+1$, both irreducible in $BbbF_2[x]$.
Task:
Calculate the tables for base $alpha$ discrete logarithm of $BbbF_8$ and base $gamma$ discrete logarithm of $BbbF_16$.
finite-fields
edited Dec 4 '13 at 12:30
community wiki
2 revs
Jyrki Lahtonen
A related meta-thread. It may be best to discuss eventual objections to this thread there.
â Jyrki Lahtonen
Dec 3 '13 at 19:01
All: The purpose of this Q/A pair is to give an on-site explanation of the use of discrete logarithms in certain finite fields of charactertistic two, and examples of their use. I refer to this question in the tag wiki. The earlier versions of using discrete log are buried in answers to coding theoretical questions and such. My hope is that a standalone Q/A will be more accessible to the interested readers.
â Jyrki Lahtonen
Dec 4 '13 at 12:31
1
Jyrki, have you seen this? link.springer.com/chapter/10.1007%2F978-3-642-55220-5_1
â David Holden
Oct 10 '14 at 14:58
add a comment |Â
A related meta-thread. It may be best to discuss eventual objections to this thread there.
â Jyrki Lahtonen
Dec 3 '13 at 19:01
All: The purpose of this Q/A pair is to give an on-site explanation of the use of discrete logarithms in certain finite fields of charactertistic two, and examples of their use. I refer to this question in the tag wiki. The earlier versions of using discrete log are buried in answers to coding theoretical questions and such. My hope is that a standalone Q/A will be more accessible to the interested readers.
â Jyrki Lahtonen
Dec 4 '13 at 12:31
1
Jyrki, have you seen this? link.springer.com/chapter/10.1007%2F978-3-642-55220-5_1
â David Holden
Oct 10 '14 at 14:58
A related meta-thread. It may be best to discuss eventual objections to this thread there.
â Jyrki Lahtonen
Dec 3 '13 at 19:01
A related meta-thread. It may be best to discuss eventual objections to this thread there.
â Jyrki Lahtonen
Dec 3 '13 at 19:01
All: The purpose of this Q/A pair is to give an on-site explanation of the use of discrete logarithms in certain finite fields of charactertistic two, and examples of their use. I refer to this question in the tag wiki. The earlier versions of using discrete log are buried in answers to coding theoretical questions and such. My hope is that a standalone Q/A will be more accessible to the interested readers.
â Jyrki Lahtonen
Dec 4 '13 at 12:31
All: The purpose of this Q/A pair is to give an on-site explanation of the use of discrete logarithms in certain finite fields of charactertistic two, and examples of their use. I refer to this question in the tag wiki. The earlier versions of using discrete log are buried in answers to coding theoretical questions and such. My hope is that a standalone Q/A will be more accessible to the interested readers.
â Jyrki Lahtonen
Dec 4 '13 at 12:31
1
1
Jyrki, have you seen this? link.springer.com/chapter/10.1007%2F978-3-642-55220-5_1
â David Holden
Oct 10 '14 at 14:58
Jyrki, have you seen this? link.springer.com/chapter/10.1007%2F978-3-642-55220-5_1
â David Holden
Oct 10 '14 at 14:58
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
19
down vote
accepted
A (base-$g$) discrete logarithm of a finite field $BbbF_q$, is a function
$$
log_g:BbbF_q^*toBbbZ_q-1
$$
defined via the equivalence $g^j=xLeftrightarrow log_g(x)=j$. For this to be well-defined it is imperative that $g$ is a primitive element, i.e. a generator of $BbbF_q^*$, and that the domain of $log_g$ is the
residue class ring of integer modulo $q-1$, as $g^q-1=g^0=1$.
It immediately follows that the discrete logarithm satisfies the familiar rules
$$
beginaligned
log_g(xcdot y)&=log_g(x)+log_g(y),\
log_g(x^n)&=ncdotlog_g(x)
endaligned
$$
for all elements $x,yin BbbF_q^*$ and all integers $n$. The arithmetic
on the r.h.s. is that of the ring $BbbZ_q-1$.
It is known that when $q=8$, a zero $alpha$ of $x^3+x+1$ generates $BbbF_8^*$. This is proven by the following calculation, where we repeatedly
use the fact that we are working in characteristic two, and that we have the
relation $alpha^3=alpha+1$.
$$
eqalign
alpha^0&=&&=1,\
alpha^1&=&&=alpha,\
alpha^2&=&&=alpha^2,\
alpha^3&=&&=1+alpha,\
alpha^4&=&alphacdotalpha^3=alpha(1+alpha)&=alpha+alpha^2,\
alpha^5&=&alphacdotalpha^4=alpha(alpha+alpha^2)=alpha^2+alpha^3=alpha^2+(1+alpha)&=1+alpha+alpha^2,\
alpha^6&=&alphacdotalpha^5=alpha(1+alpha+alpha^2)=alpha+alpha^2+alpha^3=
alpha+alpha^2+(1+alpha)&=1+alpha^2,\
alpha^7&=&alphacdotalpha^6=alpha(1+alpha^2)=alpha+alpha^3=alpha+(1+alpha)&=1.
$$
We see from the end results in the last column that all the non-zero
quadratic polynomials evaluated at $alpha$ appear. This is yet another confirmation of the fact that $alpha$ is a primitive element.
The discrete logarithm is used to replace the cumbersome multiplication (and raising
to an integer power) of the field with more familiar integer arithmetic. Exactly like the old-timers used logarithm tables to replace the error-prone multiplication with the easier addition.
For example
$$
(1+alpha)(1+alpha+alpha^2)=alpha^3cdotalpha^5=alpha^8=alpha^7cdotalpha=alpha.
$$
Note that both the base-$alpha$ discrete logarithms and its inverse mapping are needed. I generate such a table as a part of the program initialization, whenever I carry out extensive computer-aided calculations involving a finite field. The above table gives the discrete logarithm when read from right to left, and the inverse mapping (that we actually produced above) when read from left to right.
Similarly with $q=16$ we use $gamma$, a zero of $x^4+x+1$. This time the table looks like
$$
beginaligned
gamma^0&=&1\
gamma^1&=&gamma\
gamma^2&=&gamma^2\
gamma^3&=&gamma^3\
gamma^4&=&gamma+1\
gamma^5&=gamma(gamma+1)=&gamma^2+gamma\
gamma^6&=gamma(gamma^2+gamma)=&gamma^3+gamma^2\
gamma^7&=gamma^4+gamma^3=&gamma^3+gamma+1\
gamma^8&=(gamma^4)^2=&gamma^2+1\
gamma^9&=gamma(gamma^2+1)=&gamma^3+gamma\
gamma^10&=gamma^4+gamma^2=&gamma^2+gamma+1\
gamma^11&=&gamma^3+gamma^2+gamma\
gamma^12&=gamma^4+gamma^3+gamma^2=&gamma^3+gamma^2+gamma+1\
gamma^13&=gamma^4+gamma^3+gamma^2+gamma=&gamma^3+gamma^2+1\
gamma^14&=gamma^4+gamma^3+gamma=&gamma^3+1\
(gamma^15&=gamma^4+gamma=&1)
endaligned
$$
Thus for example
$$
(gamma^3+1)(gamma^2+1)=gamma^14cdotgamma^8=gamma^22=gamma^7=gamma^3+gamma+1.
$$
As another example of the use of this table I want to discuss the problem of factorizing $x^4+x+1$ over $BbbF_4$. To that end we need to first identify a copy of $BbbF_4$ as a subfield of $BbbF_16$. We just saw that $gamma$ is of order fifteen. Therefore $gamma^5=gamma^2+gamma$ and $gamma^10=gamma^2+gamma+1$ are third roots of unity. It is then trivial to check that we have a homomorphism of fields $sigma:BbbF_4toBbbF_16$ given by $sigma(beta)=gamma^5$. Note that composing this (from either end) by the Frobenius automorphism gives an alternative embedding $betamapsto gamma^10$.
Basic Galois theory tells us that
$$
x^4+x+1=(x-gamma)(x-gamma^2)(x-gamma^4)(x-gamma^8)
$$
as we get the other roots by repeatedly applying the Frobenius automorphism $F:xmapsto x^2$. Here we see that the factor
$$
(x-gamma)(x-gamma^4)=x^2+x(gamma+gamma^4)+gamma^5=x^2+x+gamma^5
$$
is stable under the automorphism $F^2$, and thus (as we also see directly!) has its
coefficients in the subfield $sigma(BbbF_4)$. The same holds for the remaining factor
$$
(x-gamma^2)(x-gamma^8)=x^2+x(gamma^2+gamma^8)+gamma^10=x^2+x+gamma^10.
$$
Pulling back the effect of $sigma$ we get the desired factorization
$$
x^4+x+1=(x^2+x+beta)(x^2+x+beta+1)
$$
in $BbbF_4[x]$.
Here is a local version of similar tables for $BbbF_256$
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
19
down vote
accepted
A (base-$g$) discrete logarithm of a finite field $BbbF_q$, is a function
$$
log_g:BbbF_q^*toBbbZ_q-1
$$
defined via the equivalence $g^j=xLeftrightarrow log_g(x)=j$. For this to be well-defined it is imperative that $g$ is a primitive element, i.e. a generator of $BbbF_q^*$, and that the domain of $log_g$ is the
residue class ring of integer modulo $q-1$, as $g^q-1=g^0=1$.
It immediately follows that the discrete logarithm satisfies the familiar rules
$$
beginaligned
log_g(xcdot y)&=log_g(x)+log_g(y),\
log_g(x^n)&=ncdotlog_g(x)
endaligned
$$
for all elements $x,yin BbbF_q^*$ and all integers $n$. The arithmetic
on the r.h.s. is that of the ring $BbbZ_q-1$.
It is known that when $q=8$, a zero $alpha$ of $x^3+x+1$ generates $BbbF_8^*$. This is proven by the following calculation, where we repeatedly
use the fact that we are working in characteristic two, and that we have the
relation $alpha^3=alpha+1$.
$$
eqalign
alpha^0&=&&=1,\
alpha^1&=&&=alpha,\
alpha^2&=&&=alpha^2,\
alpha^3&=&&=1+alpha,\
alpha^4&=&alphacdotalpha^3=alpha(1+alpha)&=alpha+alpha^2,\
alpha^5&=&alphacdotalpha^4=alpha(alpha+alpha^2)=alpha^2+alpha^3=alpha^2+(1+alpha)&=1+alpha+alpha^2,\
alpha^6&=&alphacdotalpha^5=alpha(1+alpha+alpha^2)=alpha+alpha^2+alpha^3=
alpha+alpha^2+(1+alpha)&=1+alpha^2,\
alpha^7&=&alphacdotalpha^6=alpha(1+alpha^2)=alpha+alpha^3=alpha+(1+alpha)&=1.
$$
We see from the end results in the last column that all the non-zero
quadratic polynomials evaluated at $alpha$ appear. This is yet another confirmation of the fact that $alpha$ is a primitive element.
The discrete logarithm is used to replace the cumbersome multiplication (and raising
to an integer power) of the field with more familiar integer arithmetic. Exactly like the old-timers used logarithm tables to replace the error-prone multiplication with the easier addition.
For example
$$
(1+alpha)(1+alpha+alpha^2)=alpha^3cdotalpha^5=alpha^8=alpha^7cdotalpha=alpha.
$$
Note that both the base-$alpha$ discrete logarithms and its inverse mapping are needed. I generate such a table as a part of the program initialization, whenever I carry out extensive computer-aided calculations involving a finite field. The above table gives the discrete logarithm when read from right to left, and the inverse mapping (that we actually produced above) when read from left to right.
Similarly with $q=16$ we use $gamma$, a zero of $x^4+x+1$. This time the table looks like
$$
beginaligned
gamma^0&=&1\
gamma^1&=&gamma\
gamma^2&=&gamma^2\
gamma^3&=&gamma^3\
gamma^4&=&gamma+1\
gamma^5&=gamma(gamma+1)=&gamma^2+gamma\
gamma^6&=gamma(gamma^2+gamma)=&gamma^3+gamma^2\
gamma^7&=gamma^4+gamma^3=&gamma^3+gamma+1\
gamma^8&=(gamma^4)^2=&gamma^2+1\
gamma^9&=gamma(gamma^2+1)=&gamma^3+gamma\
gamma^10&=gamma^4+gamma^2=&gamma^2+gamma+1\
gamma^11&=&gamma^3+gamma^2+gamma\
gamma^12&=gamma^4+gamma^3+gamma^2=&gamma^3+gamma^2+gamma+1\
gamma^13&=gamma^4+gamma^3+gamma^2+gamma=&gamma^3+gamma^2+1\
gamma^14&=gamma^4+gamma^3+gamma=&gamma^3+1\
(gamma^15&=gamma^4+gamma=&1)
endaligned
$$
Thus for example
$$
(gamma^3+1)(gamma^2+1)=gamma^14cdotgamma^8=gamma^22=gamma^7=gamma^3+gamma+1.
$$
As another example of the use of this table I want to discuss the problem of factorizing $x^4+x+1$ over $BbbF_4$. To that end we need to first identify a copy of $BbbF_4$ as a subfield of $BbbF_16$. We just saw that $gamma$ is of order fifteen. Therefore $gamma^5=gamma^2+gamma$ and $gamma^10=gamma^2+gamma+1$ are third roots of unity. It is then trivial to check that we have a homomorphism of fields $sigma:BbbF_4toBbbF_16$ given by $sigma(beta)=gamma^5$. Note that composing this (from either end) by the Frobenius automorphism gives an alternative embedding $betamapsto gamma^10$.
Basic Galois theory tells us that
$$
x^4+x+1=(x-gamma)(x-gamma^2)(x-gamma^4)(x-gamma^8)
$$
as we get the other roots by repeatedly applying the Frobenius automorphism $F:xmapsto x^2$. Here we see that the factor
$$
(x-gamma)(x-gamma^4)=x^2+x(gamma+gamma^4)+gamma^5=x^2+x+gamma^5
$$
is stable under the automorphism $F^2$, and thus (as we also see directly!) has its
coefficients in the subfield $sigma(BbbF_4)$. The same holds for the remaining factor
$$
(x-gamma^2)(x-gamma^8)=x^2+x(gamma^2+gamma^8)+gamma^10=x^2+x+gamma^10.
$$
Pulling back the effect of $sigma$ we get the desired factorization
$$
x^4+x+1=(x^2+x+beta)(x^2+x+beta+1)
$$
in $BbbF_4[x]$.
Here is a local version of similar tables for $BbbF_256$
add a comment |Â
up vote
19
down vote
accepted
A (base-$g$) discrete logarithm of a finite field $BbbF_q$, is a function
$$
log_g:BbbF_q^*toBbbZ_q-1
$$
defined via the equivalence $g^j=xLeftrightarrow log_g(x)=j$. For this to be well-defined it is imperative that $g$ is a primitive element, i.e. a generator of $BbbF_q^*$, and that the domain of $log_g$ is the
residue class ring of integer modulo $q-1$, as $g^q-1=g^0=1$.
It immediately follows that the discrete logarithm satisfies the familiar rules
$$
beginaligned
log_g(xcdot y)&=log_g(x)+log_g(y),\
log_g(x^n)&=ncdotlog_g(x)
endaligned
$$
for all elements $x,yin BbbF_q^*$ and all integers $n$. The arithmetic
on the r.h.s. is that of the ring $BbbZ_q-1$.
It is known that when $q=8$, a zero $alpha$ of $x^3+x+1$ generates $BbbF_8^*$. This is proven by the following calculation, where we repeatedly
use the fact that we are working in characteristic two, and that we have the
relation $alpha^3=alpha+1$.
$$
eqalign
alpha^0&=&&=1,\
alpha^1&=&&=alpha,\
alpha^2&=&&=alpha^2,\
alpha^3&=&&=1+alpha,\
alpha^4&=&alphacdotalpha^3=alpha(1+alpha)&=alpha+alpha^2,\
alpha^5&=&alphacdotalpha^4=alpha(alpha+alpha^2)=alpha^2+alpha^3=alpha^2+(1+alpha)&=1+alpha+alpha^2,\
alpha^6&=&alphacdotalpha^5=alpha(1+alpha+alpha^2)=alpha+alpha^2+alpha^3=
alpha+alpha^2+(1+alpha)&=1+alpha^2,\
alpha^7&=&alphacdotalpha^6=alpha(1+alpha^2)=alpha+alpha^3=alpha+(1+alpha)&=1.
$$
We see from the end results in the last column that all the non-zero
quadratic polynomials evaluated at $alpha$ appear. This is yet another confirmation of the fact that $alpha$ is a primitive element.
The discrete logarithm is used to replace the cumbersome multiplication (and raising
to an integer power) of the field with more familiar integer arithmetic. Exactly like the old-timers used logarithm tables to replace the error-prone multiplication with the easier addition.
For example
$$
(1+alpha)(1+alpha+alpha^2)=alpha^3cdotalpha^5=alpha^8=alpha^7cdotalpha=alpha.
$$
Note that both the base-$alpha$ discrete logarithms and its inverse mapping are needed. I generate such a table as a part of the program initialization, whenever I carry out extensive computer-aided calculations involving a finite field. The above table gives the discrete logarithm when read from right to left, and the inverse mapping (that we actually produced above) when read from left to right.
Similarly with $q=16$ we use $gamma$, a zero of $x^4+x+1$. This time the table looks like
$$
beginaligned
gamma^0&=&1\
gamma^1&=&gamma\
gamma^2&=&gamma^2\
gamma^3&=&gamma^3\
gamma^4&=&gamma+1\
gamma^5&=gamma(gamma+1)=&gamma^2+gamma\
gamma^6&=gamma(gamma^2+gamma)=&gamma^3+gamma^2\
gamma^7&=gamma^4+gamma^3=&gamma^3+gamma+1\
gamma^8&=(gamma^4)^2=&gamma^2+1\
gamma^9&=gamma(gamma^2+1)=&gamma^3+gamma\
gamma^10&=gamma^4+gamma^2=&gamma^2+gamma+1\
gamma^11&=&gamma^3+gamma^2+gamma\
gamma^12&=gamma^4+gamma^3+gamma^2=&gamma^3+gamma^2+gamma+1\
gamma^13&=gamma^4+gamma^3+gamma^2+gamma=&gamma^3+gamma^2+1\
gamma^14&=gamma^4+gamma^3+gamma=&gamma^3+1\
(gamma^15&=gamma^4+gamma=&1)
endaligned
$$
Thus for example
$$
(gamma^3+1)(gamma^2+1)=gamma^14cdotgamma^8=gamma^22=gamma^7=gamma^3+gamma+1.
$$
As another example of the use of this table I want to discuss the problem of factorizing $x^4+x+1$ over $BbbF_4$. To that end we need to first identify a copy of $BbbF_4$ as a subfield of $BbbF_16$. We just saw that $gamma$ is of order fifteen. Therefore $gamma^5=gamma^2+gamma$ and $gamma^10=gamma^2+gamma+1$ are third roots of unity. It is then trivial to check that we have a homomorphism of fields $sigma:BbbF_4toBbbF_16$ given by $sigma(beta)=gamma^5$. Note that composing this (from either end) by the Frobenius automorphism gives an alternative embedding $betamapsto gamma^10$.
Basic Galois theory tells us that
$$
x^4+x+1=(x-gamma)(x-gamma^2)(x-gamma^4)(x-gamma^8)
$$
as we get the other roots by repeatedly applying the Frobenius automorphism $F:xmapsto x^2$. Here we see that the factor
$$
(x-gamma)(x-gamma^4)=x^2+x(gamma+gamma^4)+gamma^5=x^2+x+gamma^5
$$
is stable under the automorphism $F^2$, and thus (as we also see directly!) has its
coefficients in the subfield $sigma(BbbF_4)$. The same holds for the remaining factor
$$
(x-gamma^2)(x-gamma^8)=x^2+x(gamma^2+gamma^8)+gamma^10=x^2+x+gamma^10.
$$
Pulling back the effect of $sigma$ we get the desired factorization
$$
x^4+x+1=(x^2+x+beta)(x^2+x+beta+1)
$$
in $BbbF_4[x]$.
Here is a local version of similar tables for $BbbF_256$
add a comment |Â
up vote
19
down vote
accepted
up vote
19
down vote
accepted
A (base-$g$) discrete logarithm of a finite field $BbbF_q$, is a function
$$
log_g:BbbF_q^*toBbbZ_q-1
$$
defined via the equivalence $g^j=xLeftrightarrow log_g(x)=j$. For this to be well-defined it is imperative that $g$ is a primitive element, i.e. a generator of $BbbF_q^*$, and that the domain of $log_g$ is the
residue class ring of integer modulo $q-1$, as $g^q-1=g^0=1$.
It immediately follows that the discrete logarithm satisfies the familiar rules
$$
beginaligned
log_g(xcdot y)&=log_g(x)+log_g(y),\
log_g(x^n)&=ncdotlog_g(x)
endaligned
$$
for all elements $x,yin BbbF_q^*$ and all integers $n$. The arithmetic
on the r.h.s. is that of the ring $BbbZ_q-1$.
It is known that when $q=8$, a zero $alpha$ of $x^3+x+1$ generates $BbbF_8^*$. This is proven by the following calculation, where we repeatedly
use the fact that we are working in characteristic two, and that we have the
relation $alpha^3=alpha+1$.
$$
eqalign
alpha^0&=&&=1,\
alpha^1&=&&=alpha,\
alpha^2&=&&=alpha^2,\
alpha^3&=&&=1+alpha,\
alpha^4&=&alphacdotalpha^3=alpha(1+alpha)&=alpha+alpha^2,\
alpha^5&=&alphacdotalpha^4=alpha(alpha+alpha^2)=alpha^2+alpha^3=alpha^2+(1+alpha)&=1+alpha+alpha^2,\
alpha^6&=&alphacdotalpha^5=alpha(1+alpha+alpha^2)=alpha+alpha^2+alpha^3=
alpha+alpha^2+(1+alpha)&=1+alpha^2,\
alpha^7&=&alphacdotalpha^6=alpha(1+alpha^2)=alpha+alpha^3=alpha+(1+alpha)&=1.
$$
We see from the end results in the last column that all the non-zero
quadratic polynomials evaluated at $alpha$ appear. This is yet another confirmation of the fact that $alpha$ is a primitive element.
The discrete logarithm is used to replace the cumbersome multiplication (and raising
to an integer power) of the field with more familiar integer arithmetic. Exactly like the old-timers used logarithm tables to replace the error-prone multiplication with the easier addition.
For example
$$
(1+alpha)(1+alpha+alpha^2)=alpha^3cdotalpha^5=alpha^8=alpha^7cdotalpha=alpha.
$$
Note that both the base-$alpha$ discrete logarithms and its inverse mapping are needed. I generate such a table as a part of the program initialization, whenever I carry out extensive computer-aided calculations involving a finite field. The above table gives the discrete logarithm when read from right to left, and the inverse mapping (that we actually produced above) when read from left to right.
Similarly with $q=16$ we use $gamma$, a zero of $x^4+x+1$. This time the table looks like
$$
beginaligned
gamma^0&=&1\
gamma^1&=&gamma\
gamma^2&=&gamma^2\
gamma^3&=&gamma^3\
gamma^4&=&gamma+1\
gamma^5&=gamma(gamma+1)=&gamma^2+gamma\
gamma^6&=gamma(gamma^2+gamma)=&gamma^3+gamma^2\
gamma^7&=gamma^4+gamma^3=&gamma^3+gamma+1\
gamma^8&=(gamma^4)^2=&gamma^2+1\
gamma^9&=gamma(gamma^2+1)=&gamma^3+gamma\
gamma^10&=gamma^4+gamma^2=&gamma^2+gamma+1\
gamma^11&=&gamma^3+gamma^2+gamma\
gamma^12&=gamma^4+gamma^3+gamma^2=&gamma^3+gamma^2+gamma+1\
gamma^13&=gamma^4+gamma^3+gamma^2+gamma=&gamma^3+gamma^2+1\
gamma^14&=gamma^4+gamma^3+gamma=&gamma^3+1\
(gamma^15&=gamma^4+gamma=&1)
endaligned
$$
Thus for example
$$
(gamma^3+1)(gamma^2+1)=gamma^14cdotgamma^8=gamma^22=gamma^7=gamma^3+gamma+1.
$$
As another example of the use of this table I want to discuss the problem of factorizing $x^4+x+1$ over $BbbF_4$. To that end we need to first identify a copy of $BbbF_4$ as a subfield of $BbbF_16$. We just saw that $gamma$ is of order fifteen. Therefore $gamma^5=gamma^2+gamma$ and $gamma^10=gamma^2+gamma+1$ are third roots of unity. It is then trivial to check that we have a homomorphism of fields $sigma:BbbF_4toBbbF_16$ given by $sigma(beta)=gamma^5$. Note that composing this (from either end) by the Frobenius automorphism gives an alternative embedding $betamapsto gamma^10$.
Basic Galois theory tells us that
$$
x^4+x+1=(x-gamma)(x-gamma^2)(x-gamma^4)(x-gamma^8)
$$
as we get the other roots by repeatedly applying the Frobenius automorphism $F:xmapsto x^2$. Here we see that the factor
$$
(x-gamma)(x-gamma^4)=x^2+x(gamma+gamma^4)+gamma^5=x^2+x+gamma^5
$$
is stable under the automorphism $F^2$, and thus (as we also see directly!) has its
coefficients in the subfield $sigma(BbbF_4)$. The same holds for the remaining factor
$$
(x-gamma^2)(x-gamma^8)=x^2+x(gamma^2+gamma^8)+gamma^10=x^2+x+gamma^10.
$$
Pulling back the effect of $sigma$ we get the desired factorization
$$
x^4+x+1=(x^2+x+beta)(x^2+x+beta+1)
$$
in $BbbF_4[x]$.
Here is a local version of similar tables for $BbbF_256$
A (base-$g$) discrete logarithm of a finite field $BbbF_q$, is a function
$$
log_g:BbbF_q^*toBbbZ_q-1
$$
defined via the equivalence $g^j=xLeftrightarrow log_g(x)=j$. For this to be well-defined it is imperative that $g$ is a primitive element, i.e. a generator of $BbbF_q^*$, and that the domain of $log_g$ is the
residue class ring of integer modulo $q-1$, as $g^q-1=g^0=1$.
It immediately follows that the discrete logarithm satisfies the familiar rules
$$
beginaligned
log_g(xcdot y)&=log_g(x)+log_g(y),\
log_g(x^n)&=ncdotlog_g(x)
endaligned
$$
for all elements $x,yin BbbF_q^*$ and all integers $n$. The arithmetic
on the r.h.s. is that of the ring $BbbZ_q-1$.
It is known that when $q=8$, a zero $alpha$ of $x^3+x+1$ generates $BbbF_8^*$. This is proven by the following calculation, where we repeatedly
use the fact that we are working in characteristic two, and that we have the
relation $alpha^3=alpha+1$.
$$
eqalign
alpha^0&=&&=1,\
alpha^1&=&&=alpha,\
alpha^2&=&&=alpha^2,\
alpha^3&=&&=1+alpha,\
alpha^4&=&alphacdotalpha^3=alpha(1+alpha)&=alpha+alpha^2,\
alpha^5&=&alphacdotalpha^4=alpha(alpha+alpha^2)=alpha^2+alpha^3=alpha^2+(1+alpha)&=1+alpha+alpha^2,\
alpha^6&=&alphacdotalpha^5=alpha(1+alpha+alpha^2)=alpha+alpha^2+alpha^3=
alpha+alpha^2+(1+alpha)&=1+alpha^2,\
alpha^7&=&alphacdotalpha^6=alpha(1+alpha^2)=alpha+alpha^3=alpha+(1+alpha)&=1.
$$
We see from the end results in the last column that all the non-zero
quadratic polynomials evaluated at $alpha$ appear. This is yet another confirmation of the fact that $alpha$ is a primitive element.
The discrete logarithm is used to replace the cumbersome multiplication (and raising
to an integer power) of the field with more familiar integer arithmetic. Exactly like the old-timers used logarithm tables to replace the error-prone multiplication with the easier addition.
For example
$$
(1+alpha)(1+alpha+alpha^2)=alpha^3cdotalpha^5=alpha^8=alpha^7cdotalpha=alpha.
$$
Note that both the base-$alpha$ discrete logarithms and its inverse mapping are needed. I generate such a table as a part of the program initialization, whenever I carry out extensive computer-aided calculations involving a finite field. The above table gives the discrete logarithm when read from right to left, and the inverse mapping (that we actually produced above) when read from left to right.
Similarly with $q=16$ we use $gamma$, a zero of $x^4+x+1$. This time the table looks like
$$
beginaligned
gamma^0&=&1\
gamma^1&=&gamma\
gamma^2&=&gamma^2\
gamma^3&=&gamma^3\
gamma^4&=&gamma+1\
gamma^5&=gamma(gamma+1)=&gamma^2+gamma\
gamma^6&=gamma(gamma^2+gamma)=&gamma^3+gamma^2\
gamma^7&=gamma^4+gamma^3=&gamma^3+gamma+1\
gamma^8&=(gamma^4)^2=&gamma^2+1\
gamma^9&=gamma(gamma^2+1)=&gamma^3+gamma\
gamma^10&=gamma^4+gamma^2=&gamma^2+gamma+1\
gamma^11&=&gamma^3+gamma^2+gamma\
gamma^12&=gamma^4+gamma^3+gamma^2=&gamma^3+gamma^2+gamma+1\
gamma^13&=gamma^4+gamma^3+gamma^2+gamma=&gamma^3+gamma^2+1\
gamma^14&=gamma^4+gamma^3+gamma=&gamma^3+1\
(gamma^15&=gamma^4+gamma=&1)
endaligned
$$
Thus for example
$$
(gamma^3+1)(gamma^2+1)=gamma^14cdotgamma^8=gamma^22=gamma^7=gamma^3+gamma+1.
$$
As another example of the use of this table I want to discuss the problem of factorizing $x^4+x+1$ over $BbbF_4$. To that end we need to first identify a copy of $BbbF_4$ as a subfield of $BbbF_16$. We just saw that $gamma$ is of order fifteen. Therefore $gamma^5=gamma^2+gamma$ and $gamma^10=gamma^2+gamma+1$ are third roots of unity. It is then trivial to check that we have a homomorphism of fields $sigma:BbbF_4toBbbF_16$ given by $sigma(beta)=gamma^5$. Note that composing this (from either end) by the Frobenius automorphism gives an alternative embedding $betamapsto gamma^10$.
Basic Galois theory tells us that
$$
x^4+x+1=(x-gamma)(x-gamma^2)(x-gamma^4)(x-gamma^8)
$$
as we get the other roots by repeatedly applying the Frobenius automorphism $F:xmapsto x^2$. Here we see that the factor
$$
(x-gamma)(x-gamma^4)=x^2+x(gamma+gamma^4)+gamma^5=x^2+x+gamma^5
$$
is stable under the automorphism $F^2$, and thus (as we also see directly!) has its
coefficients in the subfield $sigma(BbbF_4)$. The same holds for the remaining factor
$$
(x-gamma^2)(x-gamma^8)=x^2+x(gamma^2+gamma^8)+gamma^10=x^2+x+gamma^10.
$$
Pulling back the effect of $sigma$ we get the desired factorization
$$
x^4+x+1=(x^2+x+beta)(x^2+x+beta+1)
$$
in $BbbF_4[x]$.
Here is a local version of similar tables for $BbbF_256$
edited Aug 13 at 5:13
community wiki
3 revs
Jyrki Lahtonen
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f591253%2fdiscrete-logarithm-tables-for-the-fields-bbbf-8-and-bbbf-16%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
A related meta-thread. It may be best to discuss eventual objections to this thread there.
â Jyrki Lahtonen
Dec 3 '13 at 19:01
All: The purpose of this Q/A pair is to give an on-site explanation of the use of discrete logarithms in certain finite fields of charactertistic two, and examples of their use. I refer to this question in the tag wiki. The earlier versions of using discrete log are buried in answers to coding theoretical questions and such. My hope is that a standalone Q/A will be more accessible to the interested readers.
â Jyrki Lahtonen
Dec 4 '13 at 12:31
1
Jyrki, have you seen this? link.springer.com/chapter/10.1007%2F978-3-642-55220-5_1
â David Holden
Oct 10 '14 at 14:58