IP Library Granted Patent US 11,936,768
Granted Patent B2
US 11,936,768 · App. 17/086,007 · Granted Mar 19, 2024

Obfuscating cryptographic parameters used in elliptical curve cryptography, and related systems and devices

Inventor: Huiming Chen (Colorado Springs, CO)
Assignee: Microchip Technology Incorporated
H04L9/002G06F7/723G06F7/725H04L9/3066H04L9/3252H04L2209/08H04L2209/16
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,936,768
App. No.
17/086,007
Granted
Mar 19, 2024
Kind
B2
Abstract

An obfuscation process is described for obfuscating a cryptographic parameter of cryptographic operations such as calculations used in elliptical curve cryptography and elliptical curve point multiplication. Such obfuscation processes may be used for obfuscating device characteristics that might otherwise disclose information about the cryptographic parameter, cryptographic operations or cryptographic operations more generally, such as information sometimes gleaned from side channel attacks and lattice attacks.

Claims (54)

1. A method of obfuscating at least a portion of a cryptographic process, the method comprising:

obtaining an obfuscation parameter;

applying an obfuscation process to an entire cryptographic parameter of a cryptographic process to obtain an obfuscated cryptographic parameter having substantially a same bit length as a bit length of the cryptographic parameter, wherein a parameter of the obfuscation process includes the obfuscation parameter;

reformatting the obfuscated cryptographic parameter into an expression comprising a random number, a non-zero constant, and a variable component having a value based, at least in part, on the obfuscated cryptographic parameter, wherein a bit length of each of the random number, non-zero constant, and the variable component is selected based, at least in part, on the cryptographic parameter; and

performing cryptographic operations of the cryptographic process to obtain cryptographic information, wherein a parameter of the cryptographic operations includes the obfuscated cryptographic parameter.

2. The method of claim 1 , wherein the applying the obfuscation process to the entire cryptographic parameter comprises applying an obfuscation operation to discrete window-sized portions of the cryptographic parameter.

3. The method of claim 1 , wherein obtaining the obfuscation parameter comprises obtaining one or more of a cryptographic parameter length, a window size, and a degree of randomness.

4. The method of claim 1 , wherein

the expression is a randomized expression corresponding to the obfuscated cryptographic parameter.

5. The method of claim 4 , wherein the reformatting the obfuscated cryptographic parameter into the randomized expression corresponding to the obfuscated cryptographic parameter, comprises:

obtaining a first component of an expression corresponding to the obfuscated cryptographic parameter, the first component having a non-zero value;

obtaining a second component of the expression corresponding to the obfuscated cryptographic parameter, the second component having a randomly generated value; and

obtaining a third component of the expression corresponding to the obfuscated cryptographic parameter, the third component having a value corresponding to a difference between values of the obfuscated cryptographic parameter, the first component and the second component.

6. The method of claim 4 , further comprising:

pre-computing results of performing at least some of the cryptographic operations responsive to the randomized expression.

7. The method of claim 1 , further comprising:

ensuring the bit length of the obfuscated cryptographic parameter is the same as the bit length of the cryptographic parameter.

8. The method of claim 1 , further comprising:

obtaining a component having a bit length that is the same as the bit length of the cryptographic parameter.

9. The method of claim 1 wherein the performing the cryptographic operations comprise performing one of: elliptic curve point multiplication operations or modular exponentiation operations.

10. The method of claim 1 , further comprising:

adjusting a degree of randomness associated with the obfuscation process by setting a most significant bit of a component of an expression corresponding to the obfuscated cryptographic parameter, the component having a randomly generated value.

11. The method of claim 1 , further comprising:

performing fixed-window based cryptographic operations responsive to a randomized expression that corresponds to the cryptographic parameter.

12. A crypto-engine of an electronic system, comprising:

a processor;

a first memory having processor-executable instructions stored thereon that, when executed by the processor, cause the processor to:

apply an obfuscation process to an entire cryptographic parameter of a cryptographic process to obtain an obfuscated cryptographic parameter, wherein a bit length of the obfuscated cryptographic parameter is substantially the same as a bit length of the cryptographic parameter;

reformat the obfuscated cryptographic parameter into an expression comprising a random number, a non-zero constant, and a variable component having a value based, at least in part, on the obfuscated cryptographic parameter, wherein a bit length of each of the random number, non-zero constant, and the variable component is selected based, at least in part, on the cryptographic parameter; and

perform cryptographic operations of the cryptographic process to obtain cryptographic information, wherein a parameter of the cryptographic operations includes the obfuscated cryptographic parameter.

13. The crypto-engine of claim 12 , wherein the cryptographic operations comprise operations for elliptic curve point multiplication operations or modular exponent operations.

14. The crypto-engine of claim 12 , wherein

the expression is a randomized expression corresponding to the obfuscated cryptographic parameter.

15. The crypto-engine of claim 14 , wherein the obfuscation process is configured to:

obtain a first component of an expression that corresponds to the obfuscated cryptographic parameter, wherein the first component has a non-zero value;

obtain a second component of the expression that corresponds to the obfuscated cryptographic parameter, wherein the second component has a randomly generated value; and

obtain a third component of the expression that corresponds to the obfuscated cryptographic parameter, wherein the third component has a value that corresponds to a difference between values of the obfuscated cryptographic parameter, the first component and the second component.

16. The crypto-engine of claim 12 , wherein the obfuscation process is configured to:

pre-compute results of performing at least some of the cryptographic operations; and

store the pre-computed results in a writable memory.

17. A computer-readable storage device having machine executable instructions that, when executed by a processor, are configured to enable the processor to perform operations comprising:

obtaining an obfuscation parameter;

applying an obfuscation process to an entire cryptographic parameter of a cryptographic process to obtain an obfuscated cryptographic parameter without increasing a bit length of the obfuscated cryptographic parameter relative to a bit length of the cryptographic parameter, wherein a parameter of the obfuscation process includes the obfuscation parameter;

reformatting the obfuscated cryptographic parameter into an expression comprising a random number, a non-zero constant, and a variable component having a value based, at least in part, on the obfuscated cryptographic parameter, wherein a bit length of each of the random number, non-zero constant, and the variable component is selected based, at least in part, on the cryptographic parameter; and

performing cryptographic operations of the cryptographic process to obtain cryptographic information, wherein a parameter of the cryptographic operations includes the obfuscated cryptographic parameter.

18. The computer-readable storage device of claim 17 , wherein

the expression is a randomized expression corresponding to the obfuscated cryptographic parameter.

19. The computer-readable storage device of claim 18 , wherein the operations further comprise:

obtaining a first component of an expression that corresponds to the obfuscated cryptographic parameter, wherein the first component has a non-zero value;

obtaining a second component of the expression that corresponds to the obfuscated cryptographic parameter, wherein the second component has a randomly generated value; and

obtaining a third component of the expression that corresponds to the obfuscated cryptographic parameter, wherein the third component has a value that corresponds to a difference between values of the obfuscated cryptographic parameter, the first component and the second component.

20. The computer-readable storage device of claim 18 , wherein the operations further comprise:

pre-computing results of performing at least some of the cryptographic operations; and

storing the pre-computed results in a writable memory.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2022
From: CHEN, HUIMING
To: MICROCHIP TECHNOLOGY INCORPORATED
Reel/Frame 059987/0141 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0335 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059357/0823 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059264/0384 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 058214/0238 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 058214/0625 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058214/0380 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →