# US 12,120,227 B2 · Efficient post-quantum secure software updates tailored to resource-constrained devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,120,227 B2
- Document ID: US12120227B2
- Status: Granted
- Kind: B2
- Application number: 18/049,522
- Filed: 2022-10-25
- Published: 2023-03-02
- Granted: 2024-10-15
- Earliest claimed: 2020-12-23
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Santosh Ghosh; Marcio Juliato; Manoj Sastry
- Web page: https://patentgrep.com/patent/US12120227B2

## CPC

- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/3247: {involving digital signatures}
- G06F 21/575: {Secure boot}
- G09C 1/00: Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system (cryptographic typewriters G09C3/00)
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G09C: CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY

## Abstract

A method comprises receiving an image of an update for a software module, a rate parameter, an index parameter, and a public key, generating a 32-byte aligned string, computing a state parameter using the 32-byte aligned string, generating a modified message representative, computing a Merkle Tree root node, and in response to a determination that the Merkle Tree root node matches the public key, forwarding, to a remote device, the image of the update for a software module, the state parameter; and the modified message representative.

## Claims

### Claim 1

An apparatus comprising:
processor circuitry coupled to a memory, the processor circuitry to:
compute a message representative using a state parameter based on an aligned string, wherein the aligned string is generated based on one or more of an index parameter or a key;
concatenate the message representative to generate a modified message representative;
associate the modified message representative to one or more software updates; and
communicate the modified message representative to a remote computing device.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the processor circuitry is further to:
receive an image of an update for one or more of a software module, a random parameter, an index parameter, or a public key;
generate an n-byte aligned string;
compute the state parameter using the n-byte aligned string;
generate the modified message representative;
compute a Merkle Tree root node; and
in response to a determination that the Merkle Tree root node matches the public key, forward, to a remote device, the image of the update for one or more of the software module, the state parameter, or the modified message representative, wherein the state parameter represents a partial computation of a SHA-3 H_msg function.

### Claim 3 (depends on 1)

The apparatus of claim 1, further comprising processing circuitry to:
compute a series of Winternitz on-time signatures (WOTS) public keys (PKs) using the message representative;
compute an L-Tree; and
compute the Merkle tree root node using the L-Tree.

### Claim 4

A method comprising:
computing a message representative using a state parameter based on an aligned string, wherein the aligned string is generated based on one or more of an index parameter or a key;
concatenating the message representative to generate a modified message representative;
associate the modified message representative to one or more software updates; and
communicate the modified message representative to a remote computing device.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
receiving an image of an update for one or more of a software module, a random parameter, an index parameter, or a public key;
generating an n-byte aligned string;
computing the state parameter using the n-byte aligned string;
generating the modified message representative;
computing a Merkle Tree root node; and
in response to a determination that the Merkle Tree root node matches the public key, forward, to a remote device, the image of the update for one or more of the software module, the state parameter, or the modified message representative, wherein the state parameter represents a partial computation of a SHA-3 H_msg function.

### Claim 6 (depends on 4)

The method of claim 4, further comprising:
computing a series of Winternitz on-time signatures (WOTS) public keys (PKs) using the message representative;
computing an L-Tree; and
computing the Merkle tree root node using the L-Tree.

### Claim 7

A non-transitory computer-readable medium having stored thereon instructions which, when executed, cause a computing device to perform operations comprising:
computing a message representative using a state parameter based on an aligned string, wherein the aligned string is generated based on one or more of an index parameter or a key;
concatenating the message representative to generate a modified message representative;
associate the modified message representative to one or more software updates; and
communicate the modified message representative to a remote computing device.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the operations further comprise:
receiving an image of an update for one or more of a software module, a random parameter, an index parameter, or a public key;
generating an n-byte aligned string;
computing the state parameter using the n-byte aligned string;
generating the modified message representative;
computing a Merkle Tree root node; and
in response to a determination that the Merkle Tree root node matches the public key, forward, to a remote device, the image of the update for one or more of the software module, the state parameter, or the modified message representative, wherein the state parameter represents a partial computation of a SHA-3 H_msg function.

### Claim 9 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the operations further comprise:
computing a series of Winternitz on-time signatures (WOTS) public keys (PKs) using the message representative;
computing an L-Tree; and
computing the Merkle tree root node using the L-Tree.
