Claims
- 1. A computer usable medium having computer readable program code embodied therein for encrypting a plaintext message in a sender computer system, said computer program product comprising computer readable program code configured to cause a computer to:select a parcel of plaintext xtext; determine for which of two elliptic curves E+ and E− xtext is a valid coordinate; generate a message coordinate xm using a random value r, a public key from a public key/private key pair, and xtext; generate a due value xc by elliptic multiplication of a random number r and an appropriate initial public point Pd; generate a sign value g, wherein said sign value designates said elliptic curve; represent an encrypted message by said message coordinate, said clue, and said sign.
- 2. The computer program product of claim 1 wherein said message coordinate, said clue, and said sign are transmitted to a receiver.
- 3. The computer program product of claim 2 wherein said public key is a public key of said receiver.
- 4. An article of manufacture comprising:a computer usable medium having computer readable program code embodied therein for encrypting a plaintext message using elliptic curve algebra, the computer readable program code in said article of manufacture comprising; computer readable program code configured to cause a computer to select a parcel of plaintext xtext; computer readable program code configured to cause a computer to determine for which of two elliptic curves E+ and E− xtext is a valid coordinate; computer readable program code configured to cause a computer to generate a message coordinate Xm using a random value r, a public key from a public key/private key pair, and xtext; computer readable program code configured to cause a computer to generate a clue value xc; computer readable program code configured to cause a computer to generate a sign value g, wherein said sign value g designates said elliptic curve; computer readable program code configured to cause a computer to represent said encrypted message by an message coordinate, said clue, and said sign.
- 5. The article of manufacture of claim 4 wherein said message coordinate, said clue, and said sign are transmitted to a receiver.
- 6. The article of manufacture of claim 5 wherein said public key is a public key of said receiver.
- 7. A computer usable medium having computer readable program code embodied therein for encrypting a plaintext message in a sender computer system, said computer program product comprising computer readable program code configured to cause a computer to:select two random numbers r and s; generate an initial clue clue0, using said random number r, a public key from a first public key/private key pair, and a private key from a second public key/private key pair; select a parcel of plaintext xtexti; determine for which of two elliptic curves E+ and E− xtexti is a valid coordinate; generate a message coordinate mi using xtexti and a current clue cluei; generate a sign value g, wherein said sign value g designates said elliptic curve: represent said encrypted message by the pair (mi, g); and for a subsequent parcel, generate a subsequent clue cluei+1 using said current clue cluei and said random numbers r and s.
- 8. The computer program product of claim 7 further comprising the steps of:transmitting said random numbers r and s from said sending computer to a receiver; and transmitting said encrypted message from said sender to said receiver.
- 9. The computer program product of claim 8 wherein said public key is a public key of said receiver and said private key is a private key of said sender.
- 10. The computer program product of claim 7 wherein said step of generating said initial clue clue0 comprises the step of computing:clue0=r°ourPri°theirPub±where ourPri comprises said private key and theirPub± comprises said public key.
- 11. An article of manufacture comprising:a computer usable medium having computer readable program code embodied therein for causing a computer to encrypt a plaintext message using elliptic curve algebra, said computer readable program code comprising: computer readable program code configured to cause a computer to select two random numbers r and s; computer readable program code configured to cause a computer to generate an initial clue clue0 using said random number r, a public key from a first public key/private key pair, and a private key from a second public key/private key pair; computer readable program code configured to cause a computer to select a parcel of plaintext xtexti; computer readable program code configured to cause a computer to determine for which of two elliptic curves E+ and E− xtexti is a valid coordinate; computer readable program code configured to cause a computer to generate a message coordinate mi using xtexti and a current clue cluei; computer readable program code configured to cause a computer to generate a sign value g; computer readable program code configured to cause a computer to represent an encrypted message by the pair (mi, g); and computer readable program code configured to cause a computer to generate, for a subsequent parcel, a subsequent clue cluei+1 using said current clue cluei and said random numbers r and s.
- 12. The article of manufacture of claim 11 further comprising:computer readable program code configured to cause a computer to transmit said random numbers r and s from a sender to a receiver; and computer readable program code configured to cause a computer to transmit said encrypted message from said sender to said receiver.
- 13. The article of manufacture of claim 12 wherein said public key is a public key of said receiver and said private key is a private key of said sender.
- 14. The article of manufacture of claim 11 wherein said computer readable program code configured to cause a computer to generate said initial clue clue0 comprises computer readable program code configured to cause a computer to compute:clue0=r°ourPri°theirPub±where ourPri comprises said private key and theirPub± comprises said public key.
Parent Case Info
This is a continuation-in-part of U.S. patent application Ser. No. 08/758,688 filed Nov. 27, 1996 (now issued as U.S. Pat. No. 5,805,703), which is a continuation of U.S. patent application Ser. No. 08/484,264 filed Jun. 7, 1995 (now issued as U. S. Pat. No. 5,581,616), which is a continuation in part of U.S. patent application Ser. No. 08/167,408 filed Dec. 14, 1993 (now issued as U.S. Pat. No. 5,463,690), which is a continuation of U.S. patent application Ser. No. 07/955,479 filed Oct. 2, 1992 (now issued as U. S. Pat. No. 5,271,061), which is a continuation of United States Application 07/761,276 filed Sep. 17, 1991 (now issued as U.S. Pat. No. 5,159,632).
US Referenced Citations (10)
Foreign Referenced Citations (4)
Number |
Date |
Country |
2129203 |
May 1998 |
CA |
0 940 944 A |
May 1998 |
EP |
WO 9930458 |
Jun 1999 |
WO |
WO 9943124 |
Aug 1999 |
WO |
Non-Patent Literature Citations (1)
Entry |
G. Barwood, “Elliptic Curve Cryptography Faq V1.12” (Dec. 1997), pp. 1-9. |
Continuations (4)
|
Number |
Date |
Country |
Parent |
08/484264 |
Jun 1995 |
US |
Child |
08/758688 |
|
US |
Parent |
08/167408 |
Dec 1993 |
US |
Child |
08/484264 |
|
US |
Parent |
07/955479 |
Oct 1992 |
US |
Child |
08/167408 |
|
US |
Parent |
07/761276 |
Sep 1991 |
US |
Child |
07/955479 |
|
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
08/758688 |
Nov 1996 |
US |
Child |
08/896993 |
|
US |