IP Library › Granted Patent US 12,368,574
Granted Patent B2
US 12,368,574 · App. 18/190,308 · Granted Jul 22, 2025

Side-channel resistant multiplicatively masked encryption engine with zero-value attack detection

Inventors: Raghavan Kumar (Hillsboro, OR); Sanu Mathew (Portland, OR); Sachin Taneja (Hillsboro, OR)
Assignee: Intel Corporation
H04L9/0631H04L9/0637
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 12,368,574
App. No.
18/190,308
Granted
Jul 22, 2025
Kind
B2
Abstract

In one embodiment, a method comprises: combining, in a first adder circuit of a cryptographic engine, a round key with masked plaintext to generate an additively masked input; converting, in a first converter of the cryptographic engine, the additively masked input to a multiplicatively masked input; and performing, in a substitution box circuit of the cryptographic engine, a non-linear inverse operation on the multiplicatively masked input when the multiplicatively masked input is non-zero, and performing the non-linear inverse operation on a random non-zero value when the multiplicatively masked input is zero. Other embodiments are described and claimed.

Claims (54)

1. A method comprising:

combining, in a first adder circuit of a cryptographic engine, a round key with masked plaintext to generate an additively masked input;

converting, in a first converter of the cryptographic engine, the additively masked input to a multiplicatively masked input; and

performing, in a substitution box (Sbox) circuit of the cryptographic engine, a non-linear inverse operation on the multiplicatively masked input when the multiplicatively masked input is non-zero and performing the non-linear inverse operation on a random non-zero value when the multiplicatively masked input is zero.

2. The method of claim 1 , further comprising detecting that the multiplicatively masked input is zero in a balanced zero-value detector.

3. The method of claim 2 , further comprising, in response to detecting that the multiplicatively masked input is zero:

providing the random non-zero value to the Sbox circuit and to a second converter of the cryptographic engine, the second converter coupled to an output of the Sbox circuit; and

converting, in the second converter, an output of the Sbox circuit to an additive output using the random non-zero value.

4. The method of claim 1 , further comprising:

generating a mask value in a random number generator; and

combining the mask value with plaintext to obtain the masked plaintext.

5. The method of claim 4 , further comprising:

providing the mask value to a mask zero-value detector; and

in response to detecting that the mask value is zero, providing the random non-zero value to the Sbox circuit instead of the multiplicatively masked input.

6. The method of claim 1 , wherein converting the additively masked input to the multiplicatively masked input comprises:

multiplying the additively masked input with a reflected mask value to obtain a first product;

multiplying the reflected mask value with a mask value to obtain a second product; and

combining the first product and the second product to obtain the multiplicatively masked input.

7. The method of claim 1 , further comprising converting, in a second converter of the cryptographic engine, a multiplicative inverse output of the non-linear inverse operation to an additive inverse output.

8. The method of claim 7 , wherein converting the multiplicative inverse output to the additive inverse output comprises:

multiplying a fresh mask value with an input mask value to obtain a first product;

summing the first product with the multiplicative inverse output to obtain a sum; and

merging the sum with an inverse of the input mask value to obtain the additive inverse output.

9. The method of claim 8 , further comprising performing a Galois field ( 24 ) inverse operation to obtain the inverse of the input mask value.

10. The method of claim 1 , wherein performing the non-linear inverse operation comprises performing a Galois field ( 24 ) inverse operation to generate a multiplicative inverse output.

11. The method of claim 10 , further comprising merging the multiplicative inverse output with a fresh mask value to obtain an additive inverse output.

12. An apparatus comprising:

an additive-to-multiplicative converter to convert an additive masked input to a multiplicative masked input;

a substitution circuit to perform a composite-field substitution of bytes of the multiplicative masked input, and output a multiplicative output;

a zero-value detector coupled to the substitution circuit to detect a zero value of the multiplicative masked input, wherein in response to detection of the zero value of the multiplicative masked input, a non-zero value is to be provided to the substitution circuit instead of the multiplicative masked input; and

a multiplicative-to-additive converter coupled to the substitution circuit to convert the multiplicative output to an additive output.

13. The apparatus of claim 12 , wherein the additive-to-multiplicative converter comprises:

a first multiplier to multiply the additive masked input with a reflected mask value to obtain a first product;

a second multiplier to multiply the reflected mask value with a mask value to obtain a second product; and

an adder to combine the first product and the second product to obtain the multiplicative masked input.

14. The apparatus of claim 12 , wherein the multiplicative-to-additive converter comprises:

a first multiplier to multiply a fresh mask value with an input mask value to obtain a first product;

an adder to sum the first product with the multiplicative output to obtain a sum; and

a second multiplier coupled to the adder to multiply the sum with an inverse of the input mask value to obtain the additive output.

15. The apparatus of claim 12 , wherein the zero-value detector comprises a balanced detector comprising:

a first data path to output an active zero detect signal when the multiplicative masked input has a zero value; and

a second data path to output an inactive complementary zero detect signal when the multiplicative masked input has the zero value.

16. The apparatus of claim 15 , wherein the first data path comprises first logic circuitry and the second data path comprises second logic circuitry, the second logic circuitry to balance the first logic circuitry.

17. The apparatus of claim 12 , further comprising a mask zero-value detector to detect a zero value within a mask value, and provide a random non-zero value to the substitution circuit in place of the detected zero value within the mask value.

18. A system comprising:

a cryptographic circuit to encrypt plaintext into ciphertext, the cryptographic circuit comprising:

a first exclusive-OR (XOR) circuit to add a random mask value with the plaintext to generate a first sum;

a second XOR circuit to add the first sum with a key to generate an additive masked input;

an additive-to-multiplicative converter to convert the additive masked input to a multiplicative masked input using a permuted mask value;

a substitution circuit coupled to the additive-to-multiplicative converter to perform a composite-field substitution of bytes of the multiplicative masked input, and output a multiplicative output, wherein in response to detection of a zero value within a portion of the multiplicative masked input, the substitution circuit is to perform the composite-field substitution on a random non-zero value instead of the portion of the multiplicative masked input; and

a multiplicative-to-additive converter coupled to the substitution circuit to convert the multiplicative output to an additive output using a fresh mask value; and

a memory coupled to the cryptographic circuit, wherein the memory is to store the ciphertext.

19. The system of claim 18 , wherein the cryptographic circuit comprises a dual-rail balanced zero-value detector to detect the zero value within the portion of the multiplicative masked input.

20. The system of claim 18 , further comprising a system on chip comprising a plurality of cores and the cryptographic circuit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2023
From: KUMAR, RAGHAVAN; MATHEW, SANU; TANEJA, SACHIN
To: INTEL CORPORATION
Reel/Frame 063126/0329 →
Continuity (1)
Related Publication 20240333471A1 · Oct 3, 2024
References Cited (9)
US 10985903B2 · Kumar · 2021 [cited by applicant]
US 11416165B2 · Mathuriya · 2022 [cited by applicant]
US 20050207571A1 · Ahn · 2005 [cited by examiner]
US 20060023875A1 · Graunke · 2006 [cited by examiner]
US 20160269175A1 · Cammarota · 2016 [cited by examiner]
CN 111245598A · 2020 [cited by applicant]
Raghavan, Kumar, et al., “A Gbps SCA-Resistant Multiplicative-Masked ARS Engine in Intel 4 CMOS,” 2022 Symposium on VLSI Technology & Circuits Digest of Technical Papers, 2022, 2 pages. [cited by applicant]
International Searching Authority, International Search Report and Written Opinion dated Apr. 19, 2024 in International Application No. PCT/US2023/084043 (10 pages). [cited by applicant]
Easttom, “A generalized methodology for designing non-linear elements in symmetric cryptographic primitives.” 2018 IEEE 8th Annual Computing and Communication Workshop and Conference (CCWC), Feb. 26, 2018, pp. 444-449. [cited by applicant]