Let
![f(x)\\in {\\bf F}_{q}[X]](/images/tex/7065.gif)
be a polynomial with simple roots to be factored. The so-called Berlekamp subalgebra

spanned over

by the idempotents of
![A={\\bf F}_{q}[X]/(f(X))](/images/tex/7067.gif)
is considered. An exponential technique introduced earlier is based upon taking elements from B at random and enables us to obtain idempotents and, from that, the factors of f(X). This algorithm is speeded up in three ways. The concept of a separating subset of B is introduced and the McEliece operator mapping A onto B is used to construct a small separating set. {em Factoring} subsets of

were defined and investigated previously. The algorithm and these subsets are used together with a process introduced by F. J. McWilliams for the rapid construction of primitive idempotents. Finally, an algorithm is introduced for constructing irreducible polynomials of
![{\\bf F}_{q}[X]](/images/tex/7068.gif)
of degree

, for large values of

, in which the most expensive operation is the Euclidian algorithm applied to two polynomials of degree

.