IP Library Granted Patent US 11,818,244
Granted Patent B2
US 11,818,244 · App. 18/081,078 · Granted Nov 14, 2023

Cryptographic processor for fully homomorphic encryption (FHE) applications

Inventors: Shaveer Bajpeyi (Toronto, CA); Glenn Gulak (Toronto, CA)
Assignee: THE GOVERNING COUNCIL OF THE UNIVERSITY OF TORONTO
H04L9/008H04L9/0618
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,818,244
App. No.
18/081,078
Granted
Nov 14, 2023
Kind
B2
Abstract

Cryptographic processor chips, systems and associated methods are disclosed. In one embodiment, a cryptographic processor is disclosed. The cryptographic processor includes a first cryptographic processing module to perform a first logic operation. The first cryptographic processing module includes first input circuitry to receive ciphertext input symbols. A first pipeline stage performs a first operation on the ciphertext input symbols and generates a first stage output. On-chip memory temporarily stores the first stage output and feeds the first stage output to a second pipeline stage in a pipelined manner. The second pipeline stage is configured to perform a second operation on the first stage output in a pipelined manner with respect to the first pipeline stage.

Claims (61)

1. A cryptographic processor, comprising:

a first cryptographic processing module to perform a first logic operation, the first cryptographic processing module configured as a Residue Number System (RNS) architecture and including:

first input circuitry to receive ciphertext input symbols;

a first pipeline stage to perform a first operation on the ciphertext input symbols and to generate a first stage output;

storage circuitry to store constants for use by the first pipeline stage, the storage circuitry to temporarily store the first stage output and to feed a second pipeline stage in a pipelined manner;

at least one Chinese Remainder Theorem (CRT) processing stage;

wherein the second pipeline stage is configured to perform a second operation on the first stage output in a pipelined manner with respect to the first pipeline stage; and

wherein the first cryptographic processing module includes multiple processing slices defining multiple processing channels, each channel to perform operations on signals 64-bits wide or less concurrently with the other processing channels.

2. The cryptographic processor of claim 1 , wherein:

the first input circuitry receives the ciphertext input symbols synchronous with an instruction clock signal; and

wherein a new set of input ciphertext symbols are presented to the first input circuitry each cycle of the instruction clock signal.

3. The cryptographic processor of claim 1 , wherein:

the first cryptographic processing module is configured to perform ciphertext multiplication operations, ciphertext rotation operations, or ciphertext addition operations.

4. The cryptographic processor of claim 1 , wherein:

the storage circuitry includes an input interface that is configured with a bit-width to receive at least one entire ciphertext or key coefficient per cycle of a system clock.

5. The cryptographic processor of claim 1 , wherein:

the first cryptographic processing module is configured as a Large Arithmetic Word Size (LAWS) architecture.

6. The cryptographic processor of claim 5 , wherein:

the first cryptographic processing module includes a single processing slice defining a single processing channel to perform operations on signals that are more than 64-bits wide.

7. The cryptographic processor of claim 1 , further comprising:

a second processing module to perform a second logic operation different than the first logic operation.

8. The cryptographic processor of claim 1 , wherein the storage circuitry includes:

on-chip register circuitry configured to temporarily store the input of each stage.

9. The cryptographic processor of claim 1 , wherein:

the first cryptographic processing module produces outputs with a pre-determined latency of execution cycles and constant throughput.

10. The cryptographic processor of claim 1 , wherein:

the first pipeline stage comprises a stage of number theoretic transform (NTT) circuits to perform an NTT operation as the first operation, the stage of NTT circuits configured to exhibit a predetermined parallelism; and

wherein the second pipeline stage is configured to employ a number of inputs and outputs that match the predetermined parallelism of the stage of NTT circuits.

11. A cryptographic processor, comprising:

a first cryptographic processing module including:

first input circuitry to receive ciphertext input symbols;

a number theoretic transform (NTT) stage to perform an NTT operation on received ciphertext input symbols and to generate an NTT stage output, the NTT stage configured to exhibit a predetermined parallelism;

a second circuit stage that receives the NTT stage output in a pipelined manner;

wherein the second circuit stage is configured to employ a number of inputs and outputs that matches the predetermined parallelism of the NTT circuit, and

wherein the first cryptographic processing module is configured as a Residue Number System (RNS) architecture and includes multiple processing slices defining multiple processing channels, each channel to perform operations on signals 64-bits wide or less concurrently with the other processing channels.

12. The cryptographic processor of claim 11 , wherein:

the first input circuitry receives the ciphertext input symbols synchronous with an instruction clock signal; and

wherein a new set of input ciphertext symbols are presented to the first input circuitry each cycle of the instruction clock signal.

13. The cryptographic processor of claim 11 , wherein:

the first cryptographic processing module is configured to perform ciphertext addition operations or ciphertext multiplication operations or ciphertext rotation operations.

14. The cryptographic processor of claim 11 , wherein:

the first cryptographic processing module produces outputs with a pre-determined latency of execution cycles and constant throughput.

15. A cryptographic processor, comprising:

a first cryptographic processing module including:

first input circuitry to receive ciphertext input symbols;

a number theoretic transform (NTT) stage to perform an NTT operation on received ciphertext input symbols and to generate an NTT stage output, the NTT stage configured to exhibit a predetermined parallelism;

a second circuit stage that receives the NTT stage output in a pipelined manner;

wherein the second circuit stage is configured to employ a number of inputs and outputs that matches the predetermined parallelism of the NTT circuit; and

wherein the first cryptographic processing module is configured as a Large Arithmetic Word Size (LAWS) architecture and includes a single processing slice defining a single processing channel to perform operations on signals that are more than 64-bits wide.

16. A method of operation in a cryptographic processor, the method comprising:

receiving ciphertext input symbols with first input circuitry;

performing a number theoretic transform (NTT) operation on the received ciphertext input symbols with an NTT stage and generating an NTT stage output, the NTT stage configured to exhibit a predetermined parallelism;

receiving the NTT stage output in a pipelined manner with a second pipeline stage;

configuring the second pipeline stage to employ a number of inputs and outputs that matches the predetermined parallelism of the NTT circuit; and

configuring the cryptographic processor as a Residue Number System (RNS) architecture and including multiple processing slices defining multiple processing channels, each channel to perform operations on signal 64-bits wide or less concurrently with the other processing channels.

17. A method of operation in a cryptographic processor, the method comprising:

receiving ciphertext input symbols with first input circuitry;

performing a number theoretic transform (NTT) operation on the received ciphertext input symbols with an NTT stage and generating an NTT stage output, the NTT stage configured to exhibit a predetermined parallelism;

receiving the NTT stage output in a pipelined manner with a second pipeline stage;

configuring the second pipeline stage to employ a number of inputs and outputs that matches the predetermined parallelism of the NTT circuit; and

configuring the cryptographic processor as a Large Arithmetic Word Size (LAWS) architecture and including a single processing slice defining a single processing channel to perform operations on signals that are more than 64-bits wide.

Continuity (2)
Provisional Application 63289783 · Dec 15, 2021
Related Publication 20230188322A1 · Jun 15, 2023
Cited By (1)
US 12,500,762