EP0337985A1

Computational method and apparatus for finite field multiplication.

Abstract

A Galois field multiplier is used to obtain a product (D) which is stored in an accumulation register (20) and is composed of two elements (B, C), which are stored in shift registers ( 12, 14). The product (D) is represented as a normal basis with each binary digit of the binary vector (the product, D) being determined by a sum of the product of the binary digits (bi, ci) representing the two elements. By grouping similar digits of one of the ordinary digits in the expression of the product's binary digit and shifting the suffixes of the binary digits, it is possible to accumulate grouped terms of each of the binary digits of the product simultaneously.

Term

Term ended

Projected expiry passed 16 December 2006, 19.8 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

6 claims: 2 independent, 4 dependent

  1. 1
    Claims of equivalent WO 8804805 A1 CLAIMS :1. A method of determining the product of two elements B and C of the finite field GF(2 ), where m is an integer greater than 1, the field having elements A 2 ( 0 x -£- m ) that constitute a normal basis, comprising the steps of: a) representing the element B as a vector of binary digits b-, where b. is the coeffecient of A 2 ~ in the normal basis representa ion of B b) representing the element C as a vector of binary digits c. j , where c. is the coefficient of A 2 1 in the normal basis representation of C c) representing the product D of elements B and C as a vector of binary digits d., where d. is the coefficient of A 2 ~ in the normal basis representation of D, each of said binary digits d. being expressed in the form of sums of products of the binary digits b. and c, , ( O : J' k ^- ~ ) d) storing in m successive cells of a first shift register the binary digits, b. e) storing in m successive cells of a second shift register the binary digits, c. f) selecting at least some of said products of a binary digit d. and grouping like ones of one of the binary digits b- or c, to provide grouped terms of the form g) associating each of said grouped terms with a respective one of m accumulating cells of an accumulating register, h) establishing connections between the cells of said first and second shift registers and a first of said accumulating cells to provide a first of said grouped terms in said accumulating cell, i) establishing connections between the cells of said first and second shift registers and a second of said accumulating cells adjacent to said first cell to provide an expression equivalent to another of said grouped terms with the suffixes of the binary digits of said second grouped term increased by 1 (Modulo m) j) repeating step i for successive ones of the grouped terms with the increase in the suffix of each binary digit of said grouped terms accumulat¬ ing by 1 (Modulo m) for each repetition whereby there is provided in each accumulating cell a grouped term of each of the m binary digits d., k) generating a grouped term in an accumulating cell 1) transferring the contents of the accumulating cell to the adjacent accumulating cell m) transferring contents of each cell of the shift registers to their next cell n) repeating steps k, 1 and m, m times whereby at each repetition an additional term of each of the binary digits d. of the vector D is accumulated in each of the accumulating cells.
  2. 6
    A method of determining the product of two elements B and C of the finite field GF(2 m ), where m is an integer greater than 1, the field having elements A 2 1 (O .= i -^ ) that constitute a normal basis, comprising the steps of:a) representing the element B as a vector of binary digits b., where b. is the coefficient of A 2 - m. the normal basis representation of B b) representing the element C as a vector of binary digits c. , where c. is the coefficient of A 2 1 i.n the normal basis representation of C c) representing the product D of elements B and C as a vector of binary digits d., where d. is the coefficient of A 2 - in the normal basis representation of D, each of said binary digits d. being expressed in the form of sums of products of the binary digits b. and c. , (0 f= j,k - m) J ■κ d) storing in m successive cells of a first shift register the binary digits, b. e) storing in m successive cells of a second shift register the binary digits, c- f) selecting at least some of said terms of a binary digit d. and grouping like ones of one of the binary digits b. or c, to J κ provide grouped terms of the form g) establishing connections from respective cells of said shift registers to each of said accumulating cells to produce in each accumulating cell a grouped term of a binary digit representing the vector D, said 3 connections being established such that a first grouped term of one of said binary digits is accumulated in a first of said cells and upon repeated transfer of the contents of one of said accumulating cells through each of said accumulating cells accompanied by successive rotations of said shift register contents, successive grouped terms of said one binary digit will be generated in successive cells h) accumulating successive ones of said grouped terms of said one binary digit by transferring the contents of one accumulating cell to another cell and rotating the vectors representing B and C in the shift registers to generate another grouped term i) adding said other grouped term to the contents of said other cell j) repeating the accumulation m times whereby grouped terms of a binary digit are accumulated successively in each of said accumulating cells to generate simultaneously grouped terms of each the m binary digits of the vector representing the product D.