Montgomery Multiplier Pre-compute Circuit for RSA Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Montgomery multiplication algorithms require repetitive operations and a final modulo correction step, which is computationally expensive and vulnerable to security breaches, especially when dealing with large operands in RSA cryptosystems.
Innovation Solution
A Montgomery multiplication apparatus (MMA) and Integrated Montgomery Calculation Engine (IMCE) are introduced, featuring a pre-compute circuit that computes a Montgomery pre-compute value through iterative bit-wise operations, and a Montgomery multiplication circuit that performs Montgomery reduction operations using this value, eliminating the need for a final modulo correction step by using operands with two additional bits to prevent overflow and enhance security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional Montgomery multiplication algorithms are used with final modulo correction, then computational accuracy is maintained, but computational load increases and security vulnerabilities arise
Solution Approach 1:
The patent extracts and eliminates the final modulo correction step from the Montgomery multiplication algorithm. By using operands with two additional bits and designing the pre-compute circuit and multiplication circuit to work together, the final correction operation is removed entirely, reducing computational load while maintaining accuracy through the extended bit representation
Solution Approach 2:
The patent applies preliminary action by extending the operand bits by two positions before multiplication begins. This pre-computation of extended bit representation allows the multiplication to proceed without requiring final modulo correction, as the extended bits prevent overflow and eliminate the need for post-processing correction
2Measurement precision
If repetitive operations and final modulo correction are performed, then correct results are obtained, but execution time increases
Solution Approach 1:
The patent removes the time-consuming final modulo correction operation from the algorithm. The pre-compute circuit generates values that, when used in the multiplication circuit with extended bits, directly produce correct results without requiring additional correction steps, thereby reducing execution time while maintaining precision
Solution Approach 2:
The patent changes the parameter representation by using two additional bits in the operand representation. This parameter change transforms the computation to work in an extended space where the final correction is unnecessary, reducing execution time while preserving result accuracy through the modified bit representation
3Device complexity
If standard Montgomery multiplication is used, then algorithm simplicity is maintained, but security against breaches is reduced
Solution Approach 1:
The patent applies preliminary action by extending operands with two additional bits before multiplication. This pre-computation step enhances security by preventing overflow attacks and ensuring that intermediate values remain within safe bounds, while the overall algorithm structure remains relatively simple and close to the original Montgomery approach
4Measurement precision
If final modulo correction step is performed, then computational correctness is ensured, but computational expense increases
Solution Approach 1:
The patent extracts and eliminates the expensive final modulo correction step. By using the pre-compute circuit to generate appropriate values and the multiplication circuit to operate with extended bits, correct results are obtained directly without the energy-intensive correction operation, reducing computational expense while maintaining correctness
Data Source
AI summary
A Montgomery multiplication apparatus (MMA), for multiplying two multiplicands modulo a predefined number, includes a pre-compute circuit and a Montgomery multiplication circuit. The pre-compute circuit is configured to compute a Montgomery pre-compute value by performing a series of iterations. In a given iteration, the pre-compute circuit is configured to modify one or more intermediate values by performing bit-wise operations on the intermediate values calculated in a preceding iteration. The Montgomery multiplication circuit is configured to multiply the two multiplicands, modulo the predefined number, by performing a plurality of Montgomery reduction operations using the Montgomery pre-compute value computed by the pre-compute circuit.


