WO1991020028A1 - Universal galois field multiplier - Google Patents

Universal galois field multiplier Download PDF

Info

Publication number
WO1991020028A1
WO1991020028A1 PCT/SE1991/000384 SE9100384W WO9120028A1 WO 1991020028 A1 WO1991020028 A1 WO 1991020028A1 SE 9100384 W SE9100384 W SE 9100384W WO 9120028 A1 WO9120028 A1 WO 9120028A1
Authority
WO
WIPO (PCT)
Prior art keywords
elements
field
polynomial
multiplier
logic means
Prior art date
Application number
PCT/SE1991/000384
Other languages
French (fr)
Inventor
Edoardo Mastrovito
Original Assignee
Edoardo Mastrovito
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Edoardo Mastrovito filed Critical Edoardo Mastrovito
Publication of WO1991020028A1 publication Critical patent/WO1991020028A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials

Definitions

  • the invention is concerned with the multiplication of two arbitrary elements belonging to a Galois field, especially an apparatus for performing such multiplication.
  • Galois fields are finite fields consisting of p m elements, where p is a prime number and m a positive integer.
  • the field GF(2 m ) is of particular importance in practice because its elements can be represented by binary polynomials of degree at most m-1 in a particular primitive element. This primitive element is a root of the irreducible primitive polynomial of degree m that generates the Galois field.
  • ECC Error-control codes
  • BCH codes Bose-Chaudury-Hocqenhem codes
  • RS codes Reed-Solomon codes
  • Goppa codes Goppa codes.
  • ECC Error-control codes
  • BCH codes Bose-Chaudury-Hocqenhem codes
  • RS codes Reed-Solomon codes
  • Goppa codes Goppa codes.
  • R.E. Blahut "Theory and practice of Error Control Codes", Cambridge, MA: Addison-Wesley, 1984, gives another treatment of the same theories with emphasis on the practical aspects.
  • the main parameters of an ECC are the block length n, the number of information symbols k (also called the dimension) and the minimum (Hamming) distance d between two any codewords of the code.
  • a code with minimum distance d is capable of correcting t errors and s erasures as long as 2t + s ⁇ d-1.
  • ECCs are very useful in practice for improving the reliability of a noisy communication channel.
  • different applications require different codes with different parameters n, k, d.
  • the maximum block length n of an RS code is 2 m + 1. This means that, if we are constrained to use one single Galois field we are also limited in our selection of ECC.
  • the new apparatus has fewer components and higher speed than previous art apparatus.
  • FIG. 1 is a block diagram of apparatus according to a preferred organization.
  • FIG. 2 is a more detailed block diagram of a sub-unit of apparatus used to compute ⁇ -A over different fields of characteristic two.
  • FIG. 3 is yet a more detailed block diagram of a sub-unit of apparatus used to compute the inner product of two binary vectors.
  • FIG. 4 is an example of apparatus for the fields GF(2 m ), 2 ⁇ m ⁇ 4.
  • a Galois field GF(p m ) is an algebraic finite field consisting of p m elements, where p is a prime and m a positive integer. Among the field elements are included the null element, 0, and the unit element, 1. Upon the elements in the field are defined the operations of addition, subtraction, multiplication and division. Addition, subtraction and multiplication are associative and commutative and multiplication is distributive with respect to addition and subtraction. Further, any of the four aforementioned operations results always in an element of the field.
  • GF(2) of dimension m (in which case it should be denoted GF(2) m ).
  • Representing an element A as a polynomial ⁇ 0 + ⁇ 1 x + ... + ⁇ m- 2 x m-2 + ⁇ m-1 x m -1 corresponds to choosing the set of field elements ⁇ 1, ⁇ , ..., ⁇ m-2 , ⁇ m-1 ⁇ as a basis of GF(2 m ). Every element can thus be expressed as a linear combination of the basis elements.
  • the elements ⁇ i , i 0,
  • P(x) the irreducible polynomial generating the field and which has the field element a as a root
  • P( ⁇ ) 0.
  • A(x) is the polynomial associated with the field element A
  • B(x) the polynomial associated with the field element B
  • C(x) the polynomial associated with the product of A and B .
  • Z is the m by m binary matrix in equation (4).
  • the entries of Z have to be generated and this can be done as follows.
  • We call such a cell the ⁇ -cell and the cascaded structure the ⁇ -array.
  • the polynomial P(x) used to generate the field is of the form x m + x m'1 p m ⁇ + ... + xp ⁇ + 1 (the first and last coefficient must necessarily be ones if P(x) is to be irreducible).
  • xA(x) mod P(x) can be written as follows:
  • ⁇ m-1 the feedback (FB) signal.
  • Fig. 1 shows the general structure of the novel TJGM. The notation is consistent with the previous section.
  • Unit 1 is the ⁇ -array that generates the entries of the matrix Z as defined in equation (4).
  • the IP network consists in turn of m identical cells, where each cell, here called the IP-cell, computes one inner product.
  • Fig. 3 shows a preferred implementation of the IP-cell 21 based on twoinput gates. M AND gates and M-1 XOR gates are required.
  • the present UGM requires about 50% less components.
  • the performance of the UGM is directly related to the worst signal path (WSP) between any input and any output of the UGM.
  • WSP worst signal path
  • the WSP through the ⁇ -array depends on the choice of P(x). It consists however of three parts: switches, XOR gates and multiplexers.
  • the number of XOR gates along the WSP can be much less than m - 1 by smart choice of P(x).
  • the following is a table over the number of XOR gates along the WSP through the ⁇ -array for some good P(x) and m ⁇ 16:
  • the design of the ⁇ -cell follows directly from equation (10).
  • the ⁇ -cell consists of M-1 identical sub-cells where each sub-cell performs the operation plus one cell for computing where
  • juxtaposition means modulo p-multiplication and "+" modulo p-addition. Since P is known in advance the additive inverses can be precomputed and input to the multiplier instead of the original coefficients pt.
  • the new ⁇ -array is obtained simply by cascading M-1 ⁇ -cells just as before.
  • the ⁇ -array is connected to the IP network as before to compute the necessary inner products.
  • the IP cell is modified to compute the inner product of two p-ary vectors of length M.
  • the vectors & and V can either be stored in registers which are loaded from outside or they can be derived from the coefficients of P (in fact only the position of the highest coefficient p is relevant to this purpose) by some simple logic.
  • the binary representation of each coefficient will require [log 2 p] bits.
  • the three elements of GF(3) require two bits. Accordingly, it is intended that all matter contained in the above descriptions and the following drawings shall be interpreted as illustrative and not in a limiting sense.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)

Abstract

The present invention provides a novel apparatus for computing products in Galois fields GF(pm) with emphasis on the case p = 2. The elements of the field are represented in polynomial basis and no basis conversion is required. The apparatus consists of two distinct subunits. The first subunit simultaneously produces the first m α-multiples of one of the two elements to be multiplied. The second subunit simultaneously produces the m inner products of the second element and the m vectors consisting of suitable components of the above mentioned α-multiples. Both subunits are capable of operating over any Galois field GF(pm) where m is an integer in the range [2, M]. Consequently, the apparatus is programmable for operation over any of the above mentioned Galois fields.

Description

Universal galois field multiplier
The invention is concerned with the multiplication of two arbitrary elements belonging to a Galois field, especially an apparatus for performing such multiplication.
Galois fields are finite fields consisting of pm elements, where p is a prime number and m a positive integer. The field GF(2m) is of particular importance in practice because its elements can be represented by binary polynomials of degree at most m-1 in a particular primitive element. This primitive element is a root of the irreducible primitive polynomial of degree m that generates the Galois field.
Galois fields are of fundamental importance in the construction, encoding and decoding of several classes of powerful error-control codes (here abbreviated ECC) like Bose-Chaudury-Hocqenhem codes (called BCH codes), Reed-Solomon codes (called RS codes) and Goppa codes. The reader is referred to F.J. MacWilliams, N.J.A. Sloane "The Theory of Error- Correcting Codes", Amsterdam: North-Holland 1977, for details on the theory of ECC and an introduction to the theory of finite fields. The book by R.E. Blahut, "Theory and practice of Error Control Codes", Cambridge, MA: Addison-Wesley, 1984, gives another treatment of the same theories with emphasis on the practical aspects.
The main parameters of an ECC are the block length n, the number of information symbols k (also called the dimension) and the minimum (Hamming) distance d between two any codewords of the code. A code with minimum distance d is capable of correcting t errors and s erasures as long as 2t + s≤ d-1. ECCs are very useful in practice for improving the reliability of a noisy communication channel. However, different applications require different codes with different parameters n, k, d. These parameters are all directly or indirectly related to the number (=2m) of elements of the Galois field GF(2m). For example the maximum block length n of an RS code is 2m + 1. This means that, if we are constrained to use one single Galois field we are also limited in our selection of ECC.
Building a dedicated hardware for every code of practical interest is obviously unreasonable. Sometimes dedicated hardware can though be motivated by standardization and/or by extreme speed requirements. In many other situations a flexible, programmable device capable of implementing different codes over different Galois fields would be the most appropriate choice. The most crucial and important single unit in a device capable of providing the aforementioned flexibility, is a fast universal Galois field multiplier (here abbreviated UGM) capable of operating over a number of different Galois fields. Actually, multiplication is by far the most common operation occurring in the encoding/decoding procedures of, for example, BCH and RS codes. Successive multiplications can also be used to compute the inverse of a field element. Inversion is required in the decoding of, for example, BCH and RS codes.
A prior art UGM has resulted in a cellular-array multiplier which is too slow to be really practical. The poor performance of the prior art UGM is due to a worst signal path of about 6m levels of logic when the UGM is operated over GF(2m). Details on the prior art UGM are found in B.A. Laws, C.K. Rushforth, "A Cellular-Array Multiplier for GF(2m)", IEEE Trans. Comput., Vol. C-20, pp. 1573-1578, December 1971.
The principal object of the invention is to provide a novel apparatus for computing products of elements belonging to a Galois field GF(pm ) with emphasis on the case p =2. The new apparatus has fewer components and higher speed than previous art apparatus.
It is a feature of this invention to be programmable for operation over any Galois field GF(pm ) with 2≤ m≤ M where M is an arbitrary positive integer greater than one.
The invention, as well as the embodiments thereof, is defined in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of apparatus according to a preferred organization.
FIG. 2 is a more detailed block diagram of a sub-unit of apparatus used to compute α-A over different fields of characteristic two.
FIG. 3 is yet a more detailed block diagram of a sub-unit of apparatus used to compute the inner product of two binary vectors.
FIG. 4 is an example of apparatus for the fields GF(2 m), 2≤ m≤ 4.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT The discussion of apparatus requires a review of some basic properties of a Galois field. A Galois field GF(pm) is an algebraic finite field consisting of pm elements, where p is a prime and m a positive integer. Among the field elements are included the null element, 0, and the unit element, 1. Upon the elements in the field are defined the operations of addition, subtraction, multiplication and division. Addition, subtraction and multiplication are associative and commutative and multiplication is distributive with respect to addition and subtraction. Further, any of the four aforementioned operations results always in an element of the field.
The present invention is primarily concerned with, but not limited to fields of characteristic two (i.e. p = 2) which are denoted by GF(2m). The smallest of these fields ( m=1) consists actually only of a null element 0 and a unit element 1 and it is called the binary field GF(2). Addition and multiplication in GF(2) are performed modulo 2, i.e. 0+0=1+1=0, 0+1=1+0=1, 0.0=0-1 =1 .=0, 1.1=1 and -1=1. Addition is thus the same as exclusive-or (XOR) whereas multiplication is the same as logical AND.
In GF(2m), m > 1, each element can be represented by a polynomial of degree m-1 or less with binary coefficients. Each element is a residue modulo an irreducible polynomial of degree m over GF(2), and all arithmetic operations on the coefficients are performed modulo 2. Alternatively, the field GF(2m) can be seen as a linear vector space over
GF(2) of dimension m (in which case it should be denoted GF(2)m).
For each integer m there exists only one finite field with 2m elements (this is true in general for fields of any characteristic). In general, however, there exist several different representations of the elements of a finite field. The particular representation is given by the particular irreducible polynomial chosen to generate the finite field.
Representing an element A as a polynomial α0 + α1x + ... + αm- 2xm-2 + αm-1xm -1 corresponds to choosing the set of field elements {1, α, ..., αm-2, αm-1} as a basis of GF(2m). Every element can thus be expressed as a linear combination of the basis elements. In particular, the elements αi, i = 0,
1 , ..., m—1 are represented in this basis by the polynomials xi, i=0, 1, ..., m— 1 and the expression α0 + a1x + ... + am- 2xm- 2 + am-1xm-1 is equivalent to α0 + α1 α + ... + αm_2α + α m-1α m- 1. The type of basis discussed above is naturally called the polynomial basis.
In the following we call P(x) the irreducible polynomial generating the field and which has the field element a as a root, i.e. P(α) = 0. A(x) is the polynomial associated with the field element A, B(x) the polynomial associated with the field element B and C(x) the polynomial associated with the product of A and B . Then the product is given by the following expression
C(x) = A(x)-B(x) mod P(x) =
= [b0A(x) + b1 xA(x) + ... + bm-1x m-1A(x)] mod P(x) = 1 = [b0A(x) mod P(x)] + [b1xAix) mod P(x)] + ... + [ .
bm - 1xm-lA(x) mod P(*x)]. (1)
We define now the polynomials Zt _(x) as follows:
Figure imgf000006_0002
where zi,j∈ GF(2). Then
C(x) = b 0Z0,(x) + b1Z1r{x) + ... + bm-1Zm-1, (x). (3)
- And in matrix notation
Figure imgf000006_0001
where Z is the m by m binary matrix in equation (4). We see that the product C can be obtained by computing the m inner products Z-,jB,j = 0,1..., m-1, where Z- j denotes theJ:th row of Z. First, though, the entries of Z have to be generated and this can be done as follows. We generate the m columns of Z simultaneously by cascading m-l identical cells where each cell implements the operation xA(x) mod P(x) (the first column Z0, _ is the element A itself, see equation (2)). We call such a cell the α-cell and the cascaded structure the α-array.
The polynomial P(x) used to generate the field is of the form xm + xm'1p + ... + xp± + 1 (the first and last coefficient must necessarily be ones if P(x) is to be irreducible). Then the expression xA(x) mod P(x) can be written as follows:
Figure imgf000006_0003
In equation (5) we have utilized the fact that αm = αm-1 p. m- 1+ .•• + αφ1 + 1 (or equivalently xm = xm' p+ ... + xp1 + 1). Equation (5) describes the function of the α-cell for fixed m: for each pt≠ 0, i = 1, 2, ..., m-1, one sum αm-1 + αi-1 has to be computed whereas the coefficient of x0 is A's most significant coefficient am-1. We call αm-1 the feedback (FB) signal.
Having described the mathematical preliminaries, a preferred embodiment of the novel UGM will now follow.
A. Hardware
Fig. 1 shows the general structure of the novel TJGM. The notation is consistent with the previous section. Unit 1 is the α-array that generates the entries of the matrix Z as defined in equation (4). Unit 2 computes the m inner products cj = Z ,j.B,j = 0,1..., m-1 and is here called the IP network. The IP network consists in turn of m identical cells, where each cell, here called the IP-cell, computes one inner product. The UGM requires the input field elements to have zeros in the unused high-order positions, i.e. αi = bi= 0, i > m-1.
Fig. 2 shows a preferred implementation of the α-cell 11 for performing the operation xA(x) mod P(x) (or, equivalently, αA). The α-cell can be programmed to operate over any of the fields GF(2m), 2≤ m≤ M by means of the binary vectors P = (p1,p2,p3, ...,pM-1) and S = (s1, s2, s3, sM-1) shown in Fig. 2.
Suppose we want to program the UGM for operation over GF(2m) where m is a particular value in the usable range. Then the components of the vector S are set as follows:
Figure imgf000007_0001
The vector S determines the feedback signal FB of Fig. 2. The first m-1 components of the vector P are the m-l middle coefficients of the irreducible polynomial P(x) chosen to generate the field. The remaining coefficients pm through pM-1 are, for example, set to zero.
We see in Fig. 2 that the α-cell has a regular bit-slice structure consisting of m-l identical subcells (unit 111 in Fig. 2). In each subcell there is one binary adder (XOR), one switch SW and one multiplexer MX.
The switch SW in subcell #i is controlled by the signal si in the following way: SW is closed if si = 1 , SW is open if si = 0. The multiplexer MX is controlled by the signal pi in the following way: if pi = 1 then MX passes the signal coming from the binary adder (= αm-1 + αi-1), if pi = 0 then MX passes the other input (= αi-1). Fig. 3 shows a preferred implementation of the IP-cell 21 based on twoinput gates. M AND gates and M-1 XOR gates are required. The multiplexer MX appended to the output of the IP-cell is required to zero the product coefficients ci for i > m -1 since these are not used. In this case the signal vi is the i:th component of a vector V = (v0, v1, ..., vM-1) that could be set as follows
Figure imgf000008_0004
The multiplexer MX would then zero the output if vi = 1. If vi = 0 the output of the XOR-tree is selected. Fig. 4 shows the complete UGM for the case M = 4 together with a table of values for the vectors S and V for 2≤ m≤ 4. Notice that m≥ 2 implies that the first two components s0 and s1 of S are always zero and need not be generated (the multiplexer could be skipped in those IP-cells). The field generator P(x) is not indicated but can be chosen as follows: P(x) = x4 + x + 1 for m = 4, P(x) = x3 + x + 1 for m = 3 and P(x) = x2 + x + 1 for m = 2.
The extension to a new value of M is straightforward.
Operating the UGM for m < M means that only a part of α-array is used. This fact can be easily illustrated by help of equation (4). First we define the vectors CL, CU} _BL and Bυ as follows
Figure imgf000008_0001
Figure imgf000008_0002
where the superscript T indicates transposition. Then we have
Figure imgf000008_0003
where Z1, Z2 and Z3 are submatrices of Z defined according to the subdivision of Z indicated in equation (8). The product of interest for us is Z1. BL and we want it to appear on the lines of CL. To have this product correctly computed we must ensure that the product Z3.BU is always zero.
But this is the case since BU is required to be zero. What remains to take care of is the product Z2.B L since this is normally non-zero and it would appear on the lines of CU (the unused lines that we wish to be zero). The zeroing of these lines is done through the multiplexer MX and the control signal vi mentioned above and shown in Fig. 3.
B. Complexity
The α-array consists of m - 1 α-cells where each cell contains m - 1 XOR gates, m -1 switches and m -1 multiplexers. Since switches and multiplexers are much simpler than XOR gates we approximate the complexity of a switch-multiplexer pair by that of one XOR gate. Then the complexity of the α-array can be estimated to 2(m-1)2 gates. The IP-network consists of m IP-cells where each cell contains 2m -1 gates. Totally 2m2-m gates for the IP-network. Finally we need 3m register to store the vectors P, S and V needed to program the UGM (these registers are loaded from an external unit). The complexity NUGM for the whole UGM can therefore be estimated by
NUGM≈ 2(m - 1)2 + 2m2-m + 3m.
Compared to a prior art UGM with complexity ~ 7m2 +3m the present UGM requires about 50% less components.
C. Performance
The performance of the UGM is directly related to the worst signal path (WSP) between any input and any output of the UGM. We will give an upper bound on the length Lwsp (in gates) of the WSP. In doing this we approximate the delay of a switch-multiplexer pair by that of one XOR gate.
The WSP through the UGM must go through m-l α-cells and one IP-cell. The length of the WSP through the IP-cell is fixed and it is easily found to be 1 + [log2M] gates.
The WSP through the α-array depends on the choice of P(x). It consists however of three parts: switches, XOR gates and multiplexers. The number of XOR gates along the WSP can be much less than m - 1 by smart choice of P(x). The following is a table over the number of XOR gates along the WSP through the α-array for some good P(x) and m≤ 16:
Figure imgf000010_0003
In the table we indicate only the powers of x in P(x) whose coefficients are non-zero . We see that the number of XOR gates is at least one and at most for m≤ 8. For m > 8 a better upper bound seems to be We use as an
Figure imgf000010_0001
Figure imgf000010_0002
upper bound for all m.
The number of switches and multiplexers along the WSP is not easily determined exactly. We assume worst case and say therefore that the WSP goes through m-1 switches and m - 1 multiplexers. According to the approximation above this corresponds to about m - 1 XOR gates.
The total length LWSP of the WSP can now be upper bounded by LWSP≤ (m-1) + m/2 + 1 + [log2M] = 1.5m + [log2M ] [Gates] which is considerably better than the ~ 6m gates of a prior art UGM.
D. Comments
One skilled in the art will immediately recognize that several changes could be made in the above design without departing form the basic structure. For example, instead of storing the three vectors P, S and V in registers one could design some simple logic that generates both S and V from P (in this case also the highest coefficient pm of P(x) must be entered into the UGM). The programming of the UGM would thus be simplified to one single operation instead of three. The UGM is also easily modified to perform the operation A.B + D by adding one input and one XOR gate to each IP-cell. Further, the design of the sub-cell 111 can alternatively be done by using an AND gate instead of the multiplexer MX. The AND gate computes the product am -1pi. This product enters then the XOR gate (instead of the feedback signal am-1) to produce the sum am-1pi + ai-1.
The same general structure of Fig. 1 can be utilized for UGMs operating over fields of characteristic other than 'two. Only the details get slightly more complicated since all coefficient operations must be performed modulo the prime p, p > 2, that is the XOR gate becomes a mod p-adder and the AND gate a mod p-multiplier. Further, for prime p > 2 we have -1≠1 mod p which means that signs must be considered. For example, suppose P(x) is a monic (i.e. with the highest coefficient pM = 1) irreducible polynomial of degree M over GF(p) that has α as a root, i.e. P(α) = 0. Then
Figure imgf000011_0001
where pi' is the additive inverse of pi in GF(p). Now equation (5) becomes
Figure imgf000011_0002
The design of the α-cell follows directly from equation (10). The α-cell consists of M-1 identical sub-cells where each sub-cell performs the operation plus one cell for computing where
Figure imgf000011_0003
Figure imgf000011_0004
juxtaposition means modulo p-multiplication and "+" modulo p-addition. Since P is known in advance the additive inverses
Figure imgf000011_0005
can be precomputed and input to the multiplier instead of the original coefficients pt. The α-cell is made programmable for operation over different fields GF(pm), 2≤ m≤ M just the same way as for p = 2 by means of switches and the control vector S. The new α-array is obtained simply by cascading M-1 α-cells just as before. The α-array is connected to the IP network as before to compute the necessary inner products. The IP cell is modified to compute the inner product of two p-ary vectors of length M. The control vector V is used as for p = 2. The vectors & and V can either be stored in registers which are loaded from outside or they can be derived from the coefficients of P (in fact only the position of the highest coefficient p is relevant to this purpose) by some simple logic. We notice finally that the binary representation of each coefficient will require [log2p] bits. For example the three elements of GF(3) require two bits. Accordingly, it is intended that all matter contained in the above descriptions and the following drawings shall be interpreted as illustrative and not in a limiting sense.

Claims

CLAIMS 1. A multiplier for performing multiplication of two elements in the finite field GF(pm) with pm elements, and obtaining a product vector of m p- ary components, where m is an integer equal to or greater than 2 or equal to or less than M, where M is an integer equal to or greater than 2, each of said pm elements of GF(pm) represented by a vector of m p-ary coefficients according to a polynomial basis representation, c h a r a c t e r i z e d b y a) first logic means (1) including a cascade of at least one α-cell (11) for developing for the first of said two elements the first m αmultiples, each α-multiple being the product of αl and said element for i = 0, 1, 2 , ..., m-1, where α is an element of the field GF(pm) satisfying the equation P(x) = 0 for x = α, where P(x) is a polynomial of degree m which is irreducible over the field GF(p); and b) second logic means (2) including at least two IP cells (21), where each IP cell will simultaneously develop the inner product of the second element and every p-ary vector whose components are the j:th components of all said α-multiples for j = 0, 1, 2, ..., m-1, each of said m inner products being one component of said product vector.
2. The multiplier recited in claim 1 w h e r e i n: a) said first logic means (1) comprise means for changing of said irreducible polynomial, whereby said first logic means are programmable for operation over any of said finite fields GF(pm ), 2≤ m≤M, including all possible representations of said finite fields; and b) means for selectively connecting the output of said second logic means (2) to a logical zero.
3. The multiplier recited in claim 1 or 2 w h e r e i n each of the pm elements of GF(pm) is represented by a vector of m p-ary components according to a polynomial basis representation of the form A = α0 + α1α + ... + αm-2αm-2 + αm-1αm-1, where A is an element of GF(pm ), α0, α1, ..., αm-2, αm- 1 are the p-ary components of A , and α is an element of GF(p m) satisfying the equation P(x) = 0 for x = α, where P(x) is a polynomial of degree m which is irreducible over the field GF(p).
4. The multiplier recited in claim 2 or 3 wherein: a) the unused inputs of said first logic means (1) are set to logical zero; and b) the unused inputs and outputs of said second logic means (2) are set to logical zero.
5. The multiplier recited in claim 1,2, 3 or 4 wherein p = 2.
PCT/SE1991/000384 1990-06-15 1991-05-31 Universal galois field multiplier WO1991020028A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE9002124-7 1990-06-15
SE9002124A SE466822B (en) 1990-06-15 1990-06-15 DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY

Publications (1)

Publication Number Publication Date
WO1991020028A1 true WO1991020028A1 (en) 1991-12-26

Family

ID=20379773

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE1991/000384 WO1991020028A1 (en) 1990-06-15 1991-05-31 Universal galois field multiplier

Country Status (3)

Country Link
AU (1) AU8076591A (en)
SE (1) SE466822B (en)
WO (1) WO1991020028A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL1003335C2 (en) * 1996-05-30 1997-12-17 Lg Semicon Co Ltd Universal Galois field multiplier circuit.
EP0840461A2 (en) * 1996-10-30 1998-05-06 Discovision Associates Galois field multiplier for Reed-Solomon decoder
GB2323457A (en) * 1996-12-30 1998-09-23 Certicom Corp A finite field multiplication system
US6662346B1 (en) 2001-10-03 2003-12-09 Marvell International, Ltd. Method and apparatus for reducing power dissipation in finite field arithmetic circuits
WO2004001701A1 (en) * 2002-06-20 2003-12-31 Hitachi, Ltd. Code calculating device
EP1043654A3 (en) * 1999-04-09 2005-02-09 Fujitsu Limited Apparatus and method for generating parameters for finite field operations
EP2434650A1 (en) * 2010-09-23 2012-03-28 Panasonic Corporation Reed-Solomon encoder with simplified Galois field multipliers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3805037A (en) * 1972-02-22 1974-04-16 J Ellison N{40 th power galois linear gate
US4251875A (en) * 1979-02-12 1981-02-17 Sperry Corporation Sequential Galois multiplication in GF(2n) with GF(2m) Galois multiplication gates
US4697248A (en) * 1983-12-30 1987-09-29 Sony Corporation Arithmetic circuit for obtaining the vector product of two vectors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3805037A (en) * 1972-02-22 1974-04-16 J Ellison N{40 th power galois linear gate
US4251875A (en) * 1979-02-12 1981-02-17 Sperry Corporation Sequential Galois multiplication in GF(2n) with GF(2m) Galois multiplication gates
US4697248A (en) * 1983-12-30 1987-09-29 Sony Corporation Arithmetic circuit for obtaining the vector product of two vectors

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL1003335C2 (en) * 1996-05-30 1997-12-17 Lg Semicon Co Ltd Universal Galois field multiplier circuit.
US5768168A (en) * 1996-05-30 1998-06-16 Lg Semicon Co., Ltd. Universal galois field multiplier
EP0840461A2 (en) * 1996-10-30 1998-05-06 Discovision Associates Galois field multiplier for Reed-Solomon decoder
EP0840461A3 (en) * 1996-10-30 2000-03-08 Discovision Associates Galois field multiplier for Reed-Solomon decoder
GB2323457A (en) * 1996-12-30 1998-09-23 Certicom Corp A finite field multiplication system
EP1043654A3 (en) * 1999-04-09 2005-02-09 Fujitsu Limited Apparatus and method for generating parameters for finite field operations
US7142668B1 (en) 1999-04-09 2006-11-28 Fujitsu Limited Apparatus and method for generating expression data for finite field operation
US6662346B1 (en) 2001-10-03 2003-12-09 Marvell International, Ltd. Method and apparatus for reducing power dissipation in finite field arithmetic circuits
WO2004001701A1 (en) * 2002-06-20 2003-12-31 Hitachi, Ltd. Code calculating device
EP2434650A1 (en) * 2010-09-23 2012-03-28 Panasonic Corporation Reed-Solomon encoder with simplified Galois field multipliers

Also Published As

Publication number Publication date
SE9002124D0 (en) 1990-06-15
AU8076591A (en) 1992-01-07
SE9002124L (en) 1991-12-16
SE466822B (en) 1992-04-06

Similar Documents

Publication Publication Date Title
US4873688A (en) High-speed real-time Reed-Solomon decoder
EP0114938B1 (en) On-the-fly multibyte error correction
US6928602B2 (en) Encoding method and encoder
Wang et al. VLSI architectures for computing multiplications and inverses in GF (2 m)
Campobello et al. Parallel CRC realization
US20030192007A1 (en) Code-programmable field-programmable architecturally-systolic Reed-Solomon BCH error correction decoder integrated circuit and error correction decoding method
Augot et al. Generalized Gabidulin codes over fields of any characteristic
US6467063B1 (en) Reed Solomon coding apparatus and Reed Solomon coding method
US5535225A (en) Time domain algebraic encoder/decoder
RU2008148940A (en) ERROR CORRECTION METHOD AND DEVICE
EP0447245A2 (en) Bit-serial division method and apparatus
US20040078408A1 (en) Modular galois-field subfield-power integrated inverter-multiplier circuit for galois-field division over GF(256)
KR20190003315A (en) Encoding method of efficient generalized tensor product codes, and apparatus there-of
WO1991020028A1 (en) Universal galois field multiplier
KR100258951B1 (en) Rs decoder having serial expansion architecture and method therefor
US6405339B1 (en) Parallelized programmable encoder/syndrome generator
US5931894A (en) Power-sum circuit for finite field GF(2m)
JP3239522B2 (en) Data loss correction method and circuit
JP4045872B2 (en) Encoding method and encoding apparatus
RU2605672C1 (en) Reconfigurable reed-solomon coder
JPH0476540B2 (en)
US6971056B1 (en) Decoder-usable syndrome generation with representation generated with information based on vector portion
Patel On-the-fly decoder for multiple byte errors
Conway Galois field arithmetic over GF (p/sup m/) for high-speed/low-power error-control applications
Gulliver et al. Q-ary Gray codes and weight distributions

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA FI NO US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

NENP Non-entry into the national phase

Ref country code: CA