Loop Equalization in Arithmetic Logic Units for Cryptography
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic computing systems face inefficiencies in performing multiplication operations, particularly in modular arithmetic, which are crucial for public-key cryptography, due to the high computational cost of division operations and resource constraints on low-bit microprocessors.
Innovation Solution
The implementation of an efficient squaring algorithm with loop equalization, which optimizes the multiplication process by ensuring inner loops are of equal length, allowing for seamless integration with Montgomery reduction, thereby reducing the number of load operations and enhancing hardware efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional multiplication algorithms are used in cryptographic computing, then the multiplication operations can be performed, but the computational cost is high due to division operations and resource constraints on low-bit microprocessors
Solution Approach 1:
The patent transforms the multiplication problem into a squaring problem by changing the parameter representation. By expressing the multiplier in a specific form and using the identity a×b = ((a+b)² - (a-b)²)/4, the algorithm converts general multiplication into repeated squaring operations, which are computationally cheaper and avoid expensive division operations required in conventional modular multiplication algorithms
Solution Approach 2:
The patent extracts and eliminates the expensive division operation from the computational process. By using Montgomery reduction and representing numbers in a specialized form, the algorithm removes the need for division operations entirely, replacing them with cheaper shift and add operations that are more efficient on resource-constrained devices
2Ease of manufacture
If inner loops of unequal length are used in squaring algorithms, then the algorithm can be simpler to implement, but the integration with Montgomery reduction is not seamless and requires additional handling
Solution Approach 1:
The patent intentionally introduces asymmetry in the loop structure by padding shorter loops to match the length of the longest loop. This creates a uniform loop structure that enables seamless integration with Montgomery reduction, sacrificing some algorithmic simplicity for the benefit of hardware efficiency and integration compatibility
Solution Approach 2:
The patent segments the squaring operation into multiple equal-length inner loops, each handling a specific portion of the computation. This segmentation allows each loop to be optimized independently and integrated systematically with Montgomery reduction steps, improving both implementability and hardware efficiency
3Productivity
If unequal length inner loops are used in squaring operations, then fewer load operations are required, but hardware efficiency is reduced
Solution Approach 1:
The patent dynamically adjusts the loop structure to balance between the number of load operations and hardware efficiency. By making all inner loops equal in length, the algorithm creates a predictable, regular execution pattern that optimizes hardware resource utilization and enables better pipeline utilization in arithmetic logic units, while the overall efficiency is maintained through the mathematical optimizations in the squaring approach
Data Source
AI summary
Aspects of the present disclosure describe a method and a system to support execution of the method to perform a cryptographic operation involving identifying an N-word number, X=XN−1 . . . X1Xo, to be squared, performing a first loop comprising M first loop iterations, wherein M is a largest integer not exceeding (N+1)/2, each of the M first loop iterations comprising a second loop that comprises a plurality of second loop iterations, wherein an iteration m of the second loop that is within an iteration j of the first loop comprises computing a product Xa*Xb of a word Xa and a word Xb, wherein a+b=2j+m, j≥0 and m≥0, and wherein all second loops have an equal number of second loop iterations.


