  The algebras considered in this paper are commutative rings of which the
additive group is a finite-dimensional vector space over the field of rational
numbers. We present deterministic polynomial-time algorithms that, given such
an algebra, determine its nilradical, all of its prime ideals, as well as the
corresponding localizations and residue class fields, its largest separable
subalgebra, and its primitive idempotents. We also solve the discrete logarithm
problem in the multiplicative group of the algebra. While deterministic
polynomial-time algorithms were known earlier, our approach is different from
previous ones. One of our tools is a primitive element algorithm; it decides
whether the algebra has a primitive element and, if so, finds one, all in
polynomial time. A methodological novelty is the use of derivations to replace
a Hensel-Newton iteration. It leads to an explicit formula for lifting
idempotents against nilpotents that is valid in any commutative ring.
