Co-processor Polynomial Multiplication via NTT and Kronecker Substitution
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, as they are designed for large integer arithmetic rather than smaller coefficient polynomial operations, making them obsolete for lattice-based cryptography.
Innovation Solution
A method involving the use of number theoretic transforms (NTTs) and Kronecker substitution to map polynomials into smaller rings based on primitive roots of unity, allowing for efficient polynomial multiplication by splitting the operation into smaller multiplications that can be handled by existing co-processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If existing co-processors designed for RSA or ECC algorithms are used, then hardware cost is reduced and device complexity is lowered, but polynomial multiplication efficiency deteriorates because they are designed for large integer arithmetic rather than smaller coefficient polynomial operations
Solution Approach 1:
The patent transforms the polynomial multiplication problem by changing the parameter representation: it maps polynomials with small coefficients into a different domain using number theoretic transforms, where the computation can be performed using existing large integer arithmetic hardware. This parameter transformation allows existing co-processors to efficiently handle polynomial operations originally designed for different computational parameters.
Solution Approach 2:
The patent introduces number theoretic transforms (NTT) and Kronecker substitution as intermediary mathematical operations that bridge between polynomial multiplication and integer multiplication. These intermediaries convert the polynomial operation into an equivalent integer operation that existing co-processors can handle efficiently, then convert the result back to polynomial form.
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 significantly
Solution Approach 1:
The patent makes existing co-processors universal by showing they can perform both their original large integer arithmetic functions and new polynomial multiplication functions through mathematical transformation. This multi-functionality eliminates the need for separate specialized hardware, reducing development costs and time while maintaining high polynomial multiplication efficiency.
Solution Approach 2:
The patent substitutes the physical hardware design approach with a mathematical transformation approach. Instead of redesigning the mechanical/computational structure of co-processors, it replaces the computational methodology by introducing NTT and Kronecker substitution, allowing existing hardware to perform new cryptographic operations efficiently.
3Productivity
If polynomials are mapped into smaller rings using NTT and Kronecker substitution, then computation efficiency is improved by enabling use of existing co-processors, but the computational steps and transformation overhead increase
Solution Approach 1:
The patent segments the polynomial multiplication process into distinct transformation stages: forward NTT transformation, integer multiplication in transformed domain, inverse NTT transformation, and Kronecker substitution. This segmentation allows each stage to be optimized independently and enables the use of existing hardware for the integer multiplication stage while managing the transformation overhead systematically.
Data Source
AI summary
Various embodiments relate to a method for multiplying a first and a second polynomial in a ring q [X]/(Xn+1) where q is a positive integer. The method comprising: mapping the first polynomial into k smaller third polynomials over k smaller rings based upon primitive roots of unity, where k is a positive integer; mapping the second polynomial into k smaller fourth polynomials over the k smaller rings based upon primitive roots of unity; applying an isomorphism to the k third polynomials resulting in k fifth polynomials; applying the isomorphism to the k fourth polynomials resulting in k sixth polynomials; applying a Kronecker substitution on the k fifth polynomials and the k sixth polynomials and perform the multiplication of the k fifth polynomials and the k sixth polynomials to produce a multiplication result; applying an inverse of the isomorphism to the multiplication result to obtain the multiplication of the first polynomial and the second polynomial; and mapping the k inverted polynomials to a single polynomial in the ring.

