IP Library › Granted Patent US 11,386,236
Granted Patent B2
US 11,386,236 · App. 16/427,636 · Granted Jul 12, 2022

Masked gate logic for resistance to power analysis

Inventors: Andrew John Leiserson (San Francisco, CA); Mark Evan Marson (Carlsbad, CA); Megan Anneke Wachs (San Francisco, CA)
Assignee: Cryptography Research, Inc.
G06F21/72G06F21/71G06F21/755H04L9/003H04L2209/04H04L2209/12H04L2209/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,386,236
App. No.
16/427,636
Granted
Jul 12, 2022
Kind
B2
Abstract

A method of and system for gate-level masking of secret data during a cryptographic process is described. A mask share is determined, wherein a first portion of the mask share includes a first number of zero-values and a second number of one-values, and a second portion of the mask share includes the first number of one-values and the second number of zero-values. Masked data values and the first portion of the mask share are input into a first portion of masked gate logic, and the masked data values and the second portion of the mask share are input into a second portion of the masked gate logic. A first output from the first portion of the masked gate logic and a second output from the second portion of the masked gate logic are identified, wherein either the first output or the second output is a zero-value.

Claims (45)

1. A system comprising:

a device comprising a cryptographic circuit to perform a cryptographic operation; and

a power delivery network coupled to the device, wherein the cryptographic circuit comprises:

a mask generator circuit that determines a mask share, wherein a first portion of the mask share comprises a first number of zero-values and a second number of one-values, and a second portion of the mask share comprises the first number of one-values and the second number of zero-values; and

masked gate logic circuitry coupled to the mask generator circuit, the masked gate logic circuitry comprising a first portion and a second portion, wherein the first portion of the masked gate logic circuitry receives masked data values and the first portion of the mask share, and provides a first output, and wherein the second portion of the masked gate logic circuitry receives the masked data values and the second portion of the mask share, and provides a second output.

2. The system of claim 1 , wherein the first portion of the masked gate logic circuitry comprises a first four AND gates and a first OR gate, the first OR gate receiving outputs of the first four AND gates, and wherein the second portion of the masked gate logic circuitry comprises a second four AND gates and a second OR gate, the second OR gate receiving outputs of the second four AND gates.

3. The system of claim 1 , wherein the cryptographic circuit further comprises additional logic circuitry coupled to the masked gate logic circuitry, wherein the additional logic circuitry is to determine a final output based on the first output and the second output, wherein the final output is independent of secret data that is masked in the masked data values.

4. The system of claim 1 , wherein the cryptographic circuit further comprises additional logic circuitry coupled to the masked gate logic circuitry, wherein the additional logic circuitry is to perform an additional function on the first output and the second output before outputting a final output, wherein the final output is independent of secret data that is masked in the masked data values.

5. The system of claim 2 , wherein the output of exactly one of the first four AND gates and the second four AND gates rises, and wherein the output of the OR gate receiving the output of the AND gate that rises also rises.

6. A circuit comprising:

Boolean logic circuitry to receive cipher input values and masking values, wherein the Boolean logic circuitry outputs masked data values;

a mask generator circuit that determines a mask share, wherein a first portion of the mask share comprises a first number of zero-values and a second number of one-values, and a second portion of the mask share comprises the first number of one-values and the second number of zero-values; and

masked gate logic circuitry coupled to the mask generator circuit and the Boolean logic circuitry, the masked gate logic circuitry comprising a first portion and a second portion,

wherein the first portion of the masked gate logic circuitry:

receives the masked data values from the Boolean logic circuitry;

receives the first portion of the mask share from the mask generator circuit; and provides a first output; and

wherein the second portion of the masked gate logic circuitry:

receives the masked data values from the Boolean logic circuitry;

receives the second portion of the mask share from the mask generator circuit; and

provides a second output.

7. The circuit of claim 6 , further comprising additional Boolean logic circuitry coupled to the masked gate logic circuitry, the additional Boolean logic circuitry to:

receive the first output from the first portion of the masked gate logic circuitry;

receive the second output from the second portion of the masked gate logic circuitry; and

provide cipher output values.

8. The circuit of claim 6 , wherein the mask generator circuit comprises:

a random number generator coupled to the Boolean logic circuitry, the random number generator to generate the masking values;

a table generator coupled to the random number generator, the table generator to generate the mask share; and

a storage element coupled to the table generator and the masked gate logic circuitry, the storage element to store the mask share.

9. The circuit of claim 6 , wherein the first portion of the masked gate logic circuitry comprises a first four AND gates and a first OR gate, the first OR gate receiving outputs of the first four AND gates, and wherein the second portion of the masked gate logic circuitry comprises a second four AND gates and a second OR gate, the second OR gate receiving outputs of the second four AND gates.

10. The circuit of claim 6 , further comprising additional logic circuitry coupled to the masked gate logic circuitry, wherein the additional logic circuitry is to determine a final output based on the first output and the second output, wherein the final output is independent of the cipher input values.

11. The circuit of claim 6 , further comprising additional logic circuitry coupled to the masked gate logic circuitry, wherein the additional logic circuitry is to perform an additional function on the first output and the second output before outputting a final output, wherein the final output is independent of the cipher input values.

12. The circuit of claim 6 , further comprising a storage element coupled to the masked gate logic circuitry, the storage element to store the mask share for one or more clock cycles prior to the first portion of the masked gate logic circuitry receiving the masked data values and the first portion of the mask share.

13. The circuit of claim 6 , wherein the masked gate logic circuitry is to receive precharge signals during a first stage of a cryptographic operation, wherein the masked generator circuit is to determine the mask share during a second stage of the cryptographic operation, wherein the masked gate logic circuitry is to receive the masked data values and the mask share during a third stage of the cryptographic operation, and wherein the masked gate logic circuitry is to output the first portion and the second portion during a fourth stage of the cryptographic operation.

14. The circuit of claim 8 , wherein the storage element is a first-in-first-out (FIFO) buffer.

15. The circuit of claim 9 , wherein the output of exactly one of the first four AND gates and the second four AND gates rises, and wherein the output of the OR gate receiving the output of the AND gate that rises also rises.

16. A system comprising:

an integrated circuit comprising a set of propagation paths and a cryptographic circuit to perform a cryptographic operation; and

a power delivery network coupled to the integrated circuit, the power delivery network to delivery power to the integrated circuit, wherein the cryptographic circuit comprises:

masked gate logic circuitry that outputs output signals on each of the set of propagation paths with equal probability during the cryptographic operation to mask secret data from being detected via power analysis of the power delivery network; and

additional logic circuitry coupled to the masked gate logic circuitry, wherein the additional logic circuitry is to determine a final output based on a first output and a second output of the output signals, wherein the final output is independent of secret data that is masked in the masked data values.

17. The system of claim 16 , wherein the masked gate logic circuitry comprises:

a first portion to receive masked data values and a first portion of a mask share, the first portion to provide the first output, wherein the masked data values correspond to the secret data being masked by masking values; and

a second portion to receive the masked data values and a second portion of the mask share, the second portion to provide the second output.

18. The system of claim 17 , wherein the first portion of the masked gate logic circuitry comprises a first four AND gates and a first OR gate, the first OR gate receiving outputs of the first four AND gates, and wherein the second portion of the masked gate logic circuitry comprises a second four AND gates and a second OR gate, the second OR gate receiving outputs of the second four AND gates.

19. The system of claim 18 , wherein the output of exactly one of the first four AND gates and the second four AND gates rises, and wherein the output of the OR gate receiving the output of the AND gate that rises also rises.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2019
From: LEISERSON, ANDREW JOHN; MARSON, MARK EVAN; WACHS, MEGAN ANNEKE
To: CRYPTOGRAPHY RESEARCH, INC.
Reel/Frame 051056/0903 →
Continuity (4)
Continuation 15392961 · Dec 28, 2016
Continuation 14565821 · Dec 10, 2014
Provisional Application 61915332 · Dec 12, 2013
Related Publication 20190362104A1 · Nov 28, 2019