Cryptographic Accelerator Montgomery Modular Multiplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cryptographic accelerators face inefficiencies due to the computational intensity of modular multiplication operations in public-key cryptography, particularly in modular arithmetic, which are slow and complex, necessitating an optimization to reduce complexity and improve performance.
Innovation Solution
The cryptographic accelerator employs the Montgomery Modular multiplication technique and a configuration with multiple processing elements that process data-word portions of operands before they are fully loaded, allowing for unreduced modular multiplication results bounded by twice the modulus, thereby reducing the need for intermediate reductions and optimizing hardware complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional modular multiplication operations are used in public-key cryptography, then security is maintained, but processing speed is slow and hardware complexity increases
Solution Approach 1:
The patent segments the modular multiplication operation into multiple parallel processing elements that each handle portions of the computation. This divides the complex operation into smaller, manageable units that can be processed simultaneously, reducing overall computation time while maintaining security requirements.
Solution Approach 2:
The patent changes the parameter representation by using unreduced modular multiplication results bounded by twice the modulus instead of traditional reduced results. This parameter change eliminates the need for intermediate reduction operations, simplifying the hardware architecture and improving processing speed while maintaining cryptographic security.
2Productivity
If intermediate reductions are performed during modular multiplication, then accuracy is maintained, but processing time increases and hardware complexity increases
Solution Approach 1:
The patent extracts the final reduction operation from the intermediate computation steps. By removing intermediate reduction operations and performing only a single final reduction, the system eliminates unnecessary computation time and hardware complexity while maintaining the accuracy and security of the modular multiplication result.
Solution Approach 2:
The patent enables continuous computation by allowing processing elements to work continuously on unreduced results without interruption for intermediate reductions. This continuous action maintains productivity while reducing total computation time, as the computation flows uninterrupted through the processing elements.
3Speed
If processing elements wait for complete operand loading before processing, then accuracy is ensured, but processing speed decreases
Solution Approach 1:
The patent implements preliminary action by allowing processing elements to begin processing as soon as sufficient operand data is available, rather than waiting for complete loading. This preliminary processing maintains accuracy through proper handling of partial data while significantly improving processing speed by eliminating idle waiting time.
Solution Approach 2:
The patent introduces dynamics by making the processing start condition flexible rather than static. Processing elements dynamically begin computation when readiness criteria are met, adapting to the actual data loading pace. This dynamic approach maintains computational reliability while optimizing processing speed through reduced idle time.
Data Source
AI summary
A cryptographic accelerator performs various modular arithmetic operations producing unreduced results bounded by the double of the modulus (i.e.: 2*M). In doing so, various processing elements of an ALU of the cryptographic accelerator can begin to process respective data word portions of a modular arithmetic operations before the entirety of one or more operands are loaded. Similarly, various processing elements may begin to store their respective data word portions of a modular arithmetic result before the entirety of the result is calculated.


