IP Library Granted Patent US 11,101,981
Granted Patent B2
US 11,101,981 · App. 16/444,758 · Granted Aug 24, 2021

Generating a pseudorandom number based on a portion of shares used in a cryptographic operation

Inventors: Pankaj Rohatgi (Los Altos, CA); Elke De Mulder (Kirkland, WA); Michael Hutter (Walnut Creek, CA)
Assignee: Cryptography Research, Inc.
H04L9/0662H04L9/003H04L9/085H04L9/0869H04L2209/04
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,101,981
App. No.
16/444,758
Granted
Aug 24, 2021
Kind
B2
Abstract

Share values for use in a cryptographic operation may be received and the cryptographic operation may be performed based on the share values. A pseudorandom number that is to be used by the cryptographic operation may be identified and the pseudorandom number may be generated based on a portion of the share values that are used in the cryptographic operation. The cryptographic operation may then be performed based on the generated pseudorandom number.

Claims (48)

1. A method comprising:

initiating, by a processing device, execution of a cryptographic operation involving each of a plurality of share values of a secret value;

receiving, in conjunction with the cryptographic operation being executed, a request to generate, by the processing device, a pseudorandom number;

determining, by the processing device, a seed value based on one or more of the plurality of share values; and

generating, by the processing device, the pseudorandom number using the seed value.

2. The method of claim 1 , wherein the secret value is an arithmetic sum of the plurality of share values.

3. The method of claim 1 , further comprising:

receiving a request to generate an additional pseudorandom number;

determining a new seed value based on another one or more of the plurality of share values different than the one or more of the plurality of share values used for determining the seed value; and

generating the additional pseudorandom number by using the new seed value.

4. The method of claim 1 , wherein the cryptographic operation is one of a Data Encryption Standard (DES) operation, an Advanced Encryption Standard (AES) operation, or a hash-based operation.

5. The method of claim 1 , wherein determining the seed value is based on the one or more of the plurality of share values that change during performance of the cryptographic operation.

6. The method of claim 1 , wherein determining the seed value is based on a frequency of use of the one or more of the plurality of share values during performance of the cryptographic operation.

7. The method of claim 1 , wherein determining the seed value is based on the one or more of the plurality of share values selected based on a number of times that the one or more of the plurality of share values are stored during performance of the cryptographic operation.

8. A system comprising:

a memory; and

a processing device, operatively coupled with the memory, to:

initiate execution of a cryptographic operation involving each of a plurality of share values of a secret value;

receive, in conjunction with the cryptographic operation being executed, a request to generate a pseudorandom number;

determine a seed value based on one or more of the plurality of share values; and

generate the pseudorandom number using the seed value.

9. The system of claim 8 , wherein the secret value is an arithmetic sum of the plurality of share values is a proper subset of the plurality of share values.

10. The system of claim 8 , wherein the processing device is further to:

receive a request to generate an additional pseudorandom number;

determine a new seed value based on another one or more of the plurality of share values different than the one or more of the plurality of share values used for determining the seed value; and

generate the additional pseudorandom number by using the new seed value.

11. The system of claim 8 , wherein the cryptographic operation is one of a Data Encryption Standard (DES) operation, an Advanced Encryption Standard (AES) operation, or a hash-based operation.

12. The system of claim 8 , wherein to determine the seed value the processing device is to identify that the one or more of the plurality of share values change during performance of the cryptographic operation.

13. The system of claim 8 , wherein

the one or more of the plurality of share values are selected based on the frequency of use of the one or more of the plurality of share values during performance of the cryptographic operation.

14. The system of claim 8 , wherein

the one or more of the plurality of share values are selected based on a number of times that the one or more of the plurality of share values stored at the memory during performance of the cryptographic operation.

15. A non-transitory computer readable medium comprising instructions, which when executed by a processing device, cause the processing device to perform operations comprising:

initiating execution of a cryptographic operation involving each of a plurality of share values of a secret value;

receiving, in conjunction with the cryptographic operation being executed, a request to generate, by the processing device, a pseudorandom number;

determining a seed value based on one or more of the plurality of share values; and

generating the pseudorandom number using the seed value.

16. The non-transitory computer readable medium of claim 15 , wherein the secret value is an arithmetic sum of the plurality of share values.

17. The non-transitory computer readable medium of claim 15 , the operations further comprising:

receiving a request to generate an additional pseudorandom number;

determining a new seed value based on another one or more of the plurality of share values different than the one or more of the plurality of share values used for determining the seed value; and

generating the additional pseudorandom number by using the new seed value.

18. The non-transitory computer readable medium of claim 15 ,

wherein determining the seed value is based on the one or more of the plurality of share values that change during performance of the cryptographic operation.

19. The non-transitory computer readable medium of claim 15 ,

wherein determining the seed value is based on the one or more of the plurality of share values selected based on a frequency of use of the one or more of the plurality of share values during performance of the cryptographic operation.

20. The non-transitory computer readable medium of claim 15 ,

wherein determining the seed value is based on the one or more of the plurality of share values selected based on a number of times that the one or more of the plurality of share values are stored during performance of the cryptographic operation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2019
From: ROHATGI, PANKAJ; MULDER, ELKE DE; HUTTER, MICHAEL
To: CRYPTOGRAPHY RESEARCH, INC.
Reel/Frame 051065/0283 →
Continuity (3)
Continuation 15206136 · Jul 8, 2016
Provisional Application 62235403 · Sep 30, 2015
Related Publication 20190372757A1 · Dec 5, 2019