IP Library Granted Patent US 12665756
Granted Patent B2
US 12665756 · App. 18/317,399 · Granted Jun 23, 2026

Just-in-time post-quantum cryptography (PQC) key expansion

Inventors: Lukas Holzbaur (Munich, DE); Manuela Meier (Munich, DE); Alexander Zeh (Munich, DE)
Assignee: Infineon Technologies AG
H04L9/0877H04L9/0852H04L9/0869H04L9/3093H04L9/0631H04L2209/122
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 12665756
App. No.
18/317,399
Granted
Jun 23, 2026
Kind
B2
Abstract

The described techniques address issues associated with current post-quantum cryptography (PQC) algorithms by providing a more efficient means of key expansion. Architectures are provided for both an accelerator and an expander, which may be implemented in accordance with any suitable type of cryptographic algorithm that utilizes key expansion, such as PQC algorithms, a key encapsulation mechanism (KEM) algorithm, a Digital Signature Algorithm (DSA), etc. The accelerator architecture enables portions of the expanded key to be generated only when required by a processing block, allowing for the reuse of memory, which allows for a reduction in memory size and thus a smaller footprint (i.e. physical size) compared to conventional architectures. The expander architecture reduces the required interactions and data transfers between the processing block and the key expansion block, thereby reducing the load on the processing block and system components, such as shared buses and bridges.

Claims (54)

1 . A post-quantum cryptography (PQC) hardware accelerator, comprising:

accelerator circuitry configured to perform a key expansion function using a seed value by sequentially generating data fragments of an expanded key, the seed value being identified with a portion of a cryptographic key, and the expanded key being associated with a matrix having a plurality of entries, each one of the plurality of entries being identified with a polynomial value;

a memory configured to store the sequentially generated data fragments; and

processing circuitry configured to perform a cryptographic-based function using the expanded key based upon an iterative aggregation of the sequentially generated data fragments by iteratively multiplying each one of the generated data fragments of the expanded key by a respective vector coefficient to iteratively compute respective summands of a vector-matrix product that is used to perform at least part of the cryptographic-based function.

2 . The PQC hardware accelerator of claim 1 , wherein the accelerator circuitry is configured to overwrite previously-generated data fragments of the expanded key stored in the memory with subsequently-generated data fragments.

3 . The PQC hardware accelerator of claim 1 , wherein each one of the sequentially generated data fragments is identified with a different one of the plurality of entries of the matrix, and

wherein the accelerator circuitry is configured to perform post processing on each one of the sequentially generated data fragments to generate, as each different one of the plurality of entries of the matrix, the respective polynomial value.

4 . The PQC hardware accelerator of claim 1 , wherein each one of the sequentially generated data fragments is identified with a different one of the plurality of entries of the matrix, and

wherein the processing circuitry is configured to perform post processing on each one of the sequentially generated data fragments to generate, as each different one of the plurality of entries of the matrix, the respective polynomial value.

5 . The PQC hardware accelerator of claim 1 , wherein the accelerator circuitry is configured to perform the key expansion function to sequentially generate the data fragments of the expanded key until each one of the plurality of entries has been generated in accordance with cryptographic configuration parameters that define a size of the matrix.

6 . The PQC hardware accelerator of claim 1 , wherein the processing circuitry is configured, upon completing each iterative aggregation of the sequentially generated data fragments, to transmit a control signal to the accelerator circuitry indicative of a next one of the plurality of entries of the matrix to generate a respective data fragment of the expanded key.

7 . The PQC hardware accelerator of claim 1 , wherein the cryptographic-based function comprises one or more of providing a digital signature, verifying a digital signature, encrypting plaintext to provide ciphertext, or decrypting ciphertext to provide plaintext.

8 . The PQC hardware accelerator of claim 1 , wherein the expanded key is generated in accordance with a PQC algorithm that comprises CRYSTALS-DILITHIUM or CRYSTALS-KYBER.

9 . The POC hardware accelerator of claim 1 , wherein the accelerator circuitry is configured to receive the seed value only once prior to performing the key expansion function to sequentially generate the data fragments of the expanded key.

10 . The PQC hardware accelerator of claim 1 , wherein the cryptographic-based function is performed in accordance with a Key Encapsulation Mechanism (KEM) in which the plaintext represents a key used for symmetric encryption.

11 . A post-quantum cryptography (PQC) key expander, comprising:

a first counter configured to output a first index value;

a second counter configured to output a second index value; and

accelerator circuitry configured to perform a key expansion function using a seed value by sequentially generating data fragments of an expanded key, the seed value being identified with a portion of a cryptographic key, and the expanded key being associated with a matrix having a plurality of entries, each one of the plurality of entries being identified with a polynomial value,

wherein a combination of the first and the second index values indicate, to the accelerator circuitry, a next one of the data fragments of the expanded key that is to be generated,

wherein the expanded key is used to perform at least part of a cryptographic-based function,

wherein the first index value comprises a row index identified with the plurality of entries of the matrix, and

wherein the second index value comprises a column index identified with the plurality of entries of the matrix.

12 . The PQC key expander of claim 11 , wherein the accelerator circuitry is configured to receive configuration data indicative of parameters that define how the data fragments of the expanded key are to be sequentially generated, and

wherein the accelerator circuitry is configured to receive each of the configuration data and the seed value only once prior to the accelerator circuitry performing the key expansion function to sequentially generate the data fragments of the expanded key.

13 . The PQC key expander of claim 11 , wherein each one of the sequentially generated data fragments is identified with a different one of the plurality of entries of the matrix, and

wherein the accelerator circuitry is configured to perform post processing on each one of the sequentially generated data fragments to generate, as each different one of the plurality of entries of the matrix, the respective polynomial value.

14 . The PQC key expander of claim 11 , wherein the accelerator circuitry is configured to perform the key expansion function to sequentially generate the data fragments of the expanded key until each one of the plurality of entries of the matrix has been generated in accordance with cryptographic configuration parameters that define a size of the matrix.

15 . The PQC key expander of claim 11 , wherein the cryptographic-based function comprises one or more of providing a digital signature, authenticating a digital signature, encrypting plaintext to provide ciphertext, or decrypting ciphertext to provide plaintext.

16 . The PQC key expander of claim 11 , wherein the expanded key is generated in accordance with a PQC algorithm that comprises CRYSTALS-DILITHIUM or CRYSTALS-KYBER.

17 . The PQC key expander of claim 11 , wherein the accelerator circuitry is configured to write output data comprising one or more of the sequentially generated data fragments of the expanded key to a memory, and

wherein the processing circuitry is configured to copy the output data from the memory to perform at least part of the cryptographic-based function.

18 . The PQC key expander of claim 17 , wherein the output data comprises one or more of the generated data fragments of the expanded key from among the sequentially generated data fragments.

19 . The PQC key expander of claim 17 , wherein the output data comprises each one of the sequentially generated data fragments of the expanded key.

20 . A post-quantum cryptography (PQC) hardware accelerator, comprising:

accelerator circuitry configured to perform a key expansion function using a seed value by sequentially generating data fragments of an expanded key, the seed value being identified with a portion of a cryptographic key, and the expanded key being associated with a matrix having a plurality of entries, each one of the plurality of entries being identified with a polynomial value;

a first counter configured to increment a row index of the matrix;

a second counter configured to increment a column index of the matrix,

wherein a combination of the column and the row indices indicate, to the accelerator circuitry, a next one of the plurality of entries of the matrix to generate a respective data fragment of the expanded key;

a memory configured to store the sequentially generated data fragments; and

processing circuitry configured to perform a cryptographic-based function using the expanded key based upon an iterative aggregation of the sequentially generated data fragments.

21 . The PQC hardware accelerator of claim 20 , wherein the accelerator circuitry is configured to overwrite previously-generated data fragments of the expanded key stored in the memory with subsequently-generated data fragments.

22 . The PQC hardware accelerator of claim 20 , wherein the cryptographic-based function comprises one or more of providing a digital signature, verifying a digital signature, encrypting plaintext to provide ciphertext, or decrypting ciphertext to provide plaintext, and

wherein the expanded key is generated in accordance with a PQC algorithm that comprises CRYSTALS-DILITHIUM or CRYSTALS-KYBER.

23 . A post-quantum cryptography (PQC) key expander, comprising:

a first counter configured to output a first index value;

a second counter configured to output a second index value; and

accelerator circuitry configured to perform a key expansion function using a seed value by sequentially generating data fragments of an expanded key, the seed value being identified with a portion of a cryptographic key, and the expanded key being associated with a matrix having a plurality of entries, each one of the plurality of entries being identified with a polynomial value,

wherein a combination of the first and the second index values indicate, to the accelerator circuitry, a next one of the data fragments of the expanded key that is to be generated,

wherein the expanded key is used to perform at least part of a cryptographic-based function, and

wherein the first and the second counter is each configured, upon the accelerator circuitry completing each sequentially generated data fragment of the expanded key, to selectively increment the first index value and the second index value, respectively, to indicate to the accelerator circuitry a next one of the plurality of entries of the matrix to generate a respective data fragment of the expanded key.

24 . The PQC key expander of claim 23 , wherein the accelerator circuitry is configured to overwrite previously-generated data fragments of the expanded key stored in a memory with subsequently-generated data fragments.

25 . The PQC key expander of claim 23 , wherein the cryptographic-based function comprises one or more of providing a digital signature, verifying a digital signature, encrypting plaintext to provide ciphertext, or decrypting ciphertext to provide plaintext, and

wherein the expanded key is generated in accordance with a PQC algorithm that comprises CRYSTALS-DILITHIUM or CRYSTALS-KYBER.