Patent ID: 7240084

Claim:
A computer program product encoded on computer readable media comprising: a first instruction sequence for multiplying a first polynomial X(t) and a second polynomial Y(t), both over GF(2), to generate a result c 0 ; a second instruction sequence for partially reducing the result c 0 of the multiplication by executing a series of polynomial multiplications and additions to produce a polynomial of degree less than n, the polynomial of degree less than n, being congruent to c 0 modulo M m (t), M m (t)=t m +a m−1 t m−1 +a m−2 t m−2 + . . . a 1 t+a 0 , where the coefficients a i are equal either 1 or 0, and m is a field degree, and where n is at least one of a maximum operand size, a data path width, a multiple of a digit size, and a multiple of a word size of memory, and a multiple of a register size available in a processor in which the computer program product is executed.