IP Library › Granted Patent US 10,673,625
Granted Patent B1
US 10,673,625 · App. 16/442,467 · Granted Jun 2, 2020

Efficient identity-based and certificateless cryptosystems

Inventors: Rouzbeh Behnia (Tampa, FL); Muslum Ozgur Ozmen (Tampa, FL); Attila Altay Yavuz (Tampa, FL)
Assignee: University of South Florida
H04L9/0838H04L9/0861H04L9/0869H04L9/3026H04L9/3033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,673,625
App. No.
16/442,467
Granted
Jun 2, 2020
Kind
B1
Abstract

Disclosed are various embodiments for certificate-free cryptosystems that achieve significant computational and communication efficiency as compared to prior systems. A private key generator (PKG) generates a master public key and a master private key unique to the PKG; receives identifying information for at least one client device; generates a public key for the at least one client device; generates a private key for the at least one client device by: performing a hash of the identifying information using the public key generated for the at least one client device to generate a plurality of indices; identifying values corresponding to the indices from the master private key; and deriving the private key based at least in part on a summation of the values corresponding to the indices; and sends the public key and the private key to the at least one client device.

Claims (59)

1. An identity-based cryptosystem, comprising:

at least one computing device; and

program instructions stored in memory and executable in the at least one computing device that, when executed, direct the at least one computing device to:

generate a master public key and a master private key unique to a private key generator (PKG);

receive identifying information for at least one client device;

generate a public key for the at least one client device;

generate a private key for the at least one client device by:

performing a hash of the identifying information using the public key generated for the at least one client device to generate a plurality of indices;

identifying values corresponding to the indices from the master private key; and

deriving the private key based at least in part on a summation of the values corresponding to the indices; and

send the public key and the private key to the at least one client device.

2. The identity-based cryptosystem of claim 1 , wherein the public key generated for the at least one client device is generated as a function of: a group of points on a curve for a first prime number p and a pseudorandom number selected from a cyclic group whose order is a second prime number q.

3. The identity-based cryptosystem of claim 2 , wherein the public key is generated by multiplying the group of points on the curve for the first prime number p and the pseudorandom number selected from the cyclic group whose order is the second prime number q.

4. The identity-based cryptosystem of claim 1 , wherein:

the at least one client device is a first client device and a second client device;

the system further comprises the first client device and the second client device; and

the public key and the private key are generated for each of the first client device and the second client device.

5. The identity-based cryptosystem of claim 4 , wherein each of the first client device and the second client device comprise program instructions executable thereon that, when executed, direct the first client device or the second client device to:

generate a random value;

generate an ephemeral key value M based at least in part on the random value;

send, by the first client device, the ephemeral key value M determined on the first client device and the public key generated for the first client device to the second client device; and

send, by the second client device, the ephemeral key value M determined on the second client device and the public key generated for the second client device to the first client device.

6. The identity-based cryptosystem of claim 5 , wherein the first client device is further directed to decrypt, by the first client device, a message received from the second client device, the message decrypted using the ephemeral key value M determined on the second client device, the public key generated for the second client device, and a second identifier associated with the second client device.

7. The identity-based cryptosystem of claim 5 , wherein the second client device is further directed to decrypt, by the second client device, a message received from the first client device, the message decrypted using the ephemeral key value M determined on the first client device, the public key generated for the first client device, and a first identifier associated with the first client device.

8. The identity-based cryptosystem of claim 5 , wherein a first identifier or a second identifier comprises an email address.

9. The identity-based cryptosystem of claim 1 , wherein:

the at least one client device is a first client device and a second client device;

at least the first client device comprises program instructions executable thereon that, when executed, directs the first client device to:

digitally sign a message using the private key without a certificate; and

send the message to the second client device, where the second client device is configured to decrypt the message using the public key generated for the first client device.

10. The identity-based cryptosystem of claim 1 , wherein the first client device or the second client device implements an Internet-of-Things protocol.

11. A computer-implemented method, comprising:

generating, by at least one computing device comprising at least one hardware processor, a master public key and a master private key unique to a private key generator (PKG);

receiving identifying information for at least one client device;

generating a public key for the at least one client device;

generating a private key for the at least one client device by:

performing a hash of the identifying information using the public key generated for the at least one client device to generate a plurality of indices;

identifying values corresponding to the indices from the master private key; and

deriving the private key based at least in part on a summation of the values corresponding to the indices; and

send the public key and the private key to the at least one client device.

12. The computer-implemented method of claim 11 , wherein the public key generated for the at least one client device is generated as a function of: a group of points on a curve for a first prime number p and a pseudorandom number selected from a cyclic group whose order is a second prime number q.

13. The computer-implemented method of claim 12 , wherein the public key is generated by multiplying the group of points on the curve for the first prime number p and the pseudorandom number selected from the cyclic group whose order is the second prime number q.

14. The computer-implemented method of claim 11 , wherein:

the at least one client device is a first client device and a second client device;

the public key and the private key are generated for each of the first client device and the second client device.

15. The computer-implemented method of claim 14 , further comprising:

generating a random value;

generating an ephemeral key value M based at least in part on the random value;

sending, by the first client device, the ephemeral key value M determined on the first client device and the public key generated for the first client device to the second client device; and

sending, by the second client device, the ephemeral key value M determined on the second client device and the public key generated for the second client device to the first client device.

16. The computer-implemented method of claim 15 , further comprising decrypting, by the first client device, a message received from the second client device, the message decrypted using the ephemeral key value M determined on the second client device, the public key generated for the second client device, and a second identifier associated with the second client device.

17. The computer-implemented method of claim 15 , further comprising decrypting, by the second client device, a message received from the first client device, the message decrypted using the ephemeral key value M determined on the first client device, the public key generated for the first client device, and a first identifier associated with the first client device.

18. The computer-implemented method of claim 15 , wherein a first identifier or a second identifier comprises an email address.

19. The computer-implemented method of claim 11 , wherein:

the at least one client device is a first client device and a second client device;

the computer-implemented method further comprises:

digitally signing a message using the private key without a certificate; and

sending the message to the second client device, where the second client device is configured to decrypt the message using the public key generated for the first client device.

20. The computer-implemented method of claim 11 , wherein the first client device or the second client device implements an Internet-of-Things protocol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: BEHNIA, ROUZBEH; OZMEN, MUSLUM OZGUR; YAVUZ, ATTILA ALTAY
To: UNIVERSITY OF SOUTH FLORIDA
Reel/Frame 051494/0105 →
Cited By (2)
US 12,225,111 US 12,574,356