IP Library › Granted Patent US 11,632,243
Granted Patent B1
US 11,632,243 · App. 16/836,635 · Granted Apr 18, 2023

Multi-key exchange

Inventor: Anna M. Johnston (Vancouver, WA)
Assignee: Juniper Networks, Inc.
H04L9/0861H04L9/085H04L9/14H04L9/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 11,632,243
App. No.
16/836,635
Granted
Apr 18, 2023
Kind
B1
Abstract

A first device may determine a prime integer for generating public keys, wherein the prime integer is based on a set of distinct prime integers. The first device may generate a set of multiple public keys based on a set of secret keys. The first device may combine the set of multiple public keys into a single value based on the prime integer and the set of distinct prime integers. The first device may transmit the single value to a second device.

Claims (83)

1. A method, comprising:

generating, by a first device, a set of multiple public keys based on a set of secret keys;

combining, by the first device, the set of multiple public keys into a single value based on a set of prime integers,

wherein the set of prime integers includes a prime integer associated with a field and a prime integer associated with a subgroup; and

transmitting, by the first device, the single value to a second device,

wherein the single value is to include information about the set of the multiple public keys, and

wherein only the single value is used to extract one or more of the set of the multiple public keys by the second device.

2. The method of claim 1 , further comprising:

receiving an additional single value from the second device; and

determining a set of shared secrets based on the additional single value and the set of secret keys.

3. The method of claim 2 , further comprising:

encrypting, based on a shared secret of the set of shared secrets, a message for the second device; and

transmitting the message to the second device.

4. The method of claim 3 , further comprising:

determining to replace the shared secret with a replacement shared secret of the set of shared secrets;

encrypting, based on the replacement shared secret, an additional message for the second device; and

transmitting the additional message to the second device.

5. The method of claim 2 , further comprising:

receiving, from the second device, a message that is encrypted based on a shared secret of the set of shared secrets; and

decrypting the message based on the shared secret.

6. The method of claim 1 , further comprising:

transmitting the single value to a third device;

receiving a second single value from the second device;

receiving a third single value from the third device;

determining a first shared secret with the second device based on the second single value and the set of secret keys; and

determining a second shared secret with the third device based on the third single value and the set of secret keys.

7. The method of claim 1 , further comprising:

generating the set of prime integers for a key exchange protocol.

8. The method of claim 1 , further comprising:

selecting, in cooperation with the second device, a generator for generating the set of multiple public keys based on the set of secret keys; and

selecting, in cooperation with the second device, the set of prime integers.

9. The method of claim 1 , further comprising:

determining a set of components of a generator for generating the set of multiple public keys based on the set of secret keys,

wherein the set of components are based on the generator and the set of prime integers.

10. The method of claim 9 , wherein the set of multiple public keys is based on exponentiations of the set of components of the generator by the set of secret keys.

11. A first device, comprising:

one or more memories; and

one or more processors to:

generate a first single value, that includes a set of multiple public keys, based on a set of prime integers and a set of secret keys,

wherein the set of prime integers includes a prime integer associated with a field and a prime integer associated with a subgroup;

transmit the first single value to a second device,

wherein the first single value is to include information about the set of the multiple public keys, and

wherein only the first single value is used to extract one or more of the set of the multiple public keys by the second device;

receive a second single value from the second device; and

determine a set of shared secrets based on the second single value and the first single value.

12. The first device of claim 11 , wherein the one or more processors are further to:

encrypt, based on a shared secret of the set of shared secrets, a message for the second device; and

transmit the message to the second device.

13. The first device of claim 12 , wherein the one or more processors are further to:

determine to replace the shared secret with a replacement shared secret of the set of shared secrets;

encrypt, based on the replacement shared secret, an additional message for the second device; and

transmit the additional message to the second device.

14. The first device of claim 11 , wherein the one or more processors are further to:

receive, from the second device, a message that is encrypted based on a shared secret of the set of shared secrets; and

decrypt the message based on the shared secret.

15. The first device of claim 11 , wherein the one or more processors are further to:

transmit the first single value to a third device;

receive a third single value from the third device;

determine a first shared secret with the second device based on the second single value and the set of secret keys; and

determine a second shared secret with the third device based on the third single value and the set of secret keys.

16. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions that, when executed by one or more processors, cause the one or more processors to:

generate a single value, that includes a set of multiple public keys, based on a set of prime integers and a set of secret keys,

wherein the set of prime integers includes a prime integer associated with a field and a prime integer associated with a subgroup;

transmit the single value to a set of devices,

wherein the single value is to include information about the set of the multiple public keys, and

wherein only the single value is used to extract one or more of the set of the multiple public keys by the set of devices;

receive a set of additional single values from the set of devices; and

determine a set of shared secrets, with devices of the set of devices, based on the set of additional single values and the single value.

17. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

encrypt, based on a first shared secret of the set of shared secrets, a first message for a first device of the set of devices;

encrypt, based on a second shared secret of the set of shared secrets, a second message for a second device of the set of devices; and

transmit the first message to the first device and the second message to the second device.

18. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

receive, from a first device of the set of devices, a first message that is encrypted based on a first shared secret of the set of shared secrets;

receive, from a second device of the set of devices, a second message that is encrypted based on a second shared secret of the set of shared secrets; and

decrypt the first message based on the first shared secret and the second message based on the second shared secret.

19. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

determine a first shared secret with a first device, of the set of devices, based on a first additional single value, of the set of additional single values, and the set of secret keys; and

determine a second shared secret with a second device, of the set of devices, based on a second additional single value, of the set of additional single values, and the set of secret keys.

20. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

select, in cooperation with one or more of the set of devices, a generator for generating the set of multiple public keys based on the set of secret keys; and

select, in cooperation with the one or more of the set of devices, the set of prime integers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2020
From: JOHNSTON, ANNA M.
To: JUNIPER NETWORKS, INC.
Reel/Frame 052283/0751 →
Cited By (1)
US 12,486,711