EP0337985B1

Computational method and apparatus for finite field multiplication.

Abstract

This record has no abstract on file.

EP0337985B1, drawing sheet 1
Sheet 1 of 52

Term

Term ended

Expired 16 December 2006, 19.8 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

18 claims: 4 independent, 14 dependent

  1. 1
    A method of determining the product D of two elements Band C of the finite Galois field GF(2 m ), where m is an integer greater than 1, the field having elements A 2 ' (0≦ i < m) that constitute a normal basis, comprising the steps of:(a) representing the element B as a vector of binary digits b i , where b is the coefficient of A 2 ' in the normal basis representation of B;(b) representing the element C as a vector of binary digits c i , where c is the coefficient of A 2 ' in the normal basis representation of C;(c) representing the product D of elements B and C as a vector of binary digits d i , where d i is the coefficient of A 2 ' in the normal basis representation of D, each of said binary digits d i being expressed in the form of a sum of products of the binary digits b j and C k , 0 ≦ j,k < m);(d) storing in m successive cells of a first recirculating shift register (12) the binary digits b;(e) storing in m successive cells of a second recirculating shift register (14) the binary digits c;(f) selecting at least some of said products of the binary digits b and c k (0 ≦ j,k < m) expressing a binary digit d i and grouping like ones of one of the binary digits b j or c k to provide grouped terms of the form: (g) associating each of said grouped terms with a different one of m accumulating cells (18) of an accumulating recirculating shift register (20);(h) establishing predetermined connections between the cells of said first and second recirculating shift registers (12,14) and a first of said accumulating cells (18) to provide a first of said grouped terms in said accumulating cell;(i) establishing predetermined connections between the cells of said first and second recirculating shift registers (12,14) and a second of said accumulating cells (18) adjacent to said first of said accumulating cells 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 d i of said grouped terms accumulating by 1 (Modulo m) for each repetition whereby there is provided in each accumulating cell a grouped terms of a respective one of the m binary digits d i ;(k) generating a respective grouped term in at least (m-1) of said accumulating cells;(I) accumulating modulo 2 each generated grouped term with the previously generated grouped terms accumulated in an adjacent one of said accumulating cells (18) wherein grouped terms of the same binary digit are accumulated in the same cell;(m) transferring the contents of each cell of the first and second recirculating shift registers (12,14) to its next cell;and (n) repeating steps k, I, and m, (m-1) times whereby after (m-1) repetitions, each of said accumulating cells (18) contains the modulo 2 sum of said selected ones of the grouped terms of a different one of the binary digits d i .
  2. 10
    A method of determining the product D of two elements B and C of the finite Galois field GF(2 m ), where m is an integer greater than 1, the field having elements A 2 ' (0 ≦ i < m) that constitute a normal basis, comprising the steps of:(a) representing the element B as a vector of binary digits b i , where b is the coefficient of A 2 ' in the normal basis representation of B;(b) representing the element C as a vector of binary digits c i , where c is the coefficient of A 2 ' 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 i is the coefficient of A 2 ' in the normal basis representation of D, each of said binary digits di being expressed in the form of a sum of products of the binary digits b j and Ck , (0 ≦ j,k, < m);(d) storing in m successive cells of a first recirculating shift register (112) the binary digits b;(e) storing in m successive cells of a second recirculating shift register (114) the binary digits c;(f) selecting at least some of said products of a binary digit d i and grouping like ones of one of the binary digits b j or c k to provide grouped terms of the form: (g) establishing connections from respective cells of said shift registers to each cell of a recirculating accumulating shift register (120) to produce in each accumulating cell a grouped term of a binary digit representing the vector D, said connections being established such that a first grouped term of one of said binary digits is accumulated in a first of said cells (118) of said accumulating shift register (120) and, upon repeated transfer of the contents of said first accumulating cell through each of said accumulating cells (118) accompanied by successive rotations of said recirculating shift register contents, successive grouped terms of said one binary digit will be generated and accumulated in successive accumulating cells;(h) generating successive ones of said grouped terms of said one binary digit by rotating the vectors representing B and C in the first and second recirculating shift registers (112,114);(i) accumulating modulo 2 said other grouped term with the previously generated grouped terms accumulated in an adjacent one of said accumulating cells (118) to provide grouped terms of said one binary digit;(j) repeating the accumulating step (m-1) times whereby grouped terms of each binary digit are accumulated simultaneously in successive accumulating cells to produce each of the m binary digits of the vector representing the product D simultaneously;wherein step f further comprises the steps of pairing said products such that one term of each pair has the form b j c k and the other of each pair has the form b k c j , and selecting one of each pair together with any pairs that cannot be paired to form said grouped terms;and wherein the other product terms of each pair is being generated by interchanging the binary digits of said first and second recirculating shift registers (112,114) upon completion of step j and repeating steps h through j, and inhibiting generation of the product terms that cannot be paired during one repetition of steps h to j .
  3. 12
    Apparatus for determining the product of two elements B and C of the finite Galois field GF(2 m ), where m is an integer greater than 1, the field having elements A 2 ' (0 Z i < m) that constitute a normal basis comprising:(a) a first recirculating shift register (12) having m successive cells, each of which receives a binary digit b of a vector representing the element B where b is the coefficient of A 2 ' in the normal basis representation of B;(b) a second recirculating shift register (14) having m successive cells, each of which receives a binary digit c of a vector representing the element C, where c is the coefficient of A 2 ' in the normal basis representation of C;(c) an accumulating recirculating shift register (20) having m successive accumulating cells (18) to accumulate successive grouped terms of each of the binary digits d, of a vector representing the product D of elements B and C, where d i is the coefficient of A 2 ' in the normal basis representation of D, and where said grouped terms are of the form: (d) logic means (36) establishing connections from respective cells of said recirculating shift registers (12,14) to each of said accumulating cells (18) to produce in each accumulating cell a grouped term of a binary digit di of a vector representing the product D, said connections being established such that a first grouped term of one of said binary digits is accumulated in a first of said accumulating cells and, upon repeated transfer of the contents of said first accumulating cell through each of said accumulating cells (18) accompanied by successive rotations of said recirculating shift register contents, successive grouped terms of said one binary digit will be generated in successive cells;(e) said accumulating cell having summing means (30) to sum in GF(2) the output of said logic means (36) and the previously generated grouped terms in an adjacent one of said accumulating cells, and thereby provide a further accumulation of grouped terms;(f) means (32) to store said further accumulation of grouped terms;and (g) means to rotate the contents of said recirculating shift registers (12,14,20) through successive cells, whereby after m operations of said summing means, each of said store means contains binary digit d i of the vector representing the product D.
  4. 13
    Apparatus according to claims 12, wherein said logic means (36) establishes connections to generate grouped terms formed by selecting one of each pair of product terms having the form b j c k ;b k c j together with any product terms that cannot be paired.