Polynomial Multiplication via Number Theoretic Transform

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current special-purpose co-processors for RSA or Elliptic-curve cryptography are inefficient in performing polynomial multiplications required for lattice-based post-quantum cryptography, making them costly and time-consuming to develop and implement.

Innovation Solution

A method for efficiently multiplying polynomials by evaluating them at multiple powers of a primitive root of unity, performing pairwise multiplications, and computing a linear combination with modular reduction to obtain the product's coefficients, leveraging existing co-processors through techniques like Kronecker substitution and number theoretic transforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing co-processors designed for RSA or ECC cryptography are used, then hardware compatibility is maintained, but polynomial multiplication efficiency is insufficient

Engineering Contradiction:
Improvehardware compatibilityVSAvoidpolynomial multiplication efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent transforms the polynomial multiplication problem into an equivalent integer multiplication problem by changing the parameter representation. Specifically, it uses the Number Theoretic Transform (NTT) to convert polynomial coefficients into a different domain where multiplication can be performed using existing integer multiplication hardware, thus maintaining hardware compatibility while improving efficiency for lattice-based cryptography operations

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary transformation process (NTT) that acts as a mediator between the polynomial multiplication operation and the existing integer multiplication hardware. This intermediary converts polynomials into a form that can be efficiently processed by RSA/ECC co-processors, then converts the result back, enabling existing hardware to perform polynomial multiplications efficiently

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If new special-purpose co-processors are developed for lattice-based cryptography, then polynomial multiplication efficiency is improved, but development cost and time increase

Engineering Contradiction:
Improvepolynomial multiplication efficiencyVSAvoiddevelopment cost and time
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent makes existing RSA/ECC co-processors universal by enabling them to perform polynomial multiplications required for lattice-based cryptography in addition to their original integer multiplication functions. This multi-functionality approach allows a single hardware design to serve multiple cryptographic purposes, eliminating the need for separate specialized hardware and reducing development costs

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

By changing the mathematical representation and using NTT transformation, the patent enables existing hardware to handle polynomial operations without requiring new specialized circuits. This parameter transformation approach allows the same hardware to efficiently perform different types of cryptographic operations

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If polynomial multiplication is performed using traditional methods, then implementation simplicity is maintained, but computational overhead increases

Engineering Contradiction:
Improveimplementation simplicityVSAvoidcomputational overhead
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent substitutes the mechanical/computational process of polynomial multiplication with an equivalent integer multiplication process using NTT. This substitution replaces a computationally intensive operation with one that can be executed more efficiently using standard integer arithmetic operations, reducing computational overhead while maintaining implementation feasibility

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11206136B1Method for multiplying polynomials for a cryptographic operation
Publication Date: 2021.12.21 NXP BV
  • US11206136B1 patent drawing
  • US11206136B1 patent drawing

AI summary

A method is provided for multiplying two polynomials. In the method, first and second polynomials are evaluated at 2t inputs, where t is greater than or equal to one, and where each input is a fixed power of two 2l/(2t) multiplied with a different power of a primitive root of unity, thereby creating 2 times 2t integers, where l is an integer such that 2l is at least as large as the largest coefficient of the resulting product multiplying the first and second polynomials. The 2 times 2t integers are then multiplied pairwise, and a modular reduction is performed to get 2t integers. A linear combination of the 2t integers multiplied with primitive roots of unity is computed to get 2t integers whose limbs in the base 2l-bit representation correspond to coefficients of the product of the first and second polynomials. The method can be implemented on a processor designed for performing RSA and/or ECC type cryptographic operations.