IP Library Granted Patent US 11,575,521
Granted Patent B2
US 11,575,521 · App. 16/455,967 · Granted Feb 7, 2023

Fast XMSS signature verification and nonce sampling process without signature expansion

Inventors: Rafael Misoczki (Hillsboro, OR); Vikram Suresh (Portland, OR); David Wheeler (Chandler, AZ); Santosh Ghosh (Hillsboro, OR); Manoj Sastry (Portland, OR)
Assignee: INTEL CORPORATION
H04L9/3247H04L9/0643H04L9/0662H04L9/3239
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 11,575,521
App. No.
16/455,967
Granted
Feb 7, 2023
Kind
B2
Abstract

In one example an apparatus comprises accelerator logic to pre-compute at least a portion of a message representative, hash logic to generate the message representative based on an input message, and signature logic to generate a signature to be transmitted in association with the message representative, the signature logic to apply a hash-based signature scheme to a private key to generate the signature comprising a public key, and determine whether the message representative satisfies a target threshold allocation of computational costs between a cost to generate the signature and a cost to verify the signature. Other examples may be described.

Claims (40)

1. An apparatus, comprising:

a hardware processor to:

pre-compute at least a portion of a message representative;

generate a first random nonce; and

generate an extended Merkel signature scheme (XMSS) parameter, r, by providing the first random nonce concatenated with an input to a first secure hash algorithm (SHA) hash function, wherein a padding buffer of the parameter r is reduced to comprise the random nonce;

compute the message representative of the input message using a Winternitz One Time Signature (WOTS) scheme that invokes a secure hash algorithm (SHA) hash function based on an input message concatenated with the XMSS parameter, r;

generate a signature to be transmitted in association with the message representative, the signature logic to apply a hash-based signature scheme to a private key to generate the signature comprising a public key; and

determine whether the message representative satisfies a target threshold allocation of computational costs between a cost to generate the signature and a cost to verify the signature.

2. The apparatus of claim 1 , the hardware processor to:

precompute a first intermediate hash value based on a predetermined input sequence, a buffer input, and an index input; and

store the first intermediate hash value in a computer-readable memory.

3. The apparatus of claim 2 , the hardware processor to:

precompute a second intermediate hash value based on the predetermined input sequence input and the buffer input; and

store the second intermediate hash value in the computer-readable memory.

4. The apparatus of claim 3 , the hardware processor to:

use at least one of the first intermediate value or the second intermediate hash value to generate the signature.

5. A computer-implemented method, comprising:

pre-computing at least a portion of a message representative;

generating a first random nonce; and

generating an extended Merkel signature scheme (XMSS) parameter, r, by providing the first random nonce concatenated with an input to a first secure hash algorithm (SHA) hash function, wherein a padding buffer of the parameter r is reduced to comprise the random nonce;

computing the message representative of the input message using a Winternitz One Time Signature (WOTS) scheme that invokes a secure hash algorithm (SHA) hash function based on an input message concatenated with the XMSS parameter, r;

generating a signature to be transmitted in association with the message representative, the signature logic to apply a hash-based signature scheme to a private key to generate the signature comprising a public key; and

determining whether the message representative satisfies a target threshold allocation of computational costs between a cost to generate the signature and a cost to verify the signature.

6. The method of claim 5 , further comprising:

precomputing a first intermediate hash value based on a predetermined input sequence, a buffer input, and an index input; and

storing the first intermediate hash value in a computer-readable memory.

7. The method of claim 6 , further comprising: precomputing a second intermediate hash value based on the predetermined input sequence and the buffer input; and storing the second intermediate hash value in the computer-readable memory.

8. The method of claim 6 , further comprising:

using at least one of the first intermediate value or the second intermediate hash value to generate the signature.

9. A non-transitory computer-readable medium comprising instructions which, when executed by a processor, configure the processor to perform operations, comprising: generating a first random nonce; and

generating an extended Merkel signature scheme (XMSS) parameter, r, by providing the first random nonce concatenated with an input to a first secure hash algorithm (SHA) hash function, wherein a padding buffer of the parameter r is reduced to comprise the random nonce; generating the message representative based on an input message;

computing the message representative of the input message using a Winternitz One Time Signature (WOTS) scheme that invokes a secure hash algorithm (SHA) hash function based on an input message concatenated with the XMSS parameter, r;

generating a signature to be transmitted in association with the message representative, the signature logic to apply a hash-based signature scheme to a private key to generate the signature comprising a public key; and

determining whether the message representative satisfies a target threshold allocation of computational costs between a cost to generate the signature and a cost to verify the signature.

10. The non-transitory computer-readable medium of claim 9 , further comprising instructions which, when executed by the processor, configure the processor to perform operations, comprising: precomputing a first intermediate hash value based on a predetermined input sequence, a buffer input, and an index input; and storing the first intermediate hash value in a computer-readable memory.

11. The non-transitory computer-readable medium of claim 10 , further comprising instructions which, when executed by the processor, configure the processor to perform operations, comprising:

precomputing a second intermediate hash value based on the predetermined input sequence and the buffer input; and

storing the second intermediate hash value in the computer-readable memory.

12. The non-transitory computer-readable medium of claim 11 , further comprising instructions which, when executed by the processor, configure the processor to perform operations, comprising:

using at least one of the first intermediate value or the second intermediate hash value to generate the signature.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2020
From: MISOCZKI, RAFAEL; SURESH, VIKRAM; WHEELER, DAVID; GHOSH, SANTOSH; SASTRY, MANOJ
To: INTEL CORPORATION
Reel/Frame 051512/0877 →
Continuity (1)
Related Publication 20190319800A1 · Oct 17, 2019