A public key encryption system exchanges information between a pair of correspondents. The recipient performs computations on the received data to recover the transmitted data or verify the identity of the sender. The data transferred includes supplementary information that relates to intermediate steps in the computations performed by the recipient.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of transferring data over a communication channel between a pair of correspondents who perform public key cryptographic operations by implementing respective ones of a pair of complementary mathematical operations utilizing a public key and a private key of one of said correspondents upon information transferred between said correspondents, said method comprising the steps of: a) assembling at one of said correspondents a data string including information to be transferred to the other of said correspondents; b) performing at said one correspondent one of said complementary mathematical operations upon at least a portion of said data string to provide a cryptographic component to said data string; c) incorporating in said data string additional information supplementary to that necessary for said other correspondent to perform said complementary mathematical operation of said public key cryptographic operation and relating to the computation of intermediate steps involved in the performance of said complementary mathematical operation; d) forwarding said data string over said communication channel to said other correspondent; and e) performing the other of said complementary mathematical operations of said public key cryptographic operation at said other correspondent with said additional information being available to facilitate the computation of intermediate steps involved in said complementary mathematical operation of said public key cryptographic operation.
2. A method according to claim 1 wherein said one complementary mathematical operation utilizes a public key of said other correspondent to provide a digital signature of at least said portion of said data string.
3. A method according to claim 1 wherein said complementary mathematical operations utilize characteristics of the group of points on an elliptic curve over a finite field.
4. A method according to claim 3 wherein said additional information includes data pertaining to coordinates of points on said curve.
5. A method according to claim 4 wherein said additional information includes data pertaining to coordinates of points on said curve obtained by successive doubling of a designated point on said curve.
6. A method according to claim 5 wherein said additional information includes an indication as to which of a pair of possible values resulting from said intermediate steps is an intended value.
7. A method according to claim 5 wherein said additional information includes a coordinate of each of said points.
8. A method according to claim 5 wherein said additional information includes a pair of coordinates of each of said points.
9. A method according to claim 3 wherein one of said intermediate steps includes obtaining projective coordinates of points on said curve resulting from successive doubling of a designated point.
10. A method according to claim 9 including the step of converting a projective coordinate of at least one of said points to a corresponding affine coordinate and utilizing said additional information to determine the other affine coordinate of said one point therefrom.
11. A method according to claim 10 wherein said additional information includes an indication as to which of a pair of possible values of said other affine coordinate is an intended value.
12. A method according to claim 3 wherein said complementary mathematical operation requires the computation of a point on the curve that is an integral multiple of a designated point, said method including the steps of representing said integer as a t bit binary string, arranging said binary string as a k by k/t combing table, including in said additional information the points resulting from each possible combination of bits in columns in said combing table, selecting the points corresponding to the combination of bits in respective columns of said table and subsequently combining the selected points to obtain the coordinates of said point.
13. A method according to claim 12 wherein said selected points are combined by a) doubling a point; b) adding the doubled point to the next selected point; c) doubling the resultant point; and d) repeating steps b) and c) until a single point representing the integral multiple of the designated point is obtained.
14. The method of claim 13 wherein said additional information includes data pertaining to coordinates of the points obtained from doubling and adding the selected points.
15. A method of transferring data over a communication channel between a pair of correspondents who perform public key cryptographic operations by implementing respective ones of a pair of complementary mathematical operations utilizing a public key and a private key of one of said correspondents upon information transferred between said correspondents, said method comprising the steps of: a) assembling at one of said correspondents a data string including information to be transferred to the other of said correspondents; b) performing at said one correspondent one of said complementary mathematical operations upon at least a portion of said data string to provide a cryptographic component to said data string; c) making available to said other correspondent additional information supplementary to that necessary for said other correspondent to perform said complementary mathematical operation of said public key cryptographic operation and relating to the computation of intermediate steps involved in the performance of said complementary mathematical operation; d) forwarding said data string over said communication channel to said other correspondent; and e) performing the other of said complementary mathematical operations of said public key cryptographic operation at said other correspondent with said additional information being available to facilitate the computation of intermediate steps involved in said complementary mathematical operation of said public key cryptographic operation.
16. A method according to claim 15 wherein said additional information is a set of multiples of a point P on an elliptical curve.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 17, 1997
July 23, 2002
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.