# US 2019/0319797 A1 · Accelerators for post-quantum cryptography secure hash-based signing and verification

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

- Number: US 2019/0319797 A1
- Document ID: US20190319797A1
- Status: Published application
- Kind: A1
- Application number: 16/455,908
- Filed: 2019-06-28
- Published: 2019-10-17
- Earliest claimed: 2019-06-28
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: VIKRAM SURESH; SANU MATHEW; MANOJ SASTRY; SANTOSH GHOSH; RAGHAVAN KUMAR; RAFAEL MISOCZKI
- Web page: https://patentgrep.com/patent/US20190319797A1

## CPC

- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- 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/0852: {Quantum cryptography (transmission systems employing electromagnetic waves other than radio waves, e.g. light, infrared H04B10/00; wavelength-division multiplex systems H04J14/02; WDM arrangements H04J14/03)}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/3247: {involving digital signatures}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/122: Hardware reduction or efficient architectures
- H04L 2209/125: Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G09C: CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY

## Abstract

In one example an apparatus comprises a computer readable memory, hash logic to generate a message hash value based on an input message, signature logic to generate a signature to be transmitted in association with the message, the signature logic to apply a hash-based signature scheme to a private key to generate the signature comprising a public key, and accelerator logic to pre-compute at least one set of inputs to the signature logic. Other examples may be described.

## Claims

### Claim 1

An apparatus, comprising:
a computer readable memory;
hash logic to generate a message hash value based on an input message;
signature logic to generate a signature to be transmitted in association with the message, the signature logic to apply a hash-based signature scheme to a private key to generate the signature comprising a public key; and
accelerator logic to pre-compute at least one set of inputs to the signature logic.

### Claim 2 (depends on 1)

The apparatus of claim 1, the hash logic to:
compute the message hash of the input message using a secure hash algorithm (SHA2) hash function; and
process the message hash to generate an array of values.

### Claim 3 (depends on 2)

The apparatus of claim 2, the signature logic to:
apply a chain function to the private key, the chain function comprising a chain of SHA2 hash operations, wherein hash operations in the chain of SHA2 hash operations comprises:
a first pseudo-random function (PRF) to generate a bitmask and a second PRF to generate a key;
an XOR logic to XOR the bitmask with a hash value from a previous hash function to generate an XOR output; and
a SHA2 hash function to receive a concatenation of the XOR output and the bitmask as an input and to generate a hash output.

### Claim 4 (depends on 3)

The apparatus of claim 3, the accelerator logic to:
precompute a first intermediate hash value based on an OPCODE input and a SEED input; and
apply the first intermediate hash value to the first PRF and the second PRF in the chain of SHA2 hash operations in the signature logic.

### Claim 5 (depends on 4)

The apparatus of claim 4, the accelerator logic to:
precompute a second intermediate hash value based on a portion of an address input; and
apply the second intermediate hash value to the first PRF and the second PRF in the chain of SHA2 hash operations in the signature logic.

### Claim 6 (depends on 5)

The apparatus of claim 5, the accelerator logic to:
precompute a third intermediate hash value based on a portion of an address input; and
apply the third intermediate hash value to the first SHA2 hash function in the chain of SHA2 hash operations in the signature logic.

### Claim 7 (depends on 2)

The apparatus of claim 2, the signature logic to:
apply a L-tree operation which generates a binary tree to compress the public key into a single leaf node value using a series of keyed hash operations, wherein hash operations in the series of keyed hash operations comprises:
a first pseudo-random function (PRF) to generate a first bitmask;
a second PRF to generate a second bitmask;
a third PRF to generate a key;
a first XOR logic to XOR the first bitmask with a first public key value from to generate a first XOR output;
a second XOR logic to XOR the second bitmask with a second public key value from to generate a second XOR output and
a SHA2 hash function to receive a concatenation of the first XOR output, the second XOR output, an OPCODE and PAD as an input and to generate a hash output.

### Claim 8 (depends on 7)

The apparatus of claim 7, the accelerator logic to:
precompute a first intermediate hash value based on an OPCODE input and a SEED input; and
apply the first intermediate hash value to the first PRF, the second PRF, and the third PRF in the series of SHA2 hash operations in the L-Tree operation.

### Claim 9 (depends on 8)

The apparatus of claim 8, the accelerator logic to:
precompute a second intermediate hash value based on a portion of an address input; and
apply the second intermediate hash value to the first PRF, the second PRF, and the third PRF in the series of SHA2 hash operations in the L-Tree operation.

### Claim 10 (depends on 9)

The apparatus of claim 9, the accelerator logic to:
precompute a third intermediate hash value based on a portion of an address input; and
apply the third intermediate hash value to the SHA2 hash function in the series of SHA2 hash operations in the L-Tree operation.

### Claim 11

A computer-implemented method, comprising:
generating a message hash value based on an input message;
generating a signature to be transmitted in association with the message, the signature logic to apply a hash-based signature scheme to a private key to generate the signature comprising a public key; and
pre-computing at least one set of inputs to the signature logic.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
computing the message hash of the input message using a secure hash algorithm (SHA2) hash function; and
processing the message hash to generate an array of values.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
applying a chain function to the private key, the chain function comprising a chain of SHA2 hash operations, wherein hash operations in the chain of SHA2 hash operations comprises:
a first pseudo-random function (PRF) to generate a bitmask and a second PRF to generate a key;
an XOR logic to XOR the bitmask with a hash value from a previous hash function to generate an XOR output; and
a SHA2 hash function to receive a concatenation of the XOR output and the bitmask as an input and to generate a hash output.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
precomputing a first intermediate hash value based on an OPCODE input and a SEED input; and
applying the first intermediate hash value to the first PRF and the second PRF in the chain of SHA2 hash operations in the signature logic.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
precomputing a second intermediate hash value based on a portion of an address input; and
applying the second intermediate hash value to the first PRF and the second PRF in the chain of SHA2 hash operations in the signature logic.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
precomputing a third intermediate hash value based on a portion of an address input; and
applying the third intermediate hash value to the first SHA2 hash function in the chain of SHA2 hash operations in the signature logic.

### Claim 17 (depends on 12)

The method of claim 12, further comprising:
apply a L-tree operation which generates a binary tree to compress the public key into a single leaf node value using a series of keyed hash operations, wherein hash operations in the series of keyed hash operations comprises:
a first pseudo-random function (PRF) to generate a first bitmask;
a second PRF to generate a second bitmask;
a third PRF to generate a key;
a first XOR logic to XOR the first bitmask with a first public key value from to generate a first XOR output;
a second XOR logic to XOR the second bitmask with a second public key value from to generate a second XOR output and
a SHA2 hash function to receive a concatenation of the first XOR output, the second XOR output, an OPCODE and PAD as an input and to generate a hash output.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
precomputing a first intermediate hash value based on an OPCODE input and a SEED input; and
applying the first intermediate hash value to the first PRF, the second PRF, and the third PRF in the series of SHA2 hash operations in the L-Tree operation.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
precomputing a second intermediate hash value based on a portion of an address input; and
applying the second intermediate hash value to the first PRF, the second PRF, and the third PRF in the series of SHA2 hash operations in the L-Tree operation.

### Claim 20 (depends on 19)

The method of claim 19, further comprising:
precomputing a third intermediate hash value based on a portion of an address input; and
applying the third intermediate hash value to the SHA2 hash function in the series of SHA2 hash operations in the L-Tree operation.
