IP Library › Granted Patent US 11,569,994
Granted Patent B2
US 11,569,994 · App. 17/356,972 · Granted Jan 31, 2023

Accelerating multiple post-quantum cryptograhy key encapsulation mechanisms

Inventors: Santosh Ghosh (Hillsboro, OR); Andrew Reinders (Portland, OR); Manoj Sastry (Portland, OR)
Assignee: INTEL CORPORATION
H04L9/3093H04L9/0637H04L9/14
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,569,994
App. No.
17/356,972
Granted
Jan 31, 2023
Kind
B2
Abstract

An accelerator includes polynomial multiplier circuitry including at least one modulus multiplier operating according to a mode. The at least one modulus multiplier include a multiplier to multiply two polynomial coefficients to generate a multiplication result, a power of two reducer to reduce the multiplication result to a reduced multiplication result when the mode is a power of two mode, and a prime modulus reducer to reduce the multiplication result to the reduced multiplication result when the mode is a prime modulus mode.

Claims (30)

1. An apparatus comprising:

a memory, the memory storing a mode; and

polynomial multiplier circuitry including at least one modulus multiplier circuit, the at least one modulus multiplier circuit including a mode selector to select a power of two reducer circuit when the mode is power of two and to select a prime modulus reducer circuit when the mode is prime and a modulus multiplier to multiply two polynomial coefficients to generate a multiplication result, the power of two reducer circuit to reduce the multiplication result to a reduced multiplication result when the mode is a power of two mode for a key encapsulation mechanism (KEM) based on learning with rounding (LWR), and the prime modulus reducer circuit to reduce the multiplication result to the reduced multiplication result when the mode is a prime modulus mode for a KEM based on learning with errors (LWE).

2. The apparatus of claim 1 , wherein polynomial coefficients are for degree-256 polynomials.

3. The apparatus of claim 1 , wherein the modulus multiplier is to multiply the two polynomial coefficients in number theoretic transform (NTT) representation when the mode is prime modulus.

4. The apparatus of claim 1 , wherein the power of two reducer circuit is to generate the reduced multiplication result as n least significant bits of the multiplication result, where n is a natural number.

5. The apparatus of claim 1 , wherein the prime modulus reducer circuit is to generate the reduced multiplication result as the multiplication result modulo a selected prime number.

6. The apparatus of claim 1 , wherein the polynomial multiplier circuitry includes M modulus multipliers, M being a natural number, the M modulus multipliers to generate reduced multiplication results in parallel.

7. A method comprising:

multiplying two polynomial coefficients by a polynomial multiplier by accelerator circuitry to generate a multiplication result;

selecting a power of two reducer in accelerator circuitry when a mode of operating the polynomial multiplier is power of two and selecting a prime modulus reducer in the accelerator circuitry when the mode is prime;

reducing the multiplication result to a reduced multiplication result by the power of two reducer for a key encapsulation mechanism (KEM) based on learning with rounding (LWR) in response to selecting the power of two reducer, and

reducing the multiplication result to the reduced multiplication result by the prime modulus reducer for a KEM based on learning with errors (LWE) in response to selecting the prime modulus reducer.

8. The method of claim 7 , wherein polynomial coefficients are for degree-256 polynomials.

9. The method of claim 7 , wherein multiplying two polynomial coefficients by a polynomial multiplier in accelerator circuitry to generate a multiplication result comprises multiplying the two polynomial coefficients in number theoretic transform (NTT) representation when the mode is prime modulus.

10. The method of claim 7 , wherein reducing the multiplication result to a reduced multiplication result when a mode of operating the polynomial multiplier is a power of two mode comprises generating the reduced multiplication result as n least significant bits of the multiplication result, where n is a natural number.

11. The method of claim 7 , wherein reducing the multiplication result to the reduced multiplication result when the mode is a prime modulus mode comprises generating the reduced multiplication result as the multiplication result modulo a selected prime number.

12. A computing system comprising:

a processor;

a memory coupled to the processor, the memory having instructions stored thereon that, in response to execution by the processor, cause the processor to perform cryptographic operations; and

an accelerator circuitry to perform cryptographic operations offloaded from the processor, the accelerator circuitry including a memory, the memory storing a mode, and polynomial multiplier circuitry including at least one modulus multiplier circuit, the at least one modulus multiplier circuit including a mode selector to select a power of two reducer circuit when the mode is power of two and to select a prime modulus reducer circuit when the mode is prime and a multiplier circuit to multiply two polynomial coefficients to generate a multiplication result, the power of two reducer circuit to reduce the multiplication result to a reduced multiplication result when the mode is a power of two mode for a key encapsulation mechanism (KEM) based on learning with rounding (LWR), and the prime modulus reducer circuit to reduce the multiplication result to the reduced multiplication result when the mode is a prime modulus mode for a KEM based on learning with errors (LWE).

13. The computing system of claim 12 , wherein polynomial coefficients are for degree-256 polynomials.

14. The computing system of claim 12 , wherein the modulus multiplier circuit is to multi ply the two polynomial coefficients in number theoretic transform (NTT) representation when the mode is prime modulus.

15. The computing system of claim 12 , wherein the power of two reducer circuit is to generate the reduced multiplication result as n least significant bits of the multiplication result, where n is a natural number.

16. The computing system of claim 12 , wherein the prime modulus reducer circuit is to generate the reduced multiplication result as the multiplication result modulo a selected prime number.

17. At least one non-transitory machine-readable memory medium comprising instructions that, when executed, cause at least one processor:

multiply two polynomial coefficients by a polynomial multiplier circuit to generate a multiplication result;

select a power of two reducer in accelerator circuitry when a mode of operating the polynomial multiplier is power of two and select a prime modulus reducer in the accelerator circuitry when the mode is prime;

reduce the multiplication result to a reduced multiplication result by the power of two reducer for a key encapsulation mechanism (KEM) based on learning with rounding (LWR) in response to selecting the power of two reducer, and

reduce the multiplication result to the reduced multiplication result by the prime modulus reducer for a KEM based on learning with errors (LWE) in response to selecting the prime modulus reducer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2021
From: GHOSH, SANTOSH; REINDERS, ANDREW; SASTRY, MANOJ
To: INTEL CORPORATION
Reel/Frame 057274/0995 →
Continuity (1)
Related Publication 20220417019A1 · Dec 29, 2022
Cited By (1)
US 12,483,382