Compact galois field multiplier
First Claim
1. A Galois field multiplier wherein mq-bit multiplier and multiplicand bytes are each partitioned into a plurality of q m-bit sub-bytes, q and m each being integers greater than zero, and wherein multiplication among selected groups of said multiplier and multiplicand sub-bytes is distributed among a plurality of m-bit multipliers which each compute m-bit intermediate product sub-bytes therefrom, and wherein computation of an mq-bit product is partitioned into computation of q m-bit final product sub-bytes by q respective adders from respective q sets of said m-bit intermediate product sub-bytes.
3 Assignments
0 Petitions
Accused Products
Abstract
Multiplication of two mq-bit bytes (in GF2mq) is reduced modulus an irreducible polynomial in GF2m of degree q to multiplication among two sets of q m bit bytes (in GF2m) in order to simplify hardware and reduce costs, by distributing the computation among a small number of programmable read only memories (PROMs) and adders.
-
Citations
18 Claims
- 1. A Galois field multiplier wherein mq-bit multiplier and multiplicand bytes are each partitioned into a plurality of q m-bit sub-bytes, q and m each being integers greater than zero, and wherein multiplication among selected groups of said multiplier and multiplicand sub-bytes is distributed among a plurality of m-bit multipliers which each compute m-bit intermediate product sub-bytes therefrom, and wherein computation of an mq-bit product is partitioned into computation of q m-bit final product sub-bytes by q respective adders from respective q sets of said m-bit intermediate product sub-bytes.
-
6. A Galois field GF2mq multiplier which multiplies mq-bit multiplier and multiplicand bytes A and B together to produce an mq-bit product byte C, said product byte C comprising a plurality of q m-bit product sub-bytes c0 and c1-1, said multiplier comprising:
-
means for partitioning each of said mq-bit multiplier and multiplicand bytes A and B into a plurality of q m-bit multiplier and multiplicand sub-bytes a0 through aq-1 and b0 through bq-1, respectively; a plurality of multiplier means programmed in accordance with a Galois field GF2m multiplication table and receiving respective q groups of said multiplier and multiplicand sub-bytes and to compute therefrom respective q sets of sub-products ai bj ; a plurality of adder means, each of said adder means receiving a respective plurality of sub-products selected from among said q sets of sub-products ai bj, and to compute, from said respective plurality, one of said q product sub-bytes ci, whereby said adder means computes said q product sub-bytes c0 through cq-1 of said product C. - View Dependent Claims (7, 8, 9, 14, 17)
-
-
10. A GF2mq multiplier which multiplies two mq-bit bytes A and B together to produce an mq-bit byte product C, m and q each being integers greater than zero, said multiplier comprising:
-
means for partitioning each of said mq-bit bytes A and B into q m-bit sub-bytes, wherein A is partitioned into the set of q sub-bytes ai and B is partitioned into the set of q sub-bytes bi where i is an integer and ranges from 1 to q-1; a plurality of multiplier means programmed in accordance with GF2m multiplication table; means for distributing q groups of said sub-bytes ai and bi to corresponding ones of said multiplier means, each of said multiplier means computing m-bit byte sub-products comprising combinations of the m-bit sub-bytes within the corresponding group; a plurality of Galois field adder means, each of said adder means receiving at least two of said m-bit byte sub-products, each of said adder means computing a sum equal to a corresponding one of said q product sub-bytes ci, so that said plurality of adder means together compute all of the q product sub-bytes ci comprising the mq-bit byte product C. - View Dependent Claims (11, 12, 15, 18)
-
Specification