Modular Exponentiation Using Pre-stored Reverse Instructions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional modular exponentiation methods used in cryptography, such as RSA, require a large number of computational operations, leading to perceptible delays in encrypting and decrypting data, while maintaining low memory requirements is a challenge due to the need for unconstrained iterations in exponentiation calculations.
Innovation Solution
A method that generates an integer representation of data text using a sequence of intermediate numbers, where each is based on two or fewer earlier numbers, with pre-stored instructions allowing for reduced computational operations and low memory usage, by deriving and executing instructions in a reverse-chronological order, utilizing only two memory elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If conventional square-and-multiply modular exponentiation is used, then memory requirements are low (only two memory elements needed), but computational time is long resulting in perceptible delays
Solution Approach 1:
The patent pre-computes and stores a lookup table of pre-stored instructions that map to specific computational operations. During exponentiation, these pre-prepared instructions are retrieved and executed in reverse-chronological order, eliminating the need for real-time computation of intermediate values and reducing overall computational time while maintaining low memory usage during execution
Solution Approach 2:
The exponentiation process is divided into discrete computational steps represented by pre-stored instructions. Each instruction corresponds to a specific operation on intermediate numbers, allowing the complex exponentiation to be broken down into manageable segments that can be executed efficiently in reverse order, reducing total computational operations required
2Speed
If unconstrained iterations are employed to increase speed, then computational time is reduced, but memory requirements become prohibitively large
Solution Approach 1:
The patent pre-computes the sequence of intermediate numbers and their corresponding operations and stores them as pre-stored instructions in a compact format. During execution, these pre-prepared instructions are retrieved and executed in reverse-chronological order, achieving high speed while requiring only two memory elements for the actual computation, avoiding the need to store all intermediate values simultaneously
Solution Approach 2:
Instead of computing intermediate numbers in chronological order and storing them for later use, the patent computes and stores instructions in reverse-chronological order. The execution process then follows the reverse of the natural computation sequence, allowing fast computation without requiring large memory storage for intermediate results
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In the field of cryptography there is a need to reduce the time taken to cryptographically transform data text while maintaining the low memory requirements associated with conventional square-and-multiply modular exponentiation. A method of cryptographically transforming data text c comprises the step of generating an integer representation m of the data text c according to m=cd where d is a predetermined exponent. The step of generating the integer representation m includes generating a sequence of intermediate numbers, each intermediate number being based on two or fewer earlier numbers in the sequence. Generating a sequence of intermediate numbers includes retrieving a pre-stored instruction to determine which two or fewer earlier numbers in the sequence a given intermediate number is based on and the functional manipulation of the or each earlier number required to generate the given intermediate number.