Polynomial Multiplication via Ring Mapping for Post-Quantum Cryptography
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 it costly and time-consuming to develop new hardware for efficient computations.
Innovation Solution
A method for multiplying polynomials in the ring [X]/(XN−1) by mapping them into [X]/(XN/2−1) and [X]/(XN/2+1) rings, using Renes multiplication and recursive splitting to reduce the size of multiplications, allowing existing co-processors to efficiently perform polynomial multiplications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If existing RSA or ECC co-processors are used for polynomial multiplication, then hardware reuse is maintained, but computational efficiency and speed deteriorate
Solution Approach 1:
The polynomial multiplication is segmented into multiple smaller multiplications through recursive splitting. The polynomial is divided into two halves, and the multiplication is broken down into four smaller multiplications of polynomials with half the degree, which can be efficiently performed by existing co-processors designed for smaller integer multiplications.
Solution Approach 2:
The problem is transformed from polynomial multiplication in ring Rq[X]/(X^N-1) to integer multiplication in a different mathematical space. By mapping polynomials to integers through evaluation at specific points and using the Chinese Remainder Theorem, the solution leverages existing integer multiplication hardware in a new dimensional context.
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 invention makes existing RSA/ECC co-processors universal by enabling them to perform polynomial multiplications required for lattice-based cryptography. Through mathematical transformation and recursive splitting, the same hardware can serve both traditional public-key cryptography and post-quantum cryptography, eliminating the need for dedicated new hardware.
Solution Approach 2:
The invention changes the parameters of the computational problem by transforming polynomial multiplication into a series of integer multiplications with different size parameters. By adjusting the splitting depth and mapping parameters, existing hardware with fixed word sizes can handle variable-size polynomial multiplications efficiently.
3Device complexity
If polynomial multiplication is performed directly without transformation, then algorithm simplicity is maintained, but computational complexity increases
Solution Approach 1:
The invention introduces intermediary mathematical transformations (evaluation mapping, recursive splitting, and reconstruction) that act as mediators between the polynomial multiplication problem and the integer multiplication capability of existing hardware. These intermediaries enable efficient computation without requiring direct polynomial multiplication support.
Data Source
AI summary
Various embodiments relate to a method for multiplying a first and a second polynomial in the ring [X]/(XN−1) to perform a cryptographic operation in a data processing system, the method for use in a processor of the data processing system, including: receiving the first polynomial and the second polynomial by the processor; mapping the first polynomial into a third polynomial in a first ring and a fourth polynomial in a second ring using a map; mapping the second polynomial into a fifth polynomial in the first ring and a sixth polynomial in the second ring using the map; multiplying the third polynomial in the first ring with the fifth polynomial in the first ring to produce a first multiplication result; multiplying the fourth polynomial in the second ring with the sixth polynomial in the second ring to produce a second multiplication result using Renes multiplication; and combining the first multiplication result and the second multiplication result using the map.


