Cryptography Reference
In-Depth Information
Constructing a normal basis
We briefly survey the literature on constructing normal bases for finite fields. We assume
that a polynomial basis for
F q has already been computed.
The simplest randomised algorithm is to choose θ
F q m over
∈ F q m at random and test whether
θ,θ q ,...,θ q m 1
the set
F q . Corollary 3.6 of von zur Gathen
and Giesbrecht [ 221 ] (also see Theorem 3.73 and Exercise 3.76 of [ 350 , 351 ]) shows that
a randomly chosen θ is normal with probability at least 1 / 34 if m<q 4
{
}
is linearly independent over
and probability at
q 4 .
least 1 / (16 log q ( m )) if m
Exercise 2.14.1 Determine the complexity of constructing a normal basis by randomly
choosing θ .
When q>m ( m
1) there is a better randomised algorithm based on the following
result.
Theorem 2.14.2 Let F ( x )
∈ F q [ x ] be irreducible of degree m and let α
∈ F q m be any
α ) F ( α ))
root of F ( x ) . Define G ( x )
=
F ( x ) / (( x
∈ F q m [ x ] . Then there are q
m ( m
1)
elements u
∈ F q such that θ
=
G ( u ) generates a normal basis.
Proof See Theorem 28 of Section II.N of Artin [ 14 ] or Section 3.1 of Gao [ 218 ].
Deterministic
algorithms
for
constructing
a
normal
basis
have
been
given
by
Luneburg [ 360 ] and Lenstra [ 341 ] (also see Gao [ 218 ]).
2.14.2 Solving quadratic equations in finite fields
This section is about solving quadratic equations x 2
F q . One can apply
any of the algorithms for polynomial factorisation mentioned earlier. As we saw in Exer-
cise 2.12.6 , when q is odd, the basic method computes roots in O (log( q ) M (log( q ))) bit
operations. When q is odd it is also natural to use the quadratic formula and a square-roots
algorithm (see Section 2.9 ).
+
ax
+
b
=
0 over
Exercise 2.14.3 Generalise the Tonelli-Shanks algorithm from Section 2.9 to work for
any finite field
F q where q is odd. Show that the complexity remains an expected
O (log( q ) 2 M (log( q ))) bit operations.
F q ( θ ) where θ 2
Exercise 2.14.4 Suppose
F q 2 is represented as
∈ F q . Show that one can
compute square roots in
F q 2 using two square roots in
F q and a small number of multipli-
cations in
F q .
F 2 m using
linear algebra in O ( m 3 ) bit operations. The following exercise gives a method that is more
efficient.
Since squaring in
F 2 m is a linear operation, one can take square roots in
Exercise 2. 1 4.5 Suppose one represents
F 2 m using a polynomial basis
F 2 [ x ] / ( F ( x )). Pre-
= m 1
compute x as a polynomial in x .Let g
i = 0 a i x i . To compute g write (assuming
Search WWH ::




Custom Search