US2001056452A1PendingUtilityA1

Efficient finite field basis conversion involving a dual basis

Priority: Nov 18, 1997Filed: Jul 31, 2001Published: Dec 27, 2001
Est. expiryNov 18, 2017(expired)· nominal 20-yr term from priority
G06F 7/724
40
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The invention provides apparatus and methods for use in basis conversion involving a dual basis, such as a dual of a polynomial basis or dual of a normal basis. The invention in an illustrative embodiment includes basis generators for generating elements of a dual of a polynomial or a normal basis of a finite field GF(q m ), where q is a prime number or power of a prime number and m is an integer greater than or equal to 2. The basis generators can be used in “import” basis conversion, such as converting a representation in an external basis to a representation in an internal dual of a polynomial basis or dual of a normal basis, as part of a generate-accumulate algorithm, or in “export” basis conversion, such as converting a representation in an internal dual of a polynomial basis or dual of a normal basis to a representation in an external basis, as part of a generate-evaluate algorithm. The invention also includes basis shifters which generate a shifted version of a representation in an internal polynomial or normal basis. The basis shifters may be used in import basis conversion as part of a shift-insert algorithm, or in export basis conversion as part of a shift-extract algorithm. The basis shifters may also be used to provide alternative shift-based basis generators. The basis conversion techniques of the invention significantly increase the storage and computational efficiency of dual basis operations in cryptographic systems and other applications.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . An apparatus for determining elements in a dual of a polynomial basis for a finite field, the apparatus comprising: 
 a coefficient generator which generates a coefficient in the polynomial basis;    a multiplier for multiplying a first value by a function of a generator of the polynomial basis; and    a subtractor for subtracting a function of the coefficient from one of an output of the multiplier and an input value, such that an output of one of the subtractor and the multiplier corresponds to a second value which is used to provide a shifted version of the input value in the dual of the polynomial basis.    
     
     
         2 . The apparatus of    claim 1    wherein the first value corresponds to the input value, the output of the multiplier is applied to an input of the subtractor and to an input of the coefficient generator, such that the subtractor subtracts the function of the coefficient from the output of the multiplier, the output of the subtractor corresponds to the second value, and the coefficient generator utilizes the output of the multiplier to generate the coefficient.  
     
     
         3 . The apparatus of    claim 1    wherein the first value corresponds to the input value, the output of the multiplier is applied to an input of the subtractor, such that the subtractor subtracts the function of the coefficient from the output of the multiplier, the output of the subtractor corresponds to the second value, and the coefficient generator utilizes the input value to generate the coefficient.  
     
     
         4 . The apparatus of    claim 1    wherein the first value corresponds to an output of the subtractor, the coefficient generator utilizes the input value to generate the coefficient, the subtractor subtracts the function of the coefficient from the input value, the output of the subtractor is applied to an input of the multiplier, and the output of the multiplier corresponds to the second value.  
     
     
         5 . The apparatus of    claim 1    wherein the operations of the coefficient generator, multiplier and subtractor are repeated to provide additional shifted versions of the input value in the dual of the polynomial basis, and wherein the shifted versions of the input value are used to generate elements of the dual of the polynomial basis.  
     
     
         6 . The apparatus of    claim 1    further including a looping mechanism operative to repeat the operations of the coefficient generator, multiplier and subtractor so as to generate a plurality of shifted versions of elements in the dual of the polynomial basis, wherein each non-initial iteration of the loop starts with the input value set to the second value generated in the previous iteration of the loop.  
     
     
         7 . The apparatus of    claim 1    wherein the input value initially corresponds to an identity element and the dual of the polynomial basis is a canonical polynomial basis.  
     
     
         8 . The apparatus of    claim 1    further including an additional multiplier for multiplying the second value by a scaling factor to generate a shifted version of an element in the dual of the polynomial basis.  
     
     
         9 . The apparatus of    claim 8    wherein the scaling factor corresponds to a linear function.  
     
     
         10 . The apparatus of    claim 1    wherein the coefficient generator generates the coefficient using a coefficient extractor which determines a coefficient of a representation of an element in the polynomial basis.  
     
     
         11 . The apparatus of    claim 1    wherein the coefficient generator generates the coefficient using an additional multiplier in conjunction with a coefficient selector.  
     
     
         12 . The apparatus of    claim 1    wherein the coefficient generated by the coefficient generator is computed as a function of V 0 , where V 0  is an element such that (A×V 0 ) [0]=h 0 (A) in the polynomial basis, and where h 0 (A) is a function whose output is a coefficient of A when A is represented in the polynomial basis.  
     
     
         13 . The apparatus of    claim 12    wherein the coefficient generated by the coefficient generator is of the form (W×V 0 )[0].  
     
     
         14 . The apparatus of    claim 1    wherein the multiplier multiplies the first value by a function YH, where Y is the inverse of a scaling factor and H is the inverse of the polynomial basis generator.  
     
     
         15 . The apparatus of    claim 1    wherein the multiplier multiplies the first value by a function H, where H is the inverse of the polynomial basis generator.  
     
     
         16 . The apparatus of    claim 12    wherein the coefficient generated by the coefficient generator is computed as a function of V 0 YH, where Y is the inverse of a scaling factor and H is the inverse of the polynomial basis generator.  
     
     
         17 . The apparatus of    claim 1    wherein at least a subset of the coefficient generator, multiplier and subtractor are implemented in a processor which is operative to convert a representation in an external dual of a polynomial basis to a representation in an internal basis using a generate-accumulate algorithm.  
     
     
         18 . The apparatus of    claim 1    wherein at least a subset of the coefficient generator, multiplier and subtractor are implemented in a processor which is operative to convert a representation in an internal basis to a representation in an external polynomial basis using a generate-evaluate algorithm which generates a dual of the polynomial basis.  
     
     
         19 . The apparatus of    claim 1    wherein at least a subset of the coefficient generator, multiplier and subtractor are implemented in a processor which is operative to convert a representation in an external dual of a polynomial basis to a representation in an internal basis using a shift-insert algorithm.  
     
     
         20 . The apparatus of    claim 1    wherein at least a subset of the coefficient generator, multiplier and subtractor are implemented in a processor which is operative to convert a representation in an internal basis to a representation in an external dual of a polynomial basis using a shift-extract algorithm.  
     
     
         21 . An apparatus for determining elements in a dual of a normal basis for a finite field, the apparatus comprising: 
 an exponentiator; and    a multiplier which is operative to multiply one of an input value and an output of the exponentiator by a function of a generator of the dual basis, wherein the multiplier and exponentiator are configured to operate such that one of the multiplier and exponentiator generates an output value corresponding to a shifted version of the input value in the dual of the normal basis.    
     
     
         22 . The apparatus of    claim 21    wherein the function of a generator of the dual basis is also a function of a scaling value.  
     
     
         23 . The apparatus of    claim 21    wherein the multiplier multiplies the input value by a function of the generator of the dual basis, and the exponentiator raises an output of the multiplier to a power to generate the output value.  
     
     
         24 . The apparatus of    claim 21    wherein the exponentiator computes a value representing the input value raised to a power, and the multiplier generates the output value as a product of the value computed by the exponentiator multiplied by a function of the generator.  
     
     
         25 . The apparatus of    claim 21    wherein the operations of the exponentiator and multiplier are repeated to provide additional output values corresponding to shifted versions of the input value in the dual of the normal basis, and wherein the output values are used to generate elements of the dual of the normal basis.  
     
     
         26 . The apparatus of    claim 21    further including a looping mechanism operative to repeat the operations of the exponentiator and multiplier so as to generate a plurality of shifted versions of elements in the dual of the normal basis, wherein each non-initial iteration of the loop starts with the input value set to the output value generated in the previous iteration of the loop.  
     
     
         27 . The apparatus of    claim 21    wherein the input value initially corresponds to an identity element and the dual of the normal basis is a canonical normal basis.  
     
     
         28 . The apparatus of    claim 21    an initial value of the input value corresponds to a scaling factor.  
     
     
         29 . The apparatus of    claim 28    wherein the scaling factor corresponds to a linear function.  
     
     
         30 . The apparatus of    claim 21    wherein the multiplier multiplies one of the input value and the output value by a function SZ 1−q  where S is a generator of the dual of the normal basis, Z is a scaling factor and q is a prime or a power of a prime.  
     
     
         31 . The apparatus of    claim 21    wherein the multiplier multiplies one of the input value and the output value by a function SZ, where S is a generator of the dual of the normal basis, and Z is a scaling factor.  
     
     
         32 . The apparatus of    claim 21    wherein the multiplier multiplies one of the input value and the output value by a qth root of SZ 1−q  where S is a generator of the dual of the normal basis, Z is a scaling factor and q is a prime or a power of a prime.  
     
     
         33 . The apparatus of    claim 21    further including an additional multiplier for multiplying one of the input value and the output value by a function of a scaling factor.  
     
     
         34 . The apparatus of    claim 21    wherein at least one of the exponentiator and multiplier are implemented in a processor which is operative to convert a representation in an external dual of a normal basis to a representation in an internal basis using a generate-accumulate algorithm.  
     
     
         35 . The apparatus of    claim 21    wherein at least one of the exponentiator and multiplier are implemented in a processor which is operative to convert a representation in an internal basis to a representation in an external normal basis using a generate-evaluate algorithm which generates a dual of the normal basis.  
     
     
         36 . The apparatus of    claim 21    wherein at least one of the exponentiator and multiplier are implemented in a processor which is operative to convert a representation in an external dual of a normal basis to a representation in an internal basis using a shift-insert algorithm.  
     
     
         37 . The apparatus of    claim 21    wherein at least one of the exponentiator and multiplier are implemented in a processor which is operative to convert a representation in an internal basis to a representation in an external dual of a normal basis using a shift-extract algorithm.  
     
     
         38 . An apparatus for determining elements of a dual of a normal basis for a finite field, the apparatus comprising: 
 an exponentiator which raises an input value to a power, wherein the output of the exponentiator is applied to its input such that the exponentiator repeats the raising to a power operation a designated number of times; and    a multiplier which is operative to multiply an output of the exponentiator, generated after the designated number of repetitions, by a scaling factor which is a function of a (q−1) st  root of S, where S is a generator of the normal basis and q is a prime or a power of a prime, such that an output of the multiplier corresponds to an element of the dual of the normal basis.    
     
     
         39 . The apparatus of    claim 38    wherein an initial value of the input value corresponds to a (q−1) st  root of S.  
     
     
         40 . The apparatus of    claim 38    wherein the operations of the exponentiator and multiplier are repeated to generate additional elements of the dual of the normal basis.  
     
     
         41 . An apparatus for determining elements of a dual of a normal basis for a finite field, the apparatus comprising: 
 an exponentiator which raises an input value to a power, wherein the output of the exponentiator is applied to its input such that the exponentiator repeats the raising to a power operation a designated number of times; and    a multiplier which is operative to multiply an output of the exponentiator, generated after the designated number of repetitions, by one of an initial value and a previously-generated output of the multiplier, such that a current output of the multiplier corresponds to an element of the dual of the normal basis.    
     
     
         42 . The apparatus of    claim 41    wherein the operations of the exponentiator and multiplier are repeated to generate additional elements of the dual of the normal basis.  
     
     
         43 . The apparatus of    claim 41    wherein the input value is initially set to a function of a generator of the dual basis.  
     
     
         44 . The apparatus of    claim 41    wherein the input value initially corresponds to an identity element.  
     
     
         45 . The apparatus of    claim 41    wherein the initial value corresponds to a scaling factor.  
     
     
         46 . The apparatus of    claim 41    wherein the initial value corresponds to an identity element.  
     
     
         47 . A method of determining elements in a dual of a polynomial basis for a finite field, the method comprising the steps of: 
 generating a signal corresponding to a coefficient in the polynomial basis in a coefficient generator;    multiplying a signal corresponding to a first value by a function of a generator of the polynomial basis in a multiplier; and    subtracting a function of the signal corresponding to the coefficient from one of an output of the multiplier and an input value in a subtractor, such that an output of one of the subtractor and the multiplier is used to provide a shifted version of the input value in the dual of the polynomial basis.    
     
     
         48 . A method for determining elements in a dual of a normal basis for a finite field, the method comprising: 
 multiplying one of a signal corresponding to an input value and an output of an exponentiator by a function of a generator of the dual basis in a multiplier, wherein the multiplier and exponentiator are configured to operate such that one of the multiplier and exponentiator generates an output value corresponding to a shifted version of the input value in the dual of the normal basis.    
     
     
         49 . A method for determining elements of a dual of a normal basis for a finite field, the method comprising: 
 raising a signal corresponding to an input value to a power in an exponentiator, wherein the output of the exponentiator is applied to its input such that the exponentiator repeats the raising to a power operation a designated number of times; and    multiplying an output of the exponentiator, generated after the designated number of repetitions, in a multiplier by a scaling factor which is a function of a (q−1) st  root of S, where S is a generator of the normal basis and q is a prime or a power of a prime, such that an output of the multiplier corresponds to an element of the dual of the normal basis.    
     
     
         50 . A method for determining elements of a dual of a normal basis for a finite field, the method comprising: 
 raising a signal corresponding to an input value to a power in an exponentiator, wherein the output of the exponentiator is applied to its input such that the exponentiator repeats the raising to a power operation a designated number of times; and    multiplying an output of the exponentiator, generated after the designated number of repetitions, in a multiplier by one of an initial value and a previously-generated output of the multiplier, such that a current output of the multiplier corresponds to an element of the dual of the normal basis.

Join the waitlist — get patent alerts

Track US2001056452A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.