Negative Inverse Modulus Calculation for Montgomery Multiplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High radix Montgomery modular multiplication in public key encryption systems, such as RSA and elliptic curve algorithms, faces challenges in efficiently calculating the negative inverse of a modulus, which is crucial for high-speed modular operations, especially with large key sizes like 2,048 bits, due to the complexity of determining quotients and the exponential increase in memory requirements for pre-calculated tables.
Innovation Solution
A method to quickly calculate the negative inverse of a modulus by dividing the modulus into groups and sequentially calculating the negative inverses from the least significant bit to the most significant bit, using a process that involves setting a modulus, converting it to a negative number, and subtracting 1 to efficiently compute the inverse, thereby reducing memory requirements and operational complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the radix is increased to improve operation speed in Montgomery modular multiplication, then the operation speed increases, but the process of determining quotient becomes complicated and memory requirements increase exponentially
Solution Approach 1:
The patent divides the modulus M into multiple groups (L groups) of smaller moduli. Instead of directly computing the negative inverse of the large modulus M, the method computes negative inverses of smaller modulus groups sequentially from LSB to MSB. This segmentation reduces the complexity of quotient determination while maintaining high radix multiplication efficiency.
Solution Approach 2:
The patent transforms the single large modulus problem into a multi-dimensional solution by organizing moduli into groups across different bit positions (LSB to MSB). The negative inverse is computed group-by-group rather than as a single operation, effectively adding a dimensional aspect to the computation process that reduces complexity.
2Speed
If the radix is increased to improve operation speed, then the operation speed increases, but memory requirements increase exponentially due to pre-calculated tables
Solution Approach 1:
By segmenting the large modulus into smaller groups, the patent reduces the memory requirements for pre-calculated tables. Each group requires a separate but smaller pre-computation table, and the total memory usage is the sum of these smaller tables rather than one large table for the entire modulus.
Solution Approach 2:
The patent performs preliminary computation of negative inverses for each modulus group sequentially before the actual Montgomery multiplication. This preliminary action breaks down the large pre-computation task into smaller, manageable steps that require less memory at any given time.
3Reliability
If key size is increased to improve security in public key encryption, then security strength increases, but encoding and decoding times increase
Solution Approach 1:
The patent changes the computational parameters by using high radix Montgomery multiplication with segmented moduli. This parameter change allows the system to handle larger key sizes more efficiently, reducing the time penalty associated with increased security requirements.
Solution Approach 2:
The segmentation of modulus into groups enables parallel and sequential processing of larger key sizes without proportionally increasing the time complexity, thus maintaining security while reducing encoding and decoding times.
4Measurement precision
If conventional methods are used to calculate negative inverse of large modulus, then accuracy is maintained, but operational time increases
Solution Approach 1:
The patent maintains calculation accuracy by systematically computing negative inverses of modulus groups in sequence from LSB to MSB, ensuring that each group's contribution to the final result is accurately determined without loss of precision.
Solution Approach 2:
By performing preliminary computation of negative inverses for each group before the main multiplication operation, the patent reduces the operational time of the overall process while maintaining the accuracy of the final result.
Data Source
AI summary
Provided is a method of calculating a negative inverse of a modulus, wherein the negative inverse, which is an essential element in Montgomery multiplication, is quickly obtained. The method includes setting a modulus, defining P obtained by converting the modulus to a negative number, and defining S obtained by subtracting 1 from P, and calculating a negative inverse of the modulus by using P and S.


