METHOD FOR SPEEDING UP THE COMPUTATIONS FOR CHARACTERISTIC 2 ELLIPTIC CURVE CRYPTOGRAPHIC SYSTEMS
First Claim
1. A method in an elliptic curve cryptographic system comprising:
- computing a plurality of coefficients of a polynomial representing a carry-less product of two input operands according to a graph-based single iteration multiplication routine that is computed according to an input operand length to reduce an amount of multiplications required to compute the carry-less product of the two input operands;
reducing the carry-less product modulo a programmable polynomial that defines the elliptic curve cryptographic system by performing division using two multiplications.
1 Assignment
0 Petitions
Accused Products
Abstract
In some embodiments, an apparatus and method for speeding up the computations for characteristic 2 elliptic curve cryptographic systems are described. In one embodiment, a multiplication routine may be pre-computed using a one iteration graph-based multiplication according to an input operand length. Once pre-computed, the multiplication routine may be followed to compute the products of the coefficients of the polynomials representing a carry-less product of two input operands using a carry-less multiplication instruction. In one embodiment, the pre-computed multiplication routines may be used to extend a carry-less multiplication instruction available from an architecture according to an input operand length of the two input operands. Once computed, the carry-less product polynomial produces a remainder when the product is computed modulo a programmable polynomial that defines the elliptic cryptographic system to form a cryptographic key. Other embodiments are described and claimed.
43 Citations
25 Claims
-
1. A method in an elliptic curve cryptographic system comprising:
-
computing a plurality of coefficients of a polynomial representing a carry-less product of two input operands according to a graph-based single iteration multiplication routine that is computed according to an input operand length to reduce an amount of multiplications required to compute the carry-less product of the two input operands; reducing the carry-less product modulo a programmable polynomial that defines the elliptic curve cryptographic system by performing division using two multiplications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An article of manufacture including a machine readable storage medium having instructions encoded thereon which may be used to program an elliptic curve cryptographic system to perform a method, comprising:
-
pre-computing a multiplication routine using a one iteration graph-based multiplication according to an input operand length, the multiplication routine to reduce an amount multiplications required to compute a plurality of coefficients for a polynomial representing a product of two input operands; computing, according to the pre-computed multiplication routine, products of the coefficients of the polynomial representing the product of the two input operands using a carry-less multiplication instruction available from the system to extend the carry-less multiplication instruction according to the input operand length without recursion; and computing a remainder of the carry-less product polynomial modulo a programmable polynomial that defines the elliptic curve cryptographic system to form a cryptographic key. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. An elliptic curve cryptograph apparatus comprising:
a computer coupled to a memory, the computer to execute an cryptographic program in the memory, the cryptographic program including a multiplication portion to perform multiplication of input operands, the multiplication portion includes graph based functions to generate a plurality of coefficients of a polynomial representing a carry-less product of two input operands returned from the multiplication portion and a reduction portion to reduce the carry-less product polynomial modulo a programmable polynomial that defines the elliptic curve cryptographic apparatus by performing division using two multiplications. - View Dependent Claims (17, 18, 19)
-
20. An elliptic curve cryptograph system comprising:
-
a first device coupled to a first memory, the first device to execute an encryption program in the first memory, the encryption program including a multiplication portion to perform multiplication of input operands, the multiplication portion includes a plurality of graph based functions to generate a plurality of coefficients of a polynomial representing a carry-less product of two input operands returned from the multiplication portion and a reduction portion to reduce the carry-less product modulo a programmable polynomial that defines the elliptic curve cryptographic system by performing division using two multiplications to generate a first key and a second key; a second device coupled to a second memory, the second device to execute the encryption program in the second memory, wherein the first device and the second device transfer encrypted data to one another over a network. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification