Table matching for multiplication of elements in Galois Field

Electrical computers: arithmetic processing and calculating – Electrical digital calculating computer – Particular function performed

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06457035

ABSTRACT:

BACKGROUND OF THE INVENTION
This application incorporates by reference Taiwanese application Ser. No. 88106873, Filed Apr. 4, 1999.
1. Field of the Invention
The invention relates in general to a table matching method for multiplication of elements in Galois Field, and more particularly to a method which can effectively obtain the product of elements in Galois Field by using a table formed in the computer hardware.
2. Description of the Related Art
Conventionally, binary scales are utilized to store and read data in a computer. An 8-bit byte is taken as an example. The byte “00000000” represents the value 0, the byte “00000001” represents the value 1, and similarly, the byte “11111111” represents the value 255. Herein, the symbol F{2{circumflex over ( )}8} is used to represent the 8-bit binary field. In the field F{2{circumflex over ( )}8}, every element represents a byte which corresponds to a value in [0,255] respectively. Moreover, the 8-bit Galois Field is denoted by GF{2{circumflex over ( )}8}. Every byte in the field GF{2{circumflex over ( )}8} can be represented by a value in {0, &agr;, &agr;{circumflex over ( )}2, . . . , &agr;{circumflex over ( )}255}, respectively, wherein &agr; is “00000010”.
There are many well known methods or apparatuses taking use the characteristics of the Galois Field. For example, U.S. Pat. No. 5,694,407 deals with the calculation of error-detecting code in the intermediate network; and U.S. Pat. No. 4,994,995 discloses a method and apparatus for computing the result of the division of two finite elements in a Galois Field.
The multiplication operation, denoted by “*” of any byte A (b
7
,b
6
,b
5
,b
4
,b
3
,b
2
,b
1
,b
0
) in GF{2{circumflex over ( )}8} and &agr; conventionally follows two steps. First, every bit b
i
(i=0~7) of the byte A should be first left-shifted for one bit. Then, according to the Equation (1), the product of A* &agr; can be obtained.
A*&agr;=
(
b
6
,b
5
,b
4
,b
3
,b
2
,b
1
,b
O
, 0)⊕(0,0,0,
b
7
,b
7
,b
7
,0,
b
7
)   (1)
While any byte A (b
7
, b
6
, b
5
, b
4
,b
3
, b
2
, b
1
, b
0
) in GF{2{circumflex over ( )}8} is to be multiplied by &agr;, the multiplication, denoted by “*” is performed as follows: every bit b
i
(i=0~7) in the byte A should be first left-shifted for one bit, and then according to the Equation (1), the value of A* &agr; can be obtained.
The operator “⊕” in the Equation (1) is an Exclusive OR (XOR) logic operator. The result of the above-mentioned multiplication can be obtained, basing on the equation &agr;{circumflex over ( )}8=&agr;{circumflex over ( )}4⊕&agr;{circumflex over ( )}3⊕&agr;{circumflex over ( )}2⊕&agr;{circumflex over ( )}0. Consequently, it is to be understood that &agr;{circumflex over ( )}2 is “00000100”, . . . , &agr;{circumflex over ( )}7 is “10000000”, and &agr;{circumflex over ( )}8 is “00001101”.
When the most significant bit (MSB), b
7
, of the byte A is “1”, according to the Equation (1), the value of A* &agr; is the result of (b
6
,b
5
,b
4
,b
3
,b
2
,b
1
,b
0
,0) ⊕ (0,0,0,0,1,1,0,1). Thus, &agr;{circumflex over ( )}9 is “00111010”, . . . , &agr;{circumflex over ( )}12 is “11001101”, &agr;{circumflex over ( )}13 is “10000111”, . . . , and accordingly, &agr;{circumflex over ( )}255 is “00000001”. The operation including the steps of left shifting every bit for one bit and utilizing the XOR logic operation is called “shift operation.”
It is demonstrated that each of the 255 values, &agr;, &agr;{circumflex over ( )}2, . . . , &agr;{circumflex over ( )}255, corresponds to each byte in [1,255], respectively. The one-to-one relationship between the byte value A and the corresponding exponential number n (A=&agr;{circumflex over ( )}n) is shown in Table 1.
TABLE 1
Exponential number
Byte value A
k
1
255
2
1
3
25
.
.
.
.
.
.
254
88
255
175
Conventionally, the multiplication product of the two elements A, B in GF{2{circumflex over ( )}8} is obtained by first expressing the multiplier B(B≠0) in the form of &agr;{circumflex over ( )}k (k=1~255). Time for finding the value k is assumed to be T. To obtain the product of A*B, the multiplicand A should be multiplied by &agr; for k times and each time the shift operation mentioned above has to be performed once. Therefore, to multiply A by &agr; for n times needs the shift operation to be applied for n times. This shift operation takes about one period T. While the value of k is large, such as 250, the shift operation has to be performed for 250 times, which takes at long as 250*T. Therefore, the time-consuming is highly increased.
SUMMARY OF THE INVENTION
It is therefore an object of the invention to provide a table matching method for the multiplication of elements in Galois Field. By utilizing a matching table of the byte values and the corresponding exponential numbers, the corresponding exponential numbers of the multiplicand and the multiplier are looked up respectively. Next, these two exponents are added up. Then, the corresponding byte value of the sum is look up from the table to quickly obtain the result of the multiplication.
In order to accomplish the object of the invention, a table matching method for the multiplication of elements in Galois Field is provided. The process includes at least the following steps. At first, a table between the byte value in [1,255] and the corresponding exponent in formed. These byte values 1~255 are set to be the addresses 1~255 in the computer hardware. Moreover, the corresponding exponents are stored in the hardware according to the addresses 1~255. Likewise, in the same table, the exponents 256~510 of the byte &agr; are set to be the addresses 256~510, and their corresponding byte values &agr;=&agr;
256
,&agr;
2
=&agr;
257
, . . . &agr;
255
=&agr;
510
are stored in the addresses 256~510. When the multiplication operation between two elements in the Galois Field is operated, the corresponding exponents of the two elements are found out respectively. After the two exponents are added up, the corresponding byte value of the sum is obtained from the table. Therefore, the result of the multiplication can be obtained very quickly.


REFERENCES:
patent: 4994995 (1991-02-01), Anderson et al.
patent: 5499299 (1996-03-01), Takenaka et al.
patent: 5694407 (1997-12-01), Glaise
patent: 5793659 (1998-08-01), Chen et al.
patent: 6026420 (2000-02-01), DesJardins et al.
patent: 6029186 (2000-02-01), DesJardins et al.
patent: 6128760 (2000-10-01), Poeppleman et al.
patent: 6219815 (2001-04-01), DesJardins et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Table matching for multiplication of elements in Galois Field does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Table matching for multiplication of elements in Galois Field, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Table matching for multiplication of elements in Galois Field will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2834447

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.