Elliptic curve encryption systems
First Claim
1. In a data encryption system in which the data is combined with an encryption key to produce ciphertext, a method of generating a key comprising the steps ofa) selecting an elliptic curve of the form y2 +xy=x3 +ax2 +b lying in the finite field GF2m, said field being selected to have elements A2.spsp.i (o≦
- i≦
m) that constitute a normal basis,b) representing the coordinates of a point on said curve as a set of vectors, each vector representing a coordinate of said point and having m binary digits, each of which represents the coefficient of A2.spsp.i in the normal basis representation of said vector,c) computing from addition of at least two sets of vectors an additional set of vectors to represent the coordinates of further point on said curve, andd) utilising said additional set of vectors to derive a key for encrypting data.
4 Assignments
0 Petitions
Accused Products
Abstract
An elliptic curve encryption system represents coordinates of a point on the curve as a vector of binary digits in a normal basis representation in F2.spsb.m. A key is generated from multiple additions of one or more points in a finite field. Inverses of values are computed using a finite field multiplier and successive exponentiations. A key is represented as the coordinates of a point on the curve and key transfer may be accomplished with the transmission of only one coordinate and identifying information of the second. An encryption protocol using one of the coordinates and a further function of that coordinate is also described.
-
Citations
52 Claims
-
1. In a data encryption system in which the data is combined with an encryption key to produce ciphertext, a method of generating a key comprising the steps of
a) selecting an elliptic curve of the form y2 +xy=x3 +ax2 +b lying in the finite field GF2m, said field being selected to have elements A2.spsp.i (o≦ - i≦
m) that constitute a normal basis,b) representing the coordinates of a point on said curve as a set of vectors, each vector representing a coordinate of said point and having m binary digits, each of which represents the coefficient of A2.spsp.i in the normal basis representation of said vector, c) computing from addition of at least two sets of vectors an additional set of vectors to represent the coordinates of further point on said curve, and d) utilising said additional set of vectors to derive a key for encrypting data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
- i≦
- 29. A method of transferring the coordinates of a point on an algebraic curve defined by a function of two variables between a pair of correspondents connected by a data communications link comprising the steps of forwarding from one correspondent to another a coordinate of said point, providing at said other correspondent parameters of said algebraic curve, and computing at said other correspondent said other coordinate from said one coordinate and said algebraic curve.
- 42. A method of encrypting a message m using a public key cryptographic system and having a private key formed from a bit string representative of a coordinate (x, y) of a point p on an elliptic curve, said method comprising the steps of representing said message m as a pair of message bit strings m1 m2 of length corresponding to the bit strings representing the coordinates x,y, and combining said message bit strings with an enciphering bit string derived from at least one of said coordinates to generate a ciphertext c of said message.
Specification