IP Library Granted Patent US 12,634,136
Granted Patent B2
US 12,634,136 · App. 18/482,537 · Granted May 19, 2026

Sharing cryptographic material

Inventors: Thomas Prest (Oxford, GB); Shuichi Katsumata (Oxford, GB)
Assignee: PQShield Ltd.
H04L9/3213H04L9/3247
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,634,136
App. No.
18/482,537
Granted
May 19, 2026
Kind
B2
Abstract

A method includes, at a first communications device: processing encapsulation keys of a plurality of second communications devices using an encapsulation function to generate a symmetric key, an authenticable token, and a ciphertext; and transmitting, to each of the second communications devices, the token and a respective portion of the ciphertext depending on the respective encapsulation key of that second communications device. The token is a cryptographic commitment of the symmetric key, and the ciphertext is a multi-recipient encapsulation of the symmetric key under the encapsulation keys of the second communications devices. The method further includes, at each second communications device: processing the respective decapsulation key and the respective portion of the ciphertext using a decapsulation function to generate a respective candidate copy of the symmetric key; authenticating the token, whereby to determine that the respective candidate copy of the symmetric key corresponds to the symmetric key.

Claims (87)

1 . A method of sharing a symmetric cryptographic key between a first communications device and a plurality of second communications devices, wherein each of the second communications devices is associated with a respective public-private keypair in which a respective decapsulation key is held at the second communications device and a respective encapsulation key is accessible by the first communications device, the method comprising:

at the first communications device:

processing the encapsulation keys of the plurality of second communications devices using an encapsulation function to generate the symmetric cryptographic key, an authenticable token, and a ciphertext, wherein:

the token is a cryptographic commitment of the symmetric cryptographic key; and

the ciphertext is a multi-recipient encapsulation of the symmetric cryptographic key under the encapsulation keys of the plurality of second communications devices; and

transmitting, to each of the plurality of second communications devices, the token and a respective portion of the ciphertext depending on the respective encapsulation key of that second communications device; and

at each of the plurality of second communications devices:

processing the respective decapsulation key and the respective portion of the ciphertext using a decapsulation function associated with said encapsulation function, to generate a respective candidate copy of the symmetric cryptographic key; and

authenticating the token, whereby to determine that the respective candidate copy of the symmetric cryptographic key corresponds to the symmetric cryptographic key.

2 . The method of claim 1 , wherein the decapsulation function is arranged to output an error if the token is not consistent with the received portion of the ciphertext.

3 . The method of claim 1 , wherein:

the generated ciphertext further comprises a common portion independent of the encapsulation keys of any of the plurality of second communications devices; and

the token is said common portion of the generated ciphertext.

4 . The method of claim 1 , further comprising, at the first communications device:

processing data derived from the token using a secret key to generate authentication data for use in authenticating the token; and

transmitting said authentication data to each of the plurality of second communications devices,

wherein said authenticating of the token uses the authentication data.

5 . The method of claim 4 , wherein:

the secret key is a signature key;

the authentication data is a digital signature; and

authenticating the token comprises verifying the digital signature using a public verification key associated with the signature key.

6 . The method of claim 5 , wherein the digital signal is generated using any one of the CRYSTALS-DILITHIUM, FALCON, SPHINCS+, or Rainbow signature schemes.

7 . The method of claim 4 , further comprising, at the first device:

generating a first public-private keypair comprising a first decapsulation key and an associated first encapsulation key; and

providing the first encapsulation key to each of the plurality of second communications devices,

wherein the data derived from the token is dependent on the first encapsulation key.

8 . The method of claim 1 , wherein the encapsulation function and the decapsulation function are instantiated using supersingular isogeny key encapsulation (SIKE) or the Lindner-Peikert framework.

9 . The method of claim 1 , wherein said transmitting comprises:

uploading the token and the ciphertext from the first communications device to a server; and

downloading the token and the respective portion of the ciphertext to each second communications device from the server.

10 . The method of claim 1 , further comprising:

at the first communications device:

encrypting data using the generated symmetric cryptographic key; and

transmitting the encrypted data to each of the plurality of communications devices; and

at each of the plurality of second communications devices:

decrypting the encrypted data using the respective candidate copy of the symmetric cryptographic key.

11 . A system comprising:

a server comprising at least one processor and at least one memory, wherein the at least one memory comprises instructions which, when executed by the at least one processor, cause the at least one processor to carry out operations comprising:

receiving, from a first communications device:

a token;

authentication data for authenticating the token; and

a ciphertext comprising respective portions for transmitting to each of a plurality of second communications devices; and

transmitting, to each of the plurality of second communications devices, data comprising:

the token;

the authentication data; and

the respective portion of the ciphertext depending on the respective encapsulation key for that second communications device.

12 . The system of claim 11 , wherein:

the operations further comprise authenticating the token using the authentication data; and

transmitting said data is dependent on the authentication of the token.

13 . The system of claim 11 , further comprising the first communications device and the plurality of second communications devices, wherein:

each of the second communications devices is associated with a respective public-private keypair in which a respective decapsulation key is held at the second communications device and a respective encapsulation key is accessible by the first communications device; and

the first communications device is arranged to:

process the encapsulation keys of the plurality of second communications devices using an encapsulation function to generate the symmetric cryptographic key, an authenticable token, and a ciphertext, wherein:

the token is a cryptographic commitment of the symmetric cryptographic key; and

the ciphertext is a multi-recipient encapsulation of the symmetric cryptographic key under the encapsulation keys of the plurality of second communications devices; and

upload the token and the ciphertext to the server.

14 . The system of claim 13 , wherein each of the plurality of second communications devices is arranged to:

download the token and a respective portion of the ciphertext depending on the respective encapsulation key of that second communications device, from the server;

process the respective decapsulation key and the respective portion of the ciphertext using a decapsulation function associated with said encapsulation function, to generate a respective candidate copy of the symmetric cryptographic key; and

authenticate the token, whereby to determine that the respective candidate copy of the symmetric cryptographic key corresponds to the symmetric cryptographic key.

15 . The system of claim 14 , wherein the decapsulation function is arranged to output an error if the respective portion of the ciphertext is inconsistent with the token.

16 . The system of claim 14 , wherein:

the ciphertext further comprises a common portion independent of the encapsulation keys of any of the plurality of second communications devices; and

the token is said common portion of the ciphertext.

17 . The system of claim 14 , wherein the first communications device is further arranged to:

process data derived from the token using a secret key to generate authentication data for use in authenticating the token; and

transmit said authentication data to each of the plurality of second communications devices,

wherein said authenticating of the token uses the authentication data.

18 . The system of claim 17 , wherein each of the plurality of second communications devices holds a respective prior cryptographic key, and is arranged to process the respective candidate copy of the symmetric cryptographic key and the respective prior symmetric cryptographic key using a key generation function to generate an updated symmetric cryptographic key.

19 . The system of claim 14 , wherein:

each of the plurality of second communications devices is arranged to query the server for data associated with the other communications devices of the plurality of communications devices; and

said downloading is dependent on said querying.

20 . A first communications device comprising one or more processors, the first communications device arranged to:

receive a respective encapsulation key associated with each of a plurality of second communications devices;

generate a first public-private keypair comprising an ephemeral first decapsulation key and an associated ephemeral first encapsulation key;

process the respective encapsulation keys associated with the plurality of second communications devices using an encapsulation function to generate a first symmetric cryptographic key, a first token, and a first ciphertext, wherein:

the first token is a cryptographic commitment of the first symmetric cryptographic key; and

the first ciphertext is a multi-recipient encapsulation of the first symmetric cryptographic key under the encapsulation keys of the plurality of second communications devices;

sign first data derived from the token and the first encapsulation key to generate a first digital signature;

upload the first token, the first digital signature, the first encapsulation key, and the first ciphertext to a server;

download, from the server, second data associated with one of the plurality of second communications devices, the second data comprising:

a second token;

a second digital signature;

an ephemeral second encapsulation key; and

a portion of a second ciphertext, wherein said second ciphertext is a multi-recipient encapsulation of the second symmetric cryptographic key under a plurality of encapsulation keys including the first encapsulation key; and

process the first decapsulation key and the portion of the second ciphertext, using a decapsulation function associated with the encapsulation function, to generate a candidate copy of a second symmetric cryptographic key stored by said one of the plurality of second communications devices; and

authenticate the second token and the second encapsulation key by verifying the second digital signature using a public verification key associated with the second signature key and data derived from the second token and the second encapsulation key, whereby to determine that the candidate copy of the second symmetric cryptographic key corresponds to the second symmetric cryptographic key stored by said one of the plurality of second communications devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2023
From: PREST, THOMAS; KATSUMATA, SHUICHI
To: PQSHIELD LTD.
Reel/Frame 065153/0359 →
Priority Claims (1)
GB 2105459 · Apr 16, 2021 · national
Continuity (2)
Continuation PCTGB2022050873 · Apr 7, 2022
Related Publication 20240048385A1 · Feb 8, 2024
References Cited (20)
US 9912479B1 · Yamada · 2018 [cited by examiner]
US 10116440B1 · Rudzitis · 2018 [cited by examiner]
US 10404458B1 · Yamada · 2019 [cited by examiner]
US 11153080B1 · Nix · 2021 [cited by examiner]
US 11995194B1 · Shea · 2024 [cited by examiner]
US 20080288403A1 · von Mueller · 2008 [cited by examiner]
US 20110252146A1 · Santamaria · 2011 [cited by examiner]
US 20150106618A1 · Nair · 2015 [cited by examiner]
US 20180007025A1 · Oberheide · 2018 [cited by examiner]
US 20200259647A1 · Goncalves · 2020 [cited by examiner]
US 20200280436A1 · Nix · 2020 [cited by examiner]
US 20200287715A1 · Wang · 2020 [cited by examiner]
US 20210099290A1 · Tomlinson · 2021 [cited by examiner]
US 20220123929A1 · Johnson · 2022 [cited by examiner]
US 20220166602A1 · Wu · 2022 [cited by examiner]
Shuichi Katsumata et al: “Scalable Ciphertext Compression Techniques for Post-Quantum KEMs and their Applications”, pp. 1-41 URL: http://eprint.iacr.org/2020/1107.pdf Sep. 14, 2020. [cited by applicant]
Karthikeyan Bhargavan et al: “Formal Models and Verified Protocols for Group Messaging: Attacks and Proofs for IETF MLS” HAL Id: hal-02425229, Dec. 9, 2020. [cited by applicant]
Alwen J et al: “On The Insider Security of MLS”, IACR ePrint, vol. 20201023:084942 Oct. 22, 2020, pp. 1-50, XP061041590 http://eprint.iacr.org/2020/1327.pdf. [cited by applicant]
Combined Search and Examination Report dated Dec. 23, 2021 for GB Application No. GB2105459.8. [cited by applicant]
International Search Report and Written Opinion dated Jul. 26, 2022 for PCT Application No. PCT/GB2022/050873. [cited by applicant]