SE466822B - DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY - Google Patents

DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY

Info

Publication number
SE466822B
SE466822B SE9002124A SE9002124A SE466822B SE 466822 B SE466822 B SE 466822B SE 9002124 A SE9002124 A SE 9002124A SE 9002124 A SE9002124 A SE 9002124A SE 466822 B SE466822 B SE 466822B
Authority
SE
Sweden
Prior art keywords
cell
polynomial
elements
logic circuits
logic
Prior art date
Application number
SE9002124A
Other languages
Swedish (sv)
Other versions
SE9002124D0 (en
SE9002124L (en
Inventor
Edoardo D Mastrovito
Original Assignee
Mastrovito Edoardo
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 Mastrovito Edoardo filed Critical Mastrovito Edoardo
Priority to SE9002124A priority Critical patent/SE466822B/en
Publication of SE9002124D0 publication Critical patent/SE9002124D0/en
Priority to AU80765/91A priority patent/AU8076591A/en
Priority to PCT/SE1991/000384 priority patent/WO1991020028A1/en
Publication of SE9002124L publication Critical patent/SE9002124L/en
Publication of SE466822B publication Critical patent/SE466822B/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

Landscapes

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

Description

15 20 25 30 466 822 t.ex. BCH- och RS-koder. Genom successiva multiplikationer kan man också beräkna inversen till ett element. Inversen till ett element krävs t.ex. vid avkodníng av BCH- och RS-koder. 15 20 25 30 466 822 e.g. BCH and RS codes. Through successive multiplications, one can also calculate the inverse of an element. The inverse of an element is required e.g. when decoding BCH and RS codes.

Ett tidigare förslag till UGM resulterade i en multiplikator med för låg prestanda för praktiska ändamål. Den låga prestandan i denna tidigare UGM orsakas av en värsta signalväg på ~ Gm logiska grindnivåer vid användning över GF(2'”). En detaljerad beskrivning av denna tidigare UGM återfinnes i B.A. Laws, C.K.An earlier proposal to UGM resulted in a multiplier with too low performance for practical purposes. The low performance in this previous UGM is caused by a worst signal path at ~ Gm logic gate levels when used above GF (2 '”). A detailed description of this former UGM is 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.Rushforth, "A Cellular-Array Multiplier for GF (2m)", IEEE Trans. Comput., Vol. C- 20, pp. 1573-1578, December 1971.

Huvudändamålet med föreliggande uppfinning är att åstadkomma en ny apparat för multiplikation av element i GF(p'” ), speciellt för p = 2. Den nya apparaten kräver ett lägre antal komponenter samt har bättre prestanda än tidigare UGM.The main object of the present invention is to provide a new apparatus for multiplying elements in GF (p '”), especially for p = 2. The new apparatus requires a lower number of components and has better performance than previous UGM.

En egenskap hos uppfinningen är att den kan programmeras till att operera över olika galoiskroppar GF(pm ), 2 S m S M där M är ett godtyckligt heltal större än ett.A feature of the invention is that it can be programmed to operate over different galley bodies GF (pm), 2 S m S M where M is an arbitrary integer greater than one.

Uppfinningen samt ett för uppfinningen föredraget utförande skall i det följande beskrivas med hänvisning till bifogade ritningar.The invention and a preferred embodiment of the invention will be described in the following with reference to the accompanying drawings.

Kgflfattad beskrivning av ritningarna FIG. 1 är ett blckschema över ett för uppfinningen föredraget utförande.Description of the drawings FIG. 1 is a block diagram of a preferred embodiment of the invention.

FIG. 2 är ett mer detaljerat blockschema av ett delsystem som används för beräkning av a-A över olika galoiskroppar med karaktäristik 2 (dvs p = 2).FIG. 2 is a more detailed block diagram of a subsystem used to calculate a-A across different galaxy bodies with characteristic 2 (ie p = 2).

FIG. 3 är ett mer detaljerat blockschema av ett delsystem som används för beräkning av skalärprodukten av två binära vektorer.FIG. 3 is a more detailed block diagram of a subsystem used to calculate the scalar product of two binary vectors.

FIG. 4 visar ett för uppfinningen föredraget utförande för galoiskropparna GF(2m), 2 S m S 4.FIG. 4 shows a preferred embodiment of the galley bodies GF (2m), 2 S m S 4 for the invention.

DET E AD BE IVN AV F" ED ET UTF-'RANDE En kort sammanfattning av vissa grundläggande fakta ur galoisteorin är nödvändig för en meningsfull beskrivning av uppfinningen. En galoiskropp är en algebraisk struktur som består av ett ändligt antal, pm, element där p är ett primtal och m ett positivt heltal. Bland dessa element återfinnes alltid elementen O och 1. På elementen i kroppen definieras operationerna addition, subtraktion, multiplikation och division. Addition, subtraktion and multiplikation är associativa och kommutativa och multiplikation är distributiv med avseende på addition och subtraktion. Varje operation på ett eller flera element resulterar alltid i ett element ur kroppen. 10 15 2.0 25 30 3 466 s22 Föreliggande uppfinning avser främst, men är ej begränsad till, galoiskroppar med karaktäristik 2 vilka betecknas GF(2"'). Den minsta galoiskroppen (m=1) består endast av elementen O och 1 och kallas den binära talkroppen, GF(2). Addition och multiplikation i GF(2) utföres modulo 2, dvs 0+0=1+1=0, 0+1=1+0=1, 0-0=O-1=1-0=0, 1-1=1 och -1=1. Addition är detsamma som EXKLUSIV ELLER (XOR) medan multiplikation är detsamma som LOGISK OCH (AND).THE PRESENTATION OF THE EXECUTIVE SUMMARY A brief summary of some basic facts from the galo-theory is necessary for a meaningful description of the invention. A galoic body is an algebraic structure consisting of a finite number, pm, of elements where p is a prime number and m is a positive integer.These elements always include the elements 0 and 1. On the elements in the body the operations addition, subtraction, multiplication and division are added.Addition, subtraction and multiplication are associative and commutative and multiplication is distributive with respect to addition and subtraction.Each operation on one or fl your elements always results in an element out of the body.10 15 2.0 25 30 3 466 s22 The present invention mainly relates to, but is not limited to, galley bodies with characteristic 2 which are designated GF (2 "'). The smallest galley body (m = 1) consists only of the elements 0 and 1 and is called the binary number body, GF (2). Addition and multiplication in GF (2) are performed modulo 2, ie 0 + 0 = 1 + 1 = 0, 0 + 1 = 1 + 0 = 1, 0-0 = O-1 = 1-0 = 0, 1-1 = 1 and -1 = 1. Addition is the same as EXCLUSIVE OR (XOR) while multiplication is the same as LOGICAL AND (AND).

I GF(2"'), m > 1, representeras varje element av ett polynom av gradtal S m-l med binära koefficienter. Varje element kan ses som resultatet från en reduktion modulo ett irreducibelt polynom av gradtal m over GF(2), och alla koefficientoperationer utföres modulo 2. Alternativt, kan man se kroppen GF(2m) som ett linjärt vektorrum över GF(2) vars dimension är m.In GF (2 "'), m> 1, each element is represented by a polynomial of degrees S ml with binary coefficients. Each element can be seen as the result of a reduction modulo an irreducible polynomial of degrees m over GF (2), and all coef fi cient operations are performed modulo 2. Alternatively, one can see the body GF (2m) as a linear vector space over GF (2) whose dimension is m.

För varje heltal m existerar endast en galoiskropp med 2m element. Generellt kan dock elementen i en galoiskropp bli representerade på olika sätt beroende på vilket specifikt polynom som valts för att generera kroppen.For each integer m, there is only one gala body with 2m elements. In general, however, the elements of a galley body can be represented in different ways depending on which specific polynomial is chosen to generate the body.

Att representera ett element A som ett polynom ao + alx + + am_2xm'2 + amox m4 är detsamma som att välja elementen {1, a, ..., amâ, am'1} till bas av GF(2'"). Varje element kan därför skrivas som en linjär kombination av baselementen. Elementen ai, i = 0, 1,..., m-l representeras i denna bas av polynomen xi, i=0, 1, ..., m-l och, följaktligen, är uttrycket ao + alx + + am_2x m2 + a mox ”Hekvivalent med ao + ala + + am_2a'"'2+ amoawlßvaimämnda bas kallas polynomiell bas.Representing an element A as a polynomial ao + alx + + am_2xm'2 + amox m4 is the same as choosing the elements {1, a, ..., amâ, am'1} to the base of GF (2 '"). Each element can therefore be written as a linear combination of the base elements, the elements ai, i = 0, 1, ..., ml are represented in this base by the polynomial xi, i = 0, 1, ..., ml and, consequently, are the expression ao + alx + + am_2x m2 + a mox ”Equivalent to ao + ala + + am_2a '"' 2+ amoawlßvaimänne base is called polynomial base.

I det följand betecknar P(x) det irreducibla polynom som genererar kroppen och som har elementet a som en av sina rötter, dvs P(a) = 0. A(x) är polynomet associerat med elementet A, B(x) polynomet associerat med elementet B och C(x) polynomet associerat med produkten av A och B. Produkten kan beräknas på följande sätt C(x) =A(x)-B(x) mod P(x) = = [boA(x) + blxAa) + + bmpumhaoo] mod P(x) = = [boA(x) mod P(x)] + [b1xA(x) mod P(x)] +...+ [bm_1xm'1A(x) mod P(x)]. (1) Vi definierar nu polynomen Z¿,_(x): m-l Z¿,_(x) = zziljxj =xiA(x) mod P(x) i = 0, 1, ,m-1 (2) j=0 där zl-IJ- e GF(2). Då är C(x) = boZo,_(x) + b1Z1,_(x) + + bm_1Zm_1,_(x). (3) 10 15 20 25 4 6 6 8 2 2 Och i matrisnotation co 20,0 21,0 zm-ro bo 01 20,1 21,1 Zm-1,1 bl C = _ _-_ _ _ = z. B (4) Cm-i zo,m-1 Z1,m-1 zm-rm-i bm-i där Z är en den binära m x m matrisen i ekvation (4). Vi ser att produkten C kan erhållas genom att beräkna de m skalärprodukterna Zïj-B, j = 0,1..., m-l, där Zw- betecknar den j:te raden i Z. Först skall dock Z genereras. Vi genererar de m columnerna i Z genom kaskadkoppling av m-l identiska celler där varje cell implementerar operationen xA(x) mod P(x) (den första kolumnen Zor är element A självt, se ekvation (2)). Vi kallar nämnda cell a-cellen och den kaskadkopplade strukturen a-matrisen.In the following, P (x) denotes the irreducible polynomial which generates the body and which has the element a as one of its roots, i.e. P (a) = 0. A (x) is the polynomial associated with the element A, B (x) the polynomial associated with the element B and C (x) the polynomial associated with the product of A and B. The product can be calculated as follows C (x) = A (x) -B (x) mod P (x) = = [boA (x) + blxAa) + + bmpumhaoo] mod P (x) = = [boA (x) mod P (x)] + [b1xA (x) mod P (x)] + ... + [bm_1xm'1A (x) mod P (x)]. (1) Vi de fi nierar nu polynomen Z¿, _ (x): ml Z¿, _ (x) = zziljxj = xiA (x) mod P (x) i = 0, 1,, m-1 (2) j = 0 where zl-IJ- e GF (2). Then C (x) = boZo, _ (x) + b1Z1, _ (x) + + bm_1Zm_1, _ (x). (3) 10 15 20 25 4 6 6 8 2 2 And in matrix notation co 20.0 21.0 zm-ro bo 01 20.1 21.1 Zm-1.1 bl C = _ _-_ _ _ = z B (4) Cm-i zo, m-1 Z1, m-1 zm-rm-i bm-i where Z is a binary mxm matrix in equation (4). We see that the product C can be obtained by calculating the m scalar products Zïj-B, j = 0,1 ..., m-1, where Zw- denotes the jth row in Z. However, Z must first be generated. We generate the m columns in Z by cascading m-1 identical cells where each cell implements the operation xA (x) mod P (x) (the first column Zor is element A itself, see equation (2)). We call said cell the a-cell and the cascade-linked structure the a-matrix.

Polynomet P(x) har formen x" + xm'1pm_1+ + xpl + 1 (första och sista koeñicienten måste nödvändigtvis vara ettor annars kan P(x) ej vara irreducibelt).The polynomial P (x) has the form x "+ xm'1pm_1 + + xpl + 1 (the first and last coefficient must necessarily be ones otherwise P (x) cannot be irreducible).

Nu kan uttrycket xA(x) mod P(x) skrivas som x-A(x)= xmanbl + xm'1am_2+ + xzal + xao = 1 = am_1(xm'1pm_1+ + xpl + 1) + xm' am_2+ + xzal + xa0= m-l = and + 2 x'(am_1p¿ + au) i=1 mod P(x). (5) I ekvation (5) använde vi of” = am'1pm_1+ + apl + 1 (vilket är ekvivalent med xm = xm'1pm_1+ + xpl + 1). Ekvation (5) beskriver funktionen hos en a-cell för fix m: för varje p¿ :ß O, i = 1, 2, ..., m-l, skall en summa am_1 + am beräknas medan koeflicienten för xo ges av A's mest signifikanta koefficient am_1. Vi kallar am_ återkopplingssignalen (FB). 1 Med stöd av ovanstående matematiska grunder kan ett för uppfinningen föredraget utförande beskrivas.Now the expression xA (x) mod P (x) can be written as xA (x) = xmanbl + xm'1am_2 + + xzal + xao = 1 = am_1 (xm'1pm_1 + + xpl + 1) + xm 'am_2 + + xzal + xa0 = ml = and + 2 x '(am_1p¿ + au) i = 1 mod P (x). (5) In equation (5) we used of ”= am'1pm_1 + + apl + 1 (which is equivalent to xm = xm'1pm_1 + + xpl + 1). Equation (5) describes the function of an α-cell for fi x m: for each p¿: ß 0, i = 1, 2, ..., ml, a sum of am_1 + am shall be calculated while the coefficient of xo is given by A's most signi fi kanta koef fi cient am_1. We call the am_ feedback signal (FB). On the basis of the above mathematical principles, a preferred embodiment of the invention can be described.

Fig. 1 visar den generella strukturen hos den nya UGM. Beteckningama är konsistenta med den föregående introduktionen. Enhet 1 är a-matrisen som genererar Z såsom definierad i ekvation (4). Enhet 2 beräknar de m skalärproduktema ej = Zïj-B, j = 0,1, ..., m-l och kallas här IP-nätet. IP-nätet består i sin tur av m identiska celler, där varje cell, här kallad IP-cellen, beräknar en 10 15 20 25 30 5 466 822 skalärprodukt. För korrekt funktion måste alla oanvända koefficienter vara nollställda, i.e. ai = bi= 0, i > m-l.Fig. 1 shows the general structure of the new UGM. The terms are consistent with the previous introduction. Unit 1 is the α-matrix that generates Z as defined in equation (4). Unit 2 calculates the m scalar products ej = Zïj-B, j = 0.1, ..., m-1 and is here called the IP network. The IP network in turn consists of identical cells, where each cell, here called the IP cell, calculates a scalar product. For proper operation, all unused coefficients must be zeroed, i.e. ai = bi = 0, i> m-l.

Fig. 2 visar ett föredraget utförande för a-cellen 11, för beräkning av xA(x) mod P(x) (dvs val). a-cellen kan operera över varje galoiskropp GF(2m), 2 S m s M genom programmering av de binära vektorema P = (pl, p2, på., ..., pM_1) och S = (si, sz, S3, ..., sMi) som visas i Fig. 2.Fig. 2 shows a preferred embodiment of the α-cell 11, for calculating xA (x) mode P (x) (ie selection). the α-cell can operate over each galoid body GF (2m), 2 S ms M by programming the binary vectors P = (p1, p2, on., ..., pM_1) and S = (si, sz, S3,. .., sMi) as shown in Fig. 2.

Antag att vi vill programmera den nya UGM för operation över GF(2'”) där m ligger i det användbara intervallet. Då måste vektom S sättas som följer: Si = :z (6) Vektom S bestämmer återkopplingen FB i Fig. 2. De första m-1 komponenterna i vektorn P ges av de m-1 mittersta koefficientema i det irreducibla polynomet P(x) som genererar kroppen. De återstående koefficientema pm till pM_1 sätts till noll.Suppose we want to program the new UGM for operation over GF (2 '”) where m is in the usable range. Then the vector S must be set as follows: Si =: z (6) The vector S determines the feedback FB in Fig. 2. The first m-1 components in the vector P are given by the m-1 middle coefficients in the irreducible polynomial P (x) which generates the body. The remaining coefficients pm to pM_1 are set to zero.

Vi ser i Fig. 2 att a-cellen har en regelbunden "bit-slice" struktur bestående av m- 1 identiska subceller (enhet 111 i Fig. 2). I varje subcell återfinnes en binär adderare (XOR), en brytare SW samt en multiplexer MX. Brytaren SW i subcell #i kontrolleras av signalen si på följande sätt: SW slutes om si = 1, SW öppnas om si = 0. Multiplexern MX kontrolleras av signalen pi på följande sätt: om pi = 1 väljer MX signalen från den binära adderaren (= am_1 + ai_1), om pi = 0 väljer MX den andra signalen (= ai_1).We see in Fig. 2 that the α-cell has a regular "bit-slice" structure consisting of m-1 identical subcells (unit 111 in Fig. 2). Each subcell contains a binary adder (XOR), a switch SW and a multiplexer MX. The switch SW in subcell #i is controlled by the signal si as follows: SW is closed if si = 1, SW is opened if si = 0. The multiplexer MX is controlled by the signal pi as follows: if pi = 1, the MX selects the signal from the binary adder ( = am_1 + ai_1), if pi = 0, MX selects the second signal (= ai_1).

Fig. 3 visar ett föredraget utförande för IP-cellen 21 baserad på två-ingångars grindar. M OCH-grindar samt M -1 XOR-grindar erfodras; Multiplexern MX kopplad till utgången av IP-cellen behövs för att nollställa koefficienten ci för i > m -1 eftersom dessa ej utnyttjas. I detta fall ges signalen vi av den izte komponent i en vektor V= (vo, vi, ..., vM_1) som sätts som följer 0 iSm-l ”i ={1 i> m-1. (7) Multiplexern MX nollställer då utsignalen ci om vi = 1. Om vi = 0 väljer MX utsignalen från XOR-trädet.Fig. 3 shows a preferred embodiment of the IP cell 21 based on two-input gates. M AND gates and M -1 XOR gates are required; The multiplexer MX connected to the output of the IP cell is needed to reset the coefficient ci for i> m -1 as these are not used. In this case, the signal vi is given by the izte component of a vector V = (vo, vi, ..., vM_1) which is set as follows 0 iSm-1 ”i = {1 i> m-1. (7) The multiplexer MX then resets the output signal ci if vi = 1. If vi = 0, MX selects the output signal from the XOR tree.

Fig. 4 visar den kompletta UGM för fallet M = 4 tillsammans med en tabell över S och V för 2 .<. m S 4. Observera att m 2 2 innebär att de två första komponenterna so och sl iS alltid är noll och behöver ej genereras (multiplexern i de IP-cellerna är överflödiga). Kroppsgeneratorn P(x) anges inte men skulle kurma väljas som följer: P(x) =x4+x+1 form =4,P(x) =x3+x+1 form =3andP(x)=x2+x+1 form =2.Fig. 4 shows the complete UGM for the case M = 4 together with a table of S and V for 2. <. m S 4. Note that m 2 2 means that the first two components so and sl iS are always zero and do not need to be generated (the multiplexer in those IP cells is superfluous). The body generator P (x) is not specified but would be chosen as follows: P (x) = x4 + x + 1 shape = 4, P (x) = x3 + x + 1 shape = 3andP (x) = x2 + x + 1 form = 2.

Utvidgningen till ett nytt värde på M är uppenbar. 10 15 20 25 466 822' 6 Vid användning av den nya UGM for m < M utnyttjas endast en del av a- matrisen. Detta illustreras enkelt genom ekvation (4). Först definierar vi vektorerna CL, CU, OCh CL = (00, cmpT CU = (cm, cMpT BL = (bo bmf BU = (bm, bMpT där T indikerar transponering. Nu kan vi skriva o.. zM_1,o w _ Zl B .. z _ _ b _ L M Lm 1 m 1 = Zs (8) -- ZM-rm m 22 BU ZoM-i zm-LM-i zmM-i zM-rM-i bM-i där Z1,Z2 och Z3 är delmatriser i Z som definieras av indelningen illustrerad i ekvation (8). Den för oss intressanta produkten är CL = Zl -B L. För korrekt beräkning av CL måste den resterande produkten Z3-BU alltid vara noll, vilket är fallet då BU = 0 enligt tidigare krav. Slutligen måste termen Zz-BL, som normalt är skild ifrån noll, hindras att uppstå i CU (den oanvända delen av produktvektom som vi önskar vara noll). Nollställningen av C U kan åstadkommas genom multiplexern MX och ovannämnda signalen vi såsom visas i Fig. 3.The extension to a new value of M is obvious. 10 15 20 25 466 822 '6 When using the new UGM for m <M, only a part of the a-matrix is used. This is easily illustrated by equation (4). First we fi deny the vectors CL, CU, OCh CL = (00, cmpT CU = (cm, cMpT BL = (bo bmf BU = (bm, bMpT where T indicates transposition. Now we can write o .. zM_1, ow _ Zl B .. z _ _ b _ LM Lm 1 m 1 = Zs (8) - ZM-rm m 22 BU ZoM-i zm-LM-i zmM-i zM-rM-i bM-i where Z1, Z2 and Z3 are sub-matrices in Z as they are av niered by the division illustrated in equation (8.) The product of interest to us is CL = Z1 -B L. For the correct calculation of CL, the remaining product Z3-BU must always be zero, which is the case when BU = Finally, the term Zz-BL, which is normally non-zero, must be prevented from occurring in CU (the unused part of the product vector which we wish to be zero) .The zeroing of CU can be achieved by the multiplexer MX and the above-mentioned signal we as shown in Fig. 3.

Kgmplgxitgt a-matrisen består av m-l a-celler där varje cell innehåller m-l XOR-grindar, m-l brytare samt m-l multiplexrar. Eftersom en brytare/multiplexer är avsevärt enklare än en XOR-grind, låter vi en brytare och en multiplexer tillsammans motsvara komplexiteten för en XOR-grind. Då kan vi uppskatta komplexiteten för a- matrisen till 2(m-1)2 gates. IP-nätet består av m IP-celler där varje cell innehåller 2m-1 grindar, dvs totalt 2m2-m grindar. Slutligen krävs 3m register för lagring av kontrollvektorema P, S och V (dessa register laddas från någon extern enhet). Den totala komplexiteten NUGM blir NUGM = 2(m-1)2 + 2m2-m + 3m.The Kgmplgxitgt α matrix consists of m-1 α cells where each cell contains m-1 XOR gates, m-1 switches and m-1 multiplexers. Since a switch / multiplexer is considerably simpler than an XOR gate, we let a switch and a multiplexer together correspond to the complexity of an XOR gate. Then we can estimate the complexity of the a-matrix to 2 (m-1) 2 gates. The IP network consists of m IP cells where each cell contains 2m-1 gates, ie a total of 2m2-m gates. Finally, 3m registers are required for storing the control vectors P, S and V (these registers are loaded from some external device). The total complexity NUGM becomes NUGM = 2 (m-1) 2 + 2m2-m + 3m.

Jämfört med den tidigare UGM vars komplexitet är ~ 7m2 +3m, kräver den nya UGM nästan 50% färre komponenter. 10 15 20 ö 466 822 Bmstanda Prestanda hos den nya UGM bestäms av den kritiska signalvägen (W SP) mellan ingång och utgång. Vi skall bestämma en övre gräns på längden LWSP (i grindar) av WSP:n. För detta ändamål, låter vi fórdröjningen hos ett brytar-multiplexerpar motsvara fórdröjningen av en XOR-grind.Compared to the previous UGM whose complexity is ~ 7m2 + 3m, the new UGM requires almost 50% fewer components. 10 15 20 ö 466 822 Bmstanda The performance of the new UGM is determined by the critical signal path (W SP) between input and output. We will determine an upper limit on the length LWSP (in gates) of the WSP. For this purpose, we let the delay of a switch-multiplexer pair correspond to the delay of an XOR gate.

WSP:n genom multiplikatorn måste passera m-l a-celler och en IP-cell.The WSP through the multiplier must pass m-1a cells and an IP cell.

Längden för WSP:n genom IP-cellen är konstant lika med 1+ llogzMl grindar.The length of the WSP through the IP cell is constantly equal to 1+ llogzMl gates.

WSP:n genom a-matrisen beror egentligen på valet av P(x). Den går dock alltid genom brytare, XOR-grindar samt multiplexrar. Antalet XOR-grindar längs WSP:n kan göras mycket lägre än m-l genom lämpligt val av P(x). Foljande tabell visar antalet XOR-grindar längs WSP:n genom a-matrisen för några lämpliga P(x) av gradtal m .<_ 16: Efil-c-ä-coooflaacnßwwš Åh N FU 1 1 1 2 1 1 4 2 2 2 4 4 4 1 5 I tabellen anges endast de x-potenser i P(x) vars koeflicienter är lika med 1. Vi ser att antalet XOR-grindar ligger mellan 1 och Lg- íör m S 8. En bättre övre gräns för m > 8 verkar dock vara Vi väljer Lg- till en övre gräns för alla m.The WSP through the a-matrix actually depends on the choice of P (x). However, it always goes through switches, XOR gates and multiplexers. The number of XOR gates along the WSP can be made much lower than m-1 by appropriate selection of P (x). The following table shows the number of XOR gates along the WSP through the a-matrix for some suitable P (x) of degrees m. <_ 16: E fi l-c-ä-cooo fl aacnßwwš Oh N FU 1 1 1 2 1 1 4 2 2 2 4 4 4 1 5 The table indicates only the x-powers in P (x) whose coefficients are equal to 1. We see that the number of XOR gates is between 1 and Lg- íör m S 8. A better upper limit for m> 8, however, seems to be We choose Lg- to an upper limit for all m.

Det är inte enkelt att bestämma antalet brytare/multiplexrar längs WSP:n. Vi antar därför att WSP:n går genom m-l brytare och m-l multiplexrar. Enligt ovanstående approximation motsvarar dessa m-l XOR-grindar.Determining the number of switches / multiplexers along the WSP is not easy. We therefore assume that the WSP passes through m-l switches and m-l multiplexers. According to the above approximation, these m-1 correspond to XOR gates.

Den totala längden LWSP för WSP:n blir nu LWSP $(m-1) + m/2 + 1 + llogzMl = 1.5m + llog2Ml [Grindar] vilket är avsevärt bättre än de ~ Gm grindar hos tidigare UGM. 10 15 20 25 30 466 822 Kommentarer Det är uppenbart att uppfinningen ej får anses begränsad till det på ritningar visade och ovan beskrivna utförande. Den kan däremot, inom ramen för uppfimiingstanken, varieras på många sätt. Exempelvis, istället för att lagra vektorerna P, S och Vi register, kan man genom en simpel logisk krets erhålla både S och V från P (i detta fall måste även' koefficienten p m i P(x) användas).The total length LWSP for the WSP now becomes LWSP $ (m-1) + m / 2 + 1 + llogzMl = 1.5m + llog2Ml [Gates] which is significantly better than the ~ Gm gates at previous UGM. 10 15 20 25 30 466 822 Comments It is obvious that the invention must not be considered limited to the embodiment shown in the drawings and described above. On the other hand, within the framework of the idea, it can be varied in many ways. For example, instead of storing the vectors P, S and Vi registers, one can obtain both S and V from P through a simple logic circuit (in this case the coefficient p m in P (x) must also be used).

Programmering av UGM:en förenklas på detta sätt till en enda skrivoperation.Programming of the UGM is simplified in this way into a single write operation.

Uppfinningen kan också på ett enkelt sätt modifieras till att utföra operationen A-B + D, genom att en extra XOR-grind tillföres varje IP-cell. Vidare kan subcellen 111 konstrueras genom användande av en OCH-grind istället för multiplexem. OCH- grinden skulle då beräkna produkten am_1p¿, vilken sedan föres till XOR-grinden (istället för återkopplingssignalen and) för att där producera summan am_1p¿ + an.The invention can also be easily modified to perform the operation A-B + D, by adding an extra XOR gate to each IP cell. Furthermore, the subcell 111 can be constructed using an AND gate instead of the multiplexer. The AND gate would then calculate the product am_1p¿, which is then passed to the XOR gate (instead of the feedback signal and) to produce the sum am_1p¿ + an there.

Samma generella struktur som i Fig. 1 kan användas för UGM som opererar över kroppar med annan karaktäristik än 2. Då skulle alla koefficientoperationer utföras modulo primtalet p, p > 2, vilket är mer komplicerat än för p = 2. För p > 2 gäller att -1#1 mod p vilket innebär att vi måste ta hänsyn till tecknet hos elementen.The same general structure as in Fig. 1 can be used for UGM operating over bodies with characteristics other than 2. Then all coefficient operations would be performed modulo prime p, p> 2, which is more complicated than for p = 2. For p> 2 applies that -1 # 1 mod p which means that we must take into account the sign of the elements.

Låt P(x) vara ett moniskt (dvs med högsta koefficienten pM = 1) irreducibelt polynom av gradtal M över GF(p) som har a som rot, P(oc) = 0. Då är ad! = -OÉWJpMJ- - apl - po = dzw'lplí¿_l+ + ap1'+pó (9) där pi' är den additiva inversen av pi i GF(p). Ekvation (5) blir nu M-l M 2 x-A(x)=x aMJ +x aM_2+ +x al +xa0 = = aM_1('xM-1pM_1' ... ' ' + u. + + M-1 g = p¿aM_1 + 2 x' (pgajm + an) mod P(x). (io) i=1 a-cellens design följer direkt från ekvation (10). a-cell består av M -1 identiska subceller där varje subcell utför operationen pL-'aMJ + am plus en cell för beräkning av pó aMJ, där juxtaposition betyder modulo p-multiplikation och "+" modulo p- addition. Eftersom P är känd på förhand kan plf, i = 0, 1, 2, ..., m-l beräknas och matas in i UGM:en istället för pi. a-cellen göres programmerbar för operation över olika kroppar GF(p"'), 2 S m S M på samma sätt som vid p = 2 genom användande av brytare och vektom S. Den nya a-matrisen erhålles genom kaskadkoppling av M -1 a-celler. a-matrisen kopplas till IP-nätet som beräknar de nödvändiga skalärproduktema. IP-cellen modifieras för beräkning av skalärprodukten av två p- 466 822 nära vektorer av längd M. Kontrollvektorn V används som vid p = 2. Vi noterar slutligen att den binära representationen av elementen i GF(p) kräver I-logzp-I bits.Let P (x) be a monic (ie with the highest coefficient pM = 1) irreducible polynomial of degrees M over GF (p) which has a as root, P (oc) = 0. Then ad! = -OÉWJpMJ- - apl - po = dzw'lplí¿_l + + ap1 '+ pó (9) where pi' is the additive inverse of pi in GF (p). Equation (5) now becomes M1 M 2 xA (x) = x aMJ + x aM_2 + + x al + xa0 = = aM_1 ('xM-1pM_1' ... '' + u. + + M-1 g = p¿ aM_1 + 2 x '(pgajm + an) mod P (x). (io) i = 1 the design of the a-cell follows directly from equation (10) .a-cell consists of M -1 identical subcells where each subcell performs the operation pL -'aMJ + am plus a cell for calculating pó aMJ, where juxtaposition means modulo p-multiplication and "+" modulo p-addition. Since P is known in advance, plf, i = 0, 1, 2, ... , ml is calculated and fed into the UGM instead of the pi. a cell is made programmable for operation over different bodies GF (p "'), 2 S m SM in the same way as at p = 2 by using switch and vector S The new a-matrix is obtained by cascading M -1 a cells The a-matrix is connected to the IP network which calculates the necessary scalar products The IP cell is modified to calculate the scalar product of two p-466 822 near vectors of length M The control vector V is used as at p = 2. We finally note that the binary represents the elements of the elements in GF (p) require I-logzp-I bits.

T.ex. kräver elementen i GF(3) två bitar.For example. requires the elements in GF (3) two bits.

Claims (5)

466 822 w PATENTIÅEAV '466 822 w PATENTIÅEAV ' 1. Anordning för multiplikation av två element i en galoiskropp GF(p””), som genererar en produktvektor bestående av m p-nära komponenter, där m är ett heltal i intervallet [2, M] med M ett heltal större än 1, vart och ett av nämnda element i 5 GF(p'”) representeras av en vektor av m p-nära koefiïcienter enligt en polynomiell- 10 15 30 basrepresentation, k ä n n e t e c k n a d av a) första logiska kretsar (1) innefattande en kaskad av minst en a-cell (11) som beräknar, för det första av nämnda två elementen, de forsta m a- multiplama, varje a-multipel motsvarande produkten av ai och nämnda elementet för i = 0, 1, ..., m-l, där a är ett element i kroppen GF(pm) som uppfyller ekvationen P(x) = O for x = a, där P(x) är ett polynomial av gradtal m som är irreducibelt över kroppen GF(p); samt b) andra logiska kretsar (2) innefattande minst två IP-celler (21), där varje IP- cell simultant beräknar skalärprodukten av det andra elementet och varje p- när vektor vars komponenter gives av de j:te komponenterna i samtliga nämnda a-multiplarna för j = 0, 1, 2, ..., m-l, där varje av nämnda mi skalärprodukterna motsvarar en komponent i den resulterande produktvektorn; varvid c) nämnda a-cell (11) är anordnad att matas med M ingångssignaler och anordnad att generera M utgångssignaler, samt består av M -1 identiska delceller (111), där varje delcell består - i fallet p = 2 - av en modulo-p- adderare, en brytare (SW) och en multiplexor (MX), allesammans hopkopplade och styrda av erforderliga kontrollsignaler så att den j:te av nämnda delceller beräknar modulo-p summan av den j-1:a av nämnda ingångssignaler och modulo-p produkten av den m-1:a av nämnda ingångssignaler och den j:te koefficienten i nämnda polynom P(x), där j antar värdena 1 till m-l, medan den minst signifikanta, dvs 0:e, utgångssignalen ges av den m-1:a av nämnda ingångssignaler; samt d) flera av nämnda a-celler vid behov kaskadkopplas genom att en a-cells j:te utgång kopplas till den följande a-cellens j:te ingång; samt e) nämnda IP-cell är anordnad att matas med två M -dimensionella ingångssignalvektorer och anordnad att generera en utgångssignal, samt består, i fallet p = 2, av en uppsättning logiska OCH-grindar följd av en annan /l 466 822 uppsättning logiska exklusiv-ELLER-grindar, allesammans hopkopplade så att utgångssignalen representerar modulo-p skalärprodukten av nämnda ingångssignalvektorer.Device for multiplying two elements in a galley body GF (p ""), which generates a product vector consisting of m p-close components, where m is an integer in the range [2, M] with M an integer greater than 1, each of said elements in 5 GF (p '") is represented by a vector of m p-close coefficients according to a polynomial base representation, characterized by a) first logic circuits (1) comprising a cascade of at least an α-cell (11) which calculates, for the first of said two elements, the first m a-multiples, each α-multiple corresponding to the product of ai and said element for i = 0, 1, ..., ml, where a is an element in the body GF (pm) that satisfies the equation P (x) = O for x = a, where P (x) is a polynomial of degrees m that is irreducible over the body GF (p); and b) second logic circuits (2) comprising at least two IP cells (21), each IP cell simultaneously calculating the scalar product of the second element and each p- when vector whose components are given by the jth components of all said a the multiples of j = 0, 1, 2, ..., ml, where each of said scalar products corresponds to a component of the resulting product vector; wherein c) said a-cell (11) is arranged to be supplied with M input signals and arranged to generate M output signals, and consists of M -1 identical sub-cells (111), each sub-cell consisting - in the case p = 2 - of a modulo -p- adder, a switch (SW) and a multiplexer (MX), all interconnected and controlled by the required control signals so that the jth of said sub-cells calculates the modulo-p sum of the j-1st of said input signals and modulo -p the product of the m-1st of said input signals and the jth coefficient of said polynomial P (x), where j assumes the values 1 to ml, while the least significant, i.e. 0th, output signal is given by the m -1 of said input signals; and d) if one of said α-cells is cascaded, if necessary, by connecting the jth output of an α-cell to the j-th input of the following α-cell; and e) said IP cell is arranged to be supplied with two M -dimensional input signal vectors and arranged to generate an output signal, and consists, in the case of p = 2, of a set of logic AND gates followed by another / l 466 822 set of logic exclusive-OR gates, all interconnected so that the output signal represents the modulo-scalar product of said input signal vectors. 2. Anordningenligtkrav Lkännetecknadav, att 5 a) nämnda första logiska kretsar (1) innefattar medel fór ersättning av nämnda irreducibla polynomet med ett nytt irreducibelt polynom, varvid nämnda första logiska kretsar är programmerbara för operation över varje galoiskropp GF(pm ), 2 S m SM, inkluderande samtliga för varje sådan galoiskropp möjliga representationer, samt 10 b) medel för selektiv koppling av nämnda andra logiska kretsars (2) utgångar till logisk nolla.Device according to claim 1, characterized in that a) said first logic circuits (1) comprise means for replacing said irreducible polynomial with a new irreducible polynomial, said first logic circuits being programmable for operation over each galley body GF (pm), 2 S m SM, including all possible representations for each such galley body, and b) means for selectively coupling the outputs of said second logic circuits (2) to logic zero. 3. Anordning enligt krav 1 eller 2, k ä n n e t e c k n a d av, att var och ett av de pm elementen i GF(pm) representeras av en vektor bestående av m p-nära komponenter enligt en polynomiell-basrepresentation A = ao + ala + + am_2o1"'2 + 15 am_1a'"'1, där A är ett element i GF(p'" ), ao, al, ..., am_2, am_lär de p-nära komponenter iA, och a är ett element i GF(p'") som uppfyller ekvationen P(x.) = 0 fór x = a, där P(x) är ett polynom av gradtal m irreducibelt över kroppen GF(p).Device according to claim 1 or 2, characterized in that each of the pm elements in GF (pm) is represented by a vector consisting of m p-close components according to a polynomial-base representation A = ao + ala + + am_2o1 "'2 + 15 am_1a'" '1, where A is an element in GF (p' "), ao, a1, ..., am_2, am_learns the p-near components iA, and a is an element in GF (p '") which satisfies the equation P (x.) = 0 for x = a, where P (x) is a polynomial of degrees m irreducible over the body GF (p). 4. Anordning enligt krav 2 eller 3, k ä n n e t e c kn a d av, att: a) de oanvända ingångarna av nämnda första logiska kretsar (1) sättes till 2 0 logisk nolla; samt att b) de oanvända ingångarna och utgångarna av nämnda andra logiska kretsar (2) sättes till logisk nolla.Device according to claim 2 or 3, characterized in that: a) the unused inputs of said first logic circuits (1) are set to logic zero; and that b) the unused inputs and outputs of said second logic circuits (2) are set to logic zero. 5. Anordningenligtkrav1,2,3eller4,kännetecknadav,attp=2.Device according to claim 1,2,3 or 4, characterized by, attp = 2.
SE9002124A 1990-06-15 1990-06-15 DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY SE466822B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
SE9002124A SE466822B (en) 1990-06-15 1990-06-15 DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY
AU80765/91A AU8076591A (en) 1990-06-15 1991-05-31 Universal galois field multiplier
PCT/SE1991/000384 WO1991020028A1 (en) 1990-06-15 1991-05-31 Universal galois field multiplier

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
SE9002124D0 SE9002124D0 (en) 1990-06-15
SE9002124L SE9002124L (en) 1991-12-16
SE466822B true SE466822B (en) 1992-04-06

Family

ID=20379773

Family Applications (1)

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

Country Status (3)

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

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768168A (en) * 1996-05-30 1998-06-16 Lg Semicon Co., Ltd. Universal galois field multiplier
GB9622539D0 (en) * 1996-10-30 1997-01-08 Discovision Ass Galois field multiplier for reed-solomon decoder
GB9627069D0 (en) * 1996-12-30 1997-02-19 Certicom Corp A method and apparatus for finite field multiplication
JP3833412B2 (en) 1999-04-09 2006-10-11 富士通株式会社 Expression data generation apparatus and method in 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

Family Cites Families (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
JPH0680491B2 (en) * 1983-12-30 1994-10-12 ソニー株式会社 Finite field arithmetic circuit

Also Published As

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

Similar Documents

Publication Publication Date Title
US6049815A (en) Method and apparatus for finite field multiplication
Jenkins The design of error checkers for self-checking residue number arithmetic
Kebschull et al. Efficient graph-based computation and manipulation of functional decision diagrams
KR950015182B1 (en) Galois field multiplying circuit
KR100953884B1 (en) Raid system and galois field product computation method
JPH02242425A (en) Programable logic unit and signal processor
WO2010034326A1 (en) State machine and generator for generating a description of a state machine feedback function
JP3532860B2 (en) Arithmetic device, method, and program using remainder representation
SE466822B (en) DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY
Swartzlander A review of large parallel counter designs
Friedland Linear modular sequential circuits
US20010054053A1 (en) Method and apparatus for finite field multiplication
US20090077145A1 (en) Reconfigurable arithmetic unit
US7296049B2 (en) Fast multiplication circuits
US5008849A (en) Apparatus adding values represented as residues in modulo arithmetic
Sultana et al. Reversible implementation of square-root circuit
Dormido et al. Synthesis of generalized parallel counters
JPH0682395B2 (en) Bit mask generation circuit
Pavlatos et al. Logic design using modules and nonlinear integer programming
US20090077153A1 (en) Reconfigurable arithmetic unit
Mandelbaum A method for calculation of the square root using combinatorial logic
RU2823911C1 (en) Pipeline adder-accumulator by arbitrary modules
US6560625B1 (en) Fast digital adder
Woods et al. Programmable high-performance IIR filter chip
Stanković et al. From Fourier expansions to arithmetic-Haar expressions on quaternion groups

Legal Events

Date Code Title Description
NAL Patent in force

Ref document number: 9002124-7

Format of ref document f/p: F

NUG Patent has lapsed
NUG Patent has lapsed