IP Library Granted Patent US 12,021,852
Granted Patent B2
US 12,021,852 · App. 17/825,845 · Granted Jun 25, 2024

Methods of generating a key and a communication method

Inventors: Shuichi Katsumata (Oxford, GB); Thomas Prest (Oxford, GB)
Assignee: PQShield Ltd.
H04L63/061H04L9/0825H04L9/0838H04L9/14H04L9/3255
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 12,021,852
App. No.
17/825,845
Granted
Jun 25, 2024
Kind
B2
Abstract

A key generation method is provided. A first peer obtains an ephemeral key from a second peer via a server. The first peer uses the ephemeral key to compute a ciphertext that encrypts a first parameter. The first peer uses the first parameter to generate a session key. The ciphertext is sent to the server by the first peer to allow the second peer to generate the session key. The key may be subsequently used for communication, such as by using a key management algorithm such as Double Rachet.

Claims (31)

1. A method of generating a session key for exchange of data between a first peer and a second peer, the method comprising the second peer:

obtaining an ephemeral key from the first peer;

using the ephemeral key to compute a ciphertext, such that the ciphertext encrypts a first parameter;

computing a second ciphertext, such that the second ciphertext encrypts a second parameter;

generating a pair of intermediate keys from the first parameter and the second parameter;

encrypting a session identifier using two intermediate keys to generate the session key, wherein the two intermediate keys are the pair of intermediate keys; and

sending the ciphertext and second ciphertext to allow the first peer to generate the session key based on the ciphertext and second ciphertext,

wherein the session identifier is generated based on one or more of: an identifier of the first peer, an identifier of the second peer, a public key of the first peer, a public key of the second peer, the ephemeral key received from the first peer, the cipher text computed from the received ephemeral key, and the second ciphertext.

2. A method according to claim 1 , further comprising signing the session identifier using a signing function of a signature scheme to generate a signature.

3. A method according to claim 2 , further comprising encrypting the signature with a key generated by encrypting the session identifier using the two intermediate keys.

4. A method according to claim 2 , wherein the signature scheme is a ring signature scheme and the method comprises receiving an exchange key for the ring signature scheme.

5. A method according to claim 4 , further comprising:

receiving a proof from the first peer that the first peer is in possession of a private signature key corresponding to the received exchange key; and

verifying the received proof using the exchange key.

6. A method according to claim 1 , wherein in the method is for generating a session key for communication between a first peer and a second peer and the ephemeral key is a receiver-oblivious ephemeral key.

7. A method of generating a session key for exchange of data between a first peer and a second peer, the method comprising the first peer:

obtaining a ciphertext that encrypts a first parameter;

receiving a second ciphertext that encrypts a second parameter from the second peer;

decrypting the ciphertext to obtain the first parameter;

decrypting the second ciphertext to generate a second parameter;

generating a pair of intermediate keys from the first parameter and the second parameter; and

encrypting a session identifier using two intermediate keys to generate the session key, wherein the two intermediate keys are the pair of intermediate keys,

wherein the session identifier is generated based on one or more of: an identifier of the first peer, an identifier of the second peer, a public key of the first peer, a public key of the second peer, an ephemeral key, the cipher text, and the second ciphertext.

8. A non-transitory computer-readable storage medium storing a program that, when executed on an information processing apparatus, causes the information processing apparatus to perform a method of generating a session key for exchange of data between a first peer and a second peer, the method comprising the second peer:

obtaining an ephemeral key from the first peer;

using the ephemeral key to compute a ciphertext, such that the ciphertext encrypts a first parameter;

computing a second ciphertext, such that the second ciphertext encrypts a second parameter;

generating a pair of intermediate keys from the first parameter and the second parameter;

encrypting a session identifier using two intermediate keys to generate the session key, wherein the two intermediate keys are the pair of intermediate keys; and

sending the ciphertext and second ciphertext to allow the first peer to generate the session key based on the ciphertext and second ciphertext,

wherein the session identifier is generated based on one or more of: an identifier of the first peer, an identifier of the second peer, a public key of the first peer, a public key of the second peer, the ephemeral key received from the first peer, the cipher text computed from the received ephemeral key, and the second ciphertext.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2022
From: PREST, THOMAS; KATSUMATA, SHUICHI
To: PQSHIELD LTD.
Reel/Frame 060038/0303 →
Priority Claims (2)
GB 1917300 · Nov 27, 2019 · national
GB 2004344 · Mar 25, 2020 · national
Continuity (2)
Continuation PCTGB2020053060 · Nov 27, 2020
Related Publication 20220294611A1 · Sep 15, 2022