Polynomial Multiplication via Number Theoretic Transform
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
3Ease of operation
If polynomial multiplication is performed using traditional methods, then implementation simplicity is maintained, but computational overhead increases
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
Data Source
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.

