Claims
- 1. A method for performing an inversion operation in a finite field, at least one buffer and a converter implemented via at least one of hardware and instructions stored on machine-readable media, the method comprising the steps:storing a first operand having an optimal normal basis (ONB) format in a buffer; using the converter to process the format of the operand and convert the format to an alternative representation format; and generating a result having the alternative representation formal by computing the inverse of the first operand and storing the result in a buffer.
- 2. The method of claim 1, wherein:the finite field is defined as GF(2n); and the first operand is defined as a vector of n binary elements of the finite field GF(2), such that the first operand has the ONB format (an−1, an−2, . . . , a1, a0); and there is a prime p=2n+1, where p satisfies one of the following conditions: (i) the multiplicative order of 2 modulo p is 2n, or (ii) p≡(3 modulo 4) and the multiplicative order of 2 modulo p is n; there is a one-to-one function π: {0, 1, 2, . . . , n−1}→{1, 2, 3, . . . , n} defined over 0≦i≦n−1, where j=2i mod p, and if 0<j≦n, then π(i)=j, else π(i)=p−j; and there is an inverse function σ: {1, 2, 3, . . . , n}→{0, 1, 2, . . . , n−1} defined such that σ(j)=i whenever π(i)=j; and wherein the step of permuting the format of the first operand from ONB to an alternative representation format includes permuting the first operand to the alternative format (b1, b2, . . . , bn, bn, . . . , b2, b1) by setting (b1, b2, . . . , bn)=(aσ(1), aσ(2), . . . , aσ(n)).
- 3. The method of claim 2, including the step of permuting the result from the alternative format (c1, c2, . . . , cn, cn, . . . , c2, c1) to the ONB format (dn−1, dn−2, . . . , d1, d0) by setting (dn−1, dn−2, . . . , d1, d0)=(cπ(n−1), cπ(n−2), cπ(1), cπ(0)), respectively.
- 4. The method of claim 1, wherein the converter is a palindromic converter and wherein:using the converter to process the format of the operand includes manipulating bit positions of the operand to thereby convert the operand from a ONB format to palindromic format.
- 5. An apparatus for performing an arithmetic operation in a finite field, the apparatus comprising:a first buffer configured to receive and store a first input operand having a first representation format; a first format converter configured to convert the first input operand to a first converted operand having a second representation format; a second buffer configured to receive and store the first converted operand; a functional unit configured to receive the first converted operand from the second buffer and perform the arithmetic operation on the first converted operand in order to generate a first result having the second representation format; a third buffer configured to receive and store the first result; a second format converter configured to convert the first to a second result having the first representation format; and a fourth buffer configured to receive and store the second result.
- 6. The apparatus of claim 5, wherein:the finite field is a Galois field defined as GF(2n) and: there exists a prime p=2n+1, where p satisfies one of the following conditions: (i) the multiplicative order of 2 modulo p is 2n, or (ii) p≡(3 modulo 4) and the multiplicative order of 2 modulo p is n; there is a one-to-one function π: {0, 1, 2, . . . , n−1}→{1, 2, 3, . . . , n} defined over 0≦i≦n−1, where j=2i mod p, and if 0<j≦n, then π(i)=j, else π(i)=p−j; and there is an inverse function σ: {1, 2, 3, . . . , n}→{0, 1, 2, . . . , n−1} defined such that σ(j)=i whenever π(i)=j; and the first buffer includes positions (an−1, an−2, . . . , a1, a0); the second buffer includes positions (b1, b2, . . . , bn); and the first format converter further comprises a network of connections between the first and second buffers, wherein an inter-connection pattern of the first format converter is (b1, b2, . . . , bn) of the second buffer coupled to (aσ(1), aσ(2), . . . , aσ(n)) of the first buffer, respectively.
- 7. The apparatus of claim 6, wherein:the third buffer includes positions (c1, c2, . . . , cn); the fourth buffer includes positions (dn−1, dn−2, . . . , d1, d0); and the second format converter further comprises a network of connections between the third and fourth buffers, wherein an inter-connection pattern of the second format converter is (dn−1, dn−2, . . . , d1, d0) coupled to (cπ(n−1), cπ(n−2), . . . , cπ(1), cπ(0)), respectively.
- 8. The apparatus of claim 7, wherein:the first representation format in ONB; the second representation format is palindromic; and the functional unit is a polynomial inverter.
- 9. The apparatus of claim 7, further including:a fifth buffer configured to receive and store a second input operand having the first representation format; a third format converter configured to convert the second input operand into a second converted operand having the second representation format; and a sixth buffer configured to receive and store the second converted operand; wherein the functional unit is further configured to perform the arithmetic operation on both the first and second converted operands in order to obtain the first result.
- 10. The apparatus of claim 9, wherein:the fifth buffer includes positions (en−1, en−2, . . . , e1, e0); the sixth buffer includes positions (f1, f2, . . . , fn); and the third format converter further comprises a network of connections between the fifth and sixth buffers, wherein an inter-connection pattern of the third format converter is (f1, f2, . . . , fn) of the sixth buffer coupled to (eσ(1), eσ(2), . . . , eσ(n)) of the fifth buffer, respectively.
Parent Case Info
This application is a continuation of Ser. No. 09/104,894 filed on Jun. 25, 1998 now U.S. Pat. No. 6,199,087.
US Referenced Citations (6)
Continuations (1)
|
Number |
Date |
Country |
Parent |
09/104894 |
Jun 1998 |
US |
Child |
09/751438 |
|
US |