IP Library › Granted Patent US 12,058,261
Granted Patent B2
US 12,058,261 · App. 17/480,360 · Granted Aug 6, 2024

Low overhead side channel protection for number theoretic transform

Inventors: Santosh Ghosh (Hillsboro, OR); Andrea Basso (London, GB); Dumitru-Daniel Dinu (Chandler, AZ); Avinash L. Varna (Chandler, AZ); Manoj Sastry (Portland, OR)
Assignee: INTEL CORPORATION
H04L9/3093H04L9/0869H04L9/3026H04L9/3247
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,058,261
App. No.
17/480,360
Granted
Aug 6, 2024
Kind
B2
Abstract

An apparatus comprises an input register comprising an input polynomial, a processing datapath communicatively coupled to the input register comprising a plurality of compute nodes to perform a number theoretic transform (NTT) algorithm on the input polynomial to generate an output polynomial in NTT format. The plurality of compute nodes comprises at least a first butterfly circuit to perform a series of butterfly calculations on input data and a randomizing circuitry to randomize an order of the series of butterfly calculations.

Claims (26)

1. An apparatus comprising:

processor circuitry coupled to a memory, the processor circuitry to receive, via an input register, input data perform a number-theoretic transform (NTT) on the input data to generate output data in NTT format, wherein the NTT format output data includes blocks of data; and

shuffle sequences of data associated with the blocks of data within the NTT format output data such that computations relating to the sequences of data are reordered at predetermined intervals resulting in a constant-time execution of the blocks of data.

2. The apparatus of claim 1 , wherein the NTT is performed via a processing datapath associated with the processor and communicatively coupled to an input register, wherein the processing datapath comprises compute nodes communicatively coupled in series.

3. The apparatus of claim 2 , wherein the compute nodes comprise butterfly circuits operating in parallel with each other, wherein a butterfly circuit to perform a series of butterfly calculations on the input data.

4. The apparatus of claim 1 , further comprising an output register to receive the NTT output format data including an output polynomial in NTT format.

5. The apparatus of claim 1 , further comprising randomizing circuitry to randomize an order of the series of butterfly calculations, and implement a modular reduction operation to generate a sequence of operations for the series of butterfly calculations.

6. The apparatus of claim 3 , wherein the series of butterfly operations are computed using a secret sharing operation, and wherein a compute node implementing a blinded operation to compute a blinded polynomial.

7. A computer-implemented method, comprising:

receiving, by a processor of a computing device, input data;

performing a number-theoretic transform (NTT) on the input data to generate output data in NTT format, wherein the NTT format output data includes blocks of data; and

shuffling sequences of data associated with the blocks of data within the NTT format output data such that computations relating to the sequences of data are reordered at predetermined intervals resulting in a constant-time execution of the blocks of data.

8. The method of claim 7 , wherein the NTT is performed via a processing datapath associated with the processor and communicatively coupled to an input register, wherein the processing datapath comprises compute nodes communicatively coupled in series.

9. The method of claim 8 , wherein the compute nodes comprise butterfly circuits operating in parallel with each other, wherein a butterfly circuit to perform a series of butterfly calculations on the input data.

10. The method of claim 7 , further comprising receiving, via an output register, the NTT output format data including an output polynomial in NTT format.

11. The method of claim 7 , further comprising randomizing, via randomizing circuitry, an order of the series of butterfly calculations, and implementing a modular reduction operation to generate a sequence of operations for the series of butterfly calculations.

12. The method of claim 9 , wherein the series of butterfly operations are computed using a secret sharing operation, and wherein a compute node implementing a blinded operation to compute a blinded polynomial.

13. At least one computer-readable medium having stored thereon instructions which, when executed, cause a computing device to perform operations comprising:

receiving input data;

performing a number-theoretic transform (NTT) on the input data to generate output data in NTT format, wherein the NTT format output data includes blocks of data; and

shuffling sequences of data associated with the blocks of data within the NTT format output data such that computations relating to the sequences of data are reordered at predetermined intervals resulting in a constant-time execution of the blocks of data.

14. The computer-readable medium of claim 13 , wherein the NTT is performed via a processing datapath associated with the processor and communicatively coupled to an input register, wherein the processing datapath comprises compute nodes communicatively coupled in series.

15. The computer-readable medium of claim 14 , wherein the compute nodes comprise butterfly circuits operating in parallel with each other, wherein a butterfly circuit to perform a series of butterfly calculations on the input data.

16. The computer-readable medium of claim 13 , further comprising receiving, via an output register, the NTT output format data including an output polynomial in NTT format.

17. The computer-readable medium of claim 13 , further comprising randomizing, via randomizing circuitry, an order of the series of butterfly calculations, and implementing a modular reduction operation to generate a sequence of operations for the series of butterfly calculations.

18. The computer-readable medium of claim 15 , wherein the series of butterfly operations are computed using a secret sharing operation, and wherein a compute node implementing a blinded operation to compute a blinded polynomial.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2021
From: GHOSH, SANTOSH; BASSO, ANDREA; DINU, DUMITRU-DANIEL; VARNA, AVINASH L.; SASTRY, MANOJ
To: INTEL CORPORATION
Reel/Frame 058049/0399 →
Continuity (1)
Related Publication 20220006630A1 · Jan 6, 2022