  It is well known that for any finite Galois extension field $K/F$, with
Galois group $G = \mathrm{Gal}(K/F)$, there exists an element $\alpha \in K$
whose orbit $G\cdot\alpha$ forms an $F$-basis of $K$. Such an element $\alpha$
is called \emph{normal} and $G\cdot\alpha$ is called a normal basis. In this
paper we introduce a probabilistic algorithm for finding a normal element when
$G$ is either a finite abelian or a metacyclic group. The algorithm is based on
the fact that deciding whether a random element $\alpha \in K$ is normal can be
reduced to deciding whether $\sum_{\sigma \in G} \sigma(\alpha)\sigma \in K[G]$
is invertible. In an algebraic model, the cost of our algorithm is quadratic in
the size of $G$ for metacyclic $G$ and slightly subquadratic for abelian $G$.
