Multi-precision multiplication methods over GF(2.sup.m) include
representing a first polynomial and a second polynomial as an array of n
words. A recursive algorithm may be used to iteratively decompose the
multiplication into a weighted sum of smaller subproducts. When the size
of the smaller subproducts is less than or equal to a predetermined size,
a nonrecursive algorithm may be used to complete the multiplication. The
nonrecursive algorithm may be optimized to efficiently perform the
bottom-end multiplication. For example, pairs of redundant subproducts
can be identified and excluded from the nonrecursive algorithm. Moreover,
subproducts having weights in a special form may be efficiently
calculated by a process that involves storing and reusing intermediate
calculations.