Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

A digital signature scheme for a "smart" card utilizes a set of prestored signing elements and combines pairs of the elements to produce a new session pair. The combination of the elements is performed partly on the card and partly on the associated transaction device so that the exchange of information between card and device does not disclose the identity of the signing elements. The signing elements are selected in a deterministic but unpredictable manner so that each pair of elements is used once. Further signing pairs are generated by implementing the signing over an anomalous elliptic curve encryption scheme and applying a Frobenius Operator to the normal basis representation of one of the elements.

InventorsScott A. Vanstone, Alfred J. Menezes
Original AssigneeCerticom Corp.
Primary Examiner: Thomas R. Peeso
Attorney: The Maxham Firm
Current U.S. Classification713/180; 380/30; 380/44; 380/285; 726/9; 726/20
International Classification: G06F/124

View patent at USPTO
Search USPTO Assignment Database
Download USPTO Public PAIR data

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5146500Mar 22, 1991Sep 8, 1992Omnisec A.G.Public key cryptographic system using elliptic curves over rings
US5159632Sep 17, 1991Oct 27, 1992NeXT Computer, Inc.Method and apparatus for public key exchange in a cryptographic system
US5271061Oct 2, 1992Dec 14, 1993NeXT Computer, Inc.Method and apparatus for public key exchange in a cryptographic system
US5272755Jun 26, 1992Dec 21, 1993Matsushita Electric Industrial Co., Ltd.Public key cryptosystem with an elliptic curve
US5351297Apr 16, 1993Sep 27, 1994Matsushita Electric Industrial Co., Ltd.Method of privacy communication using elliptic curves
US5442707Sep 27, 1993Aug 15, 1995Matsushita Electric Industrial Co., Ltd.Method for generating and verifying electronic signatures and privacy communication using elliptic curves
US5463690Dec 14, 1993Oct 31, 1995Next Computer, Inc.Method and apparatus for public key exchange in a cryptographic system
US5497423Jun 20, 1994Mar 5, 1996Matsushita Electric Industrial Co., Ltd.Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US7412062Mar 19, 2007Aug 12, 2008Certicom Corp.Method and apparatus for elliptic curve scalar multiplication
US7490239Aug 8, 2005Feb 10, 2009First Data CorporationFacilitating digital signature based on ephemeral private key
US7593527Aug 8, 2005Sep 22, 2009First Data CorporationProviding digital signature and public key based on shared knowledge
US7693277Aug 8, 2005Apr 6, 2010First Data CorporationGenerating digital signatures using ephemeral cryptographic key
US7869593Aug 8, 2005Jan 11, 2011First Data CorporationSoftware for providing based on shared knowledge public keys having same private key
US7936869Aug 8, 2005May 3, 2011First Data CorporationVerifying digital signature based on shared knowledge

Claims

1. A method of generating a signature on a message m in an elliptic curve cryptographic system having a seed point P on an elliptic curve of order e over a finite field, said method comprising the steps of:

i) selecting as a session key an integer k and computing representation of a corresponding point kP;
ii) deriving from said representation a first signature component, r, independent of said message,m;
iii) combining said first signature component, r, with a private key, a, a value derived from said message, m, and said session key, k, to obtain a second 10 signature component, s, containing said private key, a, and said session key, k, such that extraction of either is inhibited even when said signature components, r,s, are made public; and
iv) utilizing said signature components r,s, in the signature of the message, m.

2. A method according to claim 1 wherein said value derived from said message, m, is obtained by applying a hash function to said message.

3. A method according to claim 2 wherein said second signature component, s, is of the form sk1h(m)ar mod q, where q is a divisor of the order, e, of said elliptic curve and h(m) is said value derived by applying a hash function to said message.

4. A method according to claim 1 wherein said first signature component r is obtained by utilizing one coordinate of said point kP.

5. A method according to claim 4 wherein said one coordinate is the x coordinate of said point kP.

6. A method according to claim 5 wherein said x-coordinate is reduced mod q.

7. A method according to claim 6 wherein said signature consists of said first and second signature components.

8. A method according to claim 7 wherein said elliptic curve is an anomalous elliptic curve.

9. A method according to claim 8 wherein said anomalous curve is of the form y2xyx31.

10. A method according to claim 1 wherein an integer is derived from said representation of said point kP.

11. A method according to claim 10 wherein said integer is obtained by selecting one of said coordinates of said point kP, and reducing said coordinate mod q where q is a divisor of the order, e, of the elliptic curve.

12. A method according to claim 11 wherein said one coordinate is the x coordinate of said point kP.

13. A method according to claim 12 wherein said divisor q is preselected and publically known.

14. A method according to claim 12 wherein said value derived from said message, m, is obtained by applying a hash function to said message.

15. A method according to claim 14 wherein said value derived from said message is a q bit hash of said message.

16. A method according to claim 15 wherein said elliptic curve is an anomalous elliptic curve.

17. A method according to claim 16 wherein said elliptic curve is of the form y2xyx31.

18. A method according to claim 1 wherein said second signature component s has a value corresponding to k1h(m)ar mod q.

19. A method according to claim 18 wherein a value corresponding to said second signature component s is obtained by selecting an integer, c, and computing a value, u, which equals the product of c and k and computing sch(m)ar, said signature components on said message m including r, s, and u.

20. A method according to claim 19 wherein a value corresponding to k1h(m)ar mod q is obtained by a recipient of said signature by computing the product of said second signature component, s, and an inverse of said value, u.

21. A method of generating a digital signature r, s, of a message m using an elliptic curve cryptosystem employing an elliptic curve of order e, said method comprising the steps of:

i) selecting an integer k and determining a corresponding point kP where P is point on the curve;
ii) selecting a coordinate (x) of the point kP;
iii) reducing the coordinate mod q where q is a known divisor of e, to obtain a first component r; and
iv) combining said first component, r, with a long-term private key a and 10 said integer k to obtain a second signature component s, such that extraction of either said long term private key a or said integer k is inhibited even when said signature r,s, are made public.

22. A method according to claim 21 wherein said second signature component s has the form sk1h(m)ar mod q, where h(m) is a hash of the message m.

23. A method according to claim 22 wherein said elliptic curve is an anomalous elliptic curve of the form y2xyx31.

24. A method of generating a signature r,s, of a message m performed on an elliptic curve cryptosystem implemented over an anomalous elliptic curve of the form said y2xyx31, method comprising the steps of:

i) performing a Frobenius operation 0 upon at least one coordinate, x, of a point kP, where k is an integer and kP is a point on the curve obtained from a k fold 6 composition of a point P on the curve, to obtain a corresponding coordinate x of a point kP corresponding to i(kP);
ii) operating upon the integer k upon by a constant where i(kP)iP to obtain a value k;
iii) utilizing the coordinate x to obtain a first signature component r; and
iv) combining said first signature component r with the value k to obtain said second signature component s.

25. A method of generating a session key pair from an initial key pair k, kP for use in a public key encryption elliptic scheme implemented over an anomalous curve of the form y2xyx31 where k is an integer and kP is a point on the curve obtained from a k fold composition of a point P on the curve, said method comprising the steps of:

i) performing a Frobenius operation i upon the point kP to obtain a point kP corresponding to i(kP);
ii) operating upon the integer k by a constant where i(kp)ip to obtain a value k corresponding to ik; and utilizing the values k and kP as a session key pair in a cryptographic operation.